I've been able to improve the litho simulation of ...
# sky130
m
I've been able to improve the litho simulation of the SRAM cells. My initial results were not actually aerial intensity and resist. They were actually just an smoothing of the mask from one of their papers. This is actually modeling the light and resist of the dual port bitcell:
❤️ 3
m
Could you summarize the process to produce these results?
m
Not right now!
m
No rush, just interested
I agree it is pretty cool!
m
Eventually, I will. I'm still getting some unexpected results. The layout with OPC is worse than the layout without OPC, for one!
The mirroring is wrong on that one too. It assumes that the same cell is tiled like that, but in reality, it is flipped in X and Y each row/column
This one is with the single port bitcell with surrounding cells to get rid of that problem. I've also played with the focus and dose to see how it affects the printing. This shows the mask, aerial image, resist exposed and an "error plot" of the difference between the resist and mask.
I see almost no difference between the two focuses
sky130_bitcell_array_opc_poly_f-50_d1.png
m
how long does it take to generate a result like that?
m
A few seconds since it is pretty small
If I had a bigger array, it ran out of memory during the SVD computation
I think that the pyfftw library uses some multithreading. I see ~12 threads fire up. I was suspecting that might be related to the memory usage, but I just shrunk the example instead. (And those likely shared the same memory image)
The biggest challenge was getting the scale right. The original GDS parser ignored the gds scaling. Then there is a "pixelization" step in the litho tool. Together, I think there was a bug in the original code where sizes were actually off 10x...
a
@User That looks great. Which tool you use for doing Lithography simulation?
m
@User Dimmiolitho with plenty of patches
❤️ 1
💯 1
a
Thanks @User
💯 1
Could you please share a link?
m
https://github.com/mguthaus/DimmiLitho But not all the changes are there yet
a
@User Does that simulate the proper lighting?
m
@User what do you mean "proper"?
a
I mean we don't know which lighting system is used by skywaters in there Litho process
Wavelength and configuration
I would assume it's 192 nm
But for the configuration I don't know
@User Any chance you could push the updates to a public repo?
m
That is all configurable. I'm not sure about some of the parameters for the resist and lens for example. Yes, it's 192nm.
I'll push when it's working. It's in flux right now.
a
Thanks @User
m
That repo is public already
a
No but I mean your changes. Yours looks nicer
m
ah, yeah. I had to write a new top-level script. DimmiLitho is more of a set of tools for inverse lithography but we're just using the simulation stuff
a
Do we also know if Skywaters apply OPC or any kind of RET ?
m
I also had to write a script to use the add/drop OPC layers from Skywater
It's already in the SRAM cells
a
Nice
Thanks Dr. @User
We might need to apply that for all other designs to improve yield
Not just SRAM
m
We don't have bit masks though so the ILT approach doesn't work. There would need to be some other way of generating the OPC