Guild icon
wafer.space Community
Information / general
Welcome to wafer.space - documentation at wafer.space github - buy at buy.wafer.space - archives at discord.wafer.space
Between 04/30/2025 23:59 and 06/01/2025 00:00
Avatar
Tim 'mithro' Ansell 05/03/2025 17:52
Hi everyone! The logo I've ended up going with is the following (edited)
17:52
✨ 4
🚀 3
⛵ 1
Avatar
Tim 'mithro' Ansell 05/12/2025 03:12
BTW I've started putting together a list of projects and stuff I'm thinking about putting in empty slots on the first shuttle run
Avatar
algofoogle (Anton Maurovic) 05/13/2025 05:31
I’m trying to think of wacky ideas… maybe some sort of die that is actually a micro-probe array for testing other dice, flip-chip-bed-of-nails? I wonder if there’s any way you could make a “squishy” interposer to put between such a die and the thing you want to probe
Avatar
how are things going @Tim 'mithro' Ansell ?
Avatar
Tim 'mithro' Ansell 05/15/2025 14:31
Slowly getting there with everything
👍 1
Avatar
Tim 'mithro' Ansell 05/15/2025 14:56
@Matt Venn - It's been fun to actually get closer to the metal then I have been for a while
Avatar
Tim 'mithro' Ansell 05/15/2025 15:11
@Matt Venn - Figuring out what the limits are has been interesting, specially things like this table ->
Avatar
What are you trying to compare with that table 🤔
16:01
It's the number of 3 input AND cells you can put in the same area as an SRAM ... But I'm not sure how that metric is helpful ? (edited)
Avatar
Tim 'mithro' Ansell 05/15/2025 16:09
@tnt - Number of latches (IE 1 bit of storage) to SRAM
Avatar
Where did you find a latch in the gf180 standard cell library ? I didn't see one at first glance.
Avatar
Tim 'mithro' Ansell 05/15/2025 16:10
@tnt -
Avatar
Oh, I see, they don't have the same naming scheme.
16:12
I was looking for dlxxx for latches but it's named latq
Avatar
Tim 'mithro' Ansell 05/15/2025 16:12
16:13
@tnt - Dammit, that was an oversight, seems like they should have been dlxxx
16:13
@tnt - I was looking at how to do a compact standard cell based "programmable" mux
16:13
I2 I3 I1 I0 Z S1 S0 Latch A Latch B Latch D Latch C MUX4 Q I2 I3 Q Q Q I1 I0 Z S1 S0 D E D E D E D E Latch A Latch B Latch D Latch C MUX4 Q Q D E D E D Q D Q Q E E Programming Data Shift Register Path Programming Data Clock Path Programming Data to Mux Path Latch A BUFZ Latch A BUFZ Latch A BUFZ ...
16:14
gf180mcu_fd_sc_mcu7t5v0__mux4_4 -- 21.28 um gf180mcu_fd_sc_mcu7t5v0__latq_1 -- 11.20 um (edited)
16:16
Then I discovered the bufz_4 is also 11.20um in size
Avatar
Not sure what you mean exactly by "programmable mux" TBH.
Avatar
Tim 'mithro' Ansell 05/15/2025 16:19
A mux where the input choice is controlled by a storage element
Avatar
Ok. So like a FPGA LUT cell basically.
16:20
But your diagram seem to show a serial configuraiton like a shift register ... and you can only do that with actul register (i.e. FFs), you can't make a shift register with latches, that just doesn't work.
Avatar
Tim 'mithro' Ansell 05/15/2025 16:20
Oh, yeah - I guess you are right
16:25
@tnt - Actually, if you had two enables then it should work, right?
Avatar
No. Two consecutive latches will always have the same output.
16:26
Basically two latches with non overlapping enable is one flip-flop ...
Avatar
Tim 'mithro' Ansell 05/15/2025 16:32
@tnt - If you have Enable A and Enable B, then every "even numbered latch" in the chain is connected to Enable A and ever "old numbered" latch in the chain is connected to Enable B, then you should be able to pulse Enable A, then Enable B, right?
Avatar
Say you pulse Enable A ... all A latches now hold the value of the B latches before them. Whatever value they used to hold is now gone. So you only have N/2 distinct values in the chain.
Avatar
Tim 'mithro' Ansell 05/15/2025 16:39
Ahh, yeah
16:40
Having the alternative enables does prevent hold violations between the elements if they where flipflops
16:43
What is it that the AI's always say when you point out that there stuff is borked? 😛
16:50
2 * gf180mcu_fd_sc_mcu7t5v0__dffq_1 ~= 1 * gf180mcu_fd_sc_mcu7t5v0__mux4_1 + 1 * gf180mcu_fd_sc_mcu7t5v0__inv_8
16:54
I also have yet to understand if the routing I'm drawing is even possible on the technology
16:58
Sadly the numbers don't line up as well....
17:01
Stupid reality screwing up nice theory 🙂
Avatar
Tim 'mithro' Ansell 05/15/2025 17:11
Avatar
Tim 'mithro' Ansell 05/15/2025 17:26
I wonder how the drive strength effects timing and stuff
17:31
I assume that a higher drive strength cell also puts more load on the cell driving it?
17:32
@tnt - I do have your talk with Matt Venn on the Tiny Tapeout multiplexer stuff on my to watch list
Avatar
Usually large size buffer like _8 / _12 / _16 will have a progressive build up internally. Like the first stage will be a single transitor inverter, then driving a 4 transistor one then drivingthe final 16 one for instance.
Avatar
And 2 clock for FFs is a horrible idea. It doesn't help for hold violations, on the contrary, it's a sure way to have more issues ... (edited)
Avatar
Tim 'mithro' Ansell 05/15/2025 23:16
@tnt - I found these diagrams from a long while back. I think it actually connected back to the N/2 distinct values on the chain issue you pointed out with the latches -- Tim Edwards explained something about how flip flops are kinda of built internally with two latches with one enable driven by an inverted clock signal so both latches are never "open/passing data" at the same time. Somehow I've forgotten all the correct details and am super fuzzy on what I'm trying to say here.
Avatar
Tim 'mithro' Ansell 05/16/2025 01:19
Ahh ha
Avatar
Yes, if you construct the FFs "manually" using 2 latches, then using two non-overlapping clocks you can make things safer ... assuming you generate those two non overlapping clocks correcly.
Avatar
I'm missing how this relates to an mpw service, can someone explain?
Avatar
Tim 'mithro' Ansell 05/17/2025 17:51
@Matt Venn - The discussion started at "Figuring out what the limits are has been interesting"
👍 1
17:54
@Matt Venn - All comes back to trying to make sure that I can run the MPW even if not fully full.
👍 1
Avatar
what does "not full" mean?
Avatar
as in if only 50% of the project slots are sold (edited)
Avatar
other than money, what would prevent doing a run?
16:33
does more mask detail cost more?
16:35
I would expect blank slots could be filled in with something, like lets make a bunch of similar tests to see how well they line up with simulations
Avatar
If it were me, just the money. How long can I go before I'm broke
16:39
And yes blank slots can be filled, but high quality projects are rare and take a lot of work
Avatar
k - that all fits with what I figured.
16:42
sounds like we should have a bunch of filler projects so the space doesn't go to waste
Avatar
Avatar
carlfk
sounds like we should have a bunch of filler projects so the space doesn't go to waste
Tim 'mithro' Ansell 05/26/2025 02:35
wafer.space GF180MCU Projects Single Usage Tiles Programmable Tiles One Time Programmable
Avatar
how about: power rail popper. a set of decreasing width traces? to see how much power they can really handle compared to what the simulator says
👍 1
Avatar
algofoogle (Anton Maurovic) 05/27/2025 04:09
I always wanted to try a project like that… a way to test all the things that could go wrong. DRC violations (so long as they don’t violate MR), wrong voltages going to a bunch of devices, chips that could self-destruct (charge pumps?), ESD-unprotected stuff… what else?
Avatar
Tim 'mithro' Ansell 05/29/2025 01:08
@algofoogle (Anton Maurovic) - https://github.com/egorxe/gf180_efuse_compiler
eFuse memory compiler for GF180MCU. Contribute to egorxe/gf180_efuse_compiler development by creating an account on GitHub.
Avatar
Avatar
Tim 'mithro' Ansell
@algofoogle (Anton Maurovic) - https://github.com/egorxe/gf180_efuse_compiler
algofoogle (Anton Maurovic) 05/29/2025 01:45
Oh that’s interesting. Thanks Tim 🙂 I wonder how reliable the array was on GFMPW0/1. Efabless was always worried about how to produce a safe/reliable eFuse solution for Sky130. I remember fears about things either not popping, or doing so too violently (rupturing laminations or leading to shorts elsewhere)
Avatar
Tim 'mithro' Ansell 05/29/2025 01:46
I'm sending an email to enquire about the status
01:46
I don't think it ended up being taped out because the efuses require an extra mask layer or something
Avatar
ᵖʳᵒᵖᵖʸ 05/29/2025 06:00
Looking good guys, keep up the fantastic work!
06:00
Avatar
Avatar
algofoogle (Anton Maurovic)
Oh that’s interesting. Thanks Tim 🙂 I wonder how reliable the array was on GFMPW0/1. Efabless was always worried about how to produce a safe/reliable eFuse solution for Sky130. I remember fears about things either not popping, or doing so too violently (rupturing laminations or leading to shorts elsewhere)
Tim 'mithro' Ansell 05/29/2025 21:49
From the developer of the Efuse Compiler: Here is a history of this Efuse compiler: 1. Originally the compiler was made in haste for the GFMPW-0 run. My chip with a 9 kBit Efuse block was accepted by Efabless, but unfortunately there was no full chip LVS available in Efabless tapeout flow at the time. So I've missed a critical flaw in this chip - VDD & GND stripes in Efuse blocks were not connected to top level power stripes. The only missing thing were vias connecting stripes on Metal5 to stripes on Metal4. 2. After discovering the power issue I thought there would be no hope to verify the Efuse block in this chip so when the chips arrived I tested mostly other parts of the chip. Efuse was dead as expected, but Caravel and some of my digital test structures worked flawlessly with VDD in range from 3 to 8 Volts which amazed me. GF180MCU seems to be a really robust process :). 3. For the GFMPW-1 I've submitted a chip with fixed power connections problem and introduced several small improvements in Efuse macro, but my chip was not selected for the run. 4. As missing top metal vias was the only thing standing between my curiosity and testing Efuse on GFMPW-0 chips, I thought that maybe it's possible to create vias on finished chips somehow. Some time ago I've got a contact of guys from chip testing industry from a friend, and they agreed to create a couple of vias for me. 5. After chip decap and vias creation on two of Efuse subblocks these subblocks miraculously just worked. I had no single write (one time obviously) or read error on all efuse bytes that were powered during several days I've tested this chip. 6. As I thought that accessible GF180 runs would never happen again I kinda lost the motivation in improving the compiler, but now if there is such a possibility I would like to make it useful.
Avatar
Avatar
Tim 'mithro' Ansell
From the developer of the Efuse Compiler: Here is a history of this Efuse compiler: 1. Originally the compiler was made in haste for the GFMPW-0 run. My chip with a 9 kBit Efuse block was accepted by Efabless, but unfortunately there was no full chip LVS available in Efabless tapeout flow at the time. So I've missed a critical flaw in this chip - VDD & GND stripes in Efuse blocks were not connected to top level power stripes. The only missing thing were vias connecting stripes on Metal5 to stripes on Metal4. 2. After discovering the power issue I thought there would be no hope to verify the Efuse block in this chip so when the chips arrived I tested mostly other parts of the chip. Efuse was dead as expected, but Caravel and some of my digital test structures worked flawlessly with VDD in range from 3 to 8 Volts which amazed me. GF180MCU seems to be a really robust process :). 3. For the GFMPW-1 I've submitted a chip with fixed power connections problem and introduced several small improvements in Efuse macro, but my chip was not selected for the run. 4. As missing top metal vias was the only thing standing between my curiosity and testing Efuse on GFMPW-0 chips, I thought that maybe it's possible to create vias on finished chips somehow. Some time ago I've got a contact of guys from chip testing industry from a friend, and they agreed to create a couple of vias for me. 5. After chip decap and vias creation on two of Efuse subblocks these subblocks miraculously just worked. I had no single write (one time obviously) or read error on all efuse bytes that were powered during several days I've tested this chip. 6. As I thought that accessible GF180 runs would never happen again I kinda lost the motivation in improving the compiler, but now if there is such a possibility I would like to make it useful.
Tim 'mithro' Ansell 05/29/2025 21:49
@digshadow
21:56
@digshadow - Should I ask the guy to send us some spare parts for you to look at / play with? (BTW Feel to respond to this next week after your conference.)
👍 1
Avatar
Yes, I don't really want to think about this right now, but in general I'm up for a lab day next week if you want to image some things
Avatar
Avatar
Tim 'mithro' Ansell
From the developer of the Efuse Compiler: Here is a history of this Efuse compiler: 1. Originally the compiler was made in haste for the GFMPW-0 run. My chip with a 9 kBit Efuse block was accepted by Efabless, but unfortunately there was no full chip LVS available in Efabless tapeout flow at the time. So I've missed a critical flaw in this chip - VDD & GND stripes in Efuse blocks were not connected to top level power stripes. The only missing thing were vias connecting stripes on Metal5 to stripes on Metal4. 2. After discovering the power issue I thought there would be no hope to verify the Efuse block in this chip so when the chips arrived I tested mostly other parts of the chip. Efuse was dead as expected, but Caravel and some of my digital test structures worked flawlessly with VDD in range from 3 to 8 Volts which amazed me. GF180MCU seems to be a really robust process :). 3. For the GFMPW-1 I've submitted a chip with fixed power connections problem and introduced several small improvements in Efuse macro, but my chip was not selected for the run. 4. As missing top metal vias was the only thing standing between my curiosity and testing Efuse on GFMPW-0 chips, I thought that maybe it's possible to create vias on finished chips somehow. Some time ago I've got a contact of guys from chip testing industry from a friend, and they agreed to create a couple of vias for me. 5. After chip decap and vias creation on two of Efuse subblocks these subblocks miraculously just worked. I had no single write (one time obviously) or read error on all efuse bytes that were powered during several days I've tested this chip. 6. As I thought that accessible GF180 runs would never happen again I kinda lost the motivation in improving the compiler, but now if there is such a possibility I would like to make it useful.
algofoogle (Anton Maurovic) 05/30/2025 00:45
Very cool 🙂 thanks for following up
Avatar
Tim 'mithro' Ansell 05/31/2025 02:09
I started documenting my understanding around the GF's 180nm process technologies @ https://bit.ly/ws-gf180
GlobalFoundries 180nm Technologies bit.ly/ws-gf180 GlobalFoundries offers a wide range of different 180nm based technologies. These 180nm technologies are very configurable and offer; Multiple options in the number of metal layers. Different thickness for the top metal layer. A large number of "...
Exported 79 message(s)
Timezone: UTC+0