maybe you cannot run `size` on an empty layer?
# ihp-sg13g2
d
maybe you cannot run
size
on an empty layer?
k
@tnt
t
The design definitely has plenty of GatPoly ...
d
can you share the gds?
I think you ran out of memory ...
t
Sure let me post it.
I managed to fill Metal2 - Metal5 ( disabled Metal1 in the script ) and also TopMetal1-2.
But the other run out of memory (using 64G RAM)
Some way to (1) enable multi threading and (2) reduce memory usage would be nice ... because it's been running for 1h40 min trying to fill
ActGatP
....
Ah well it died again, after 2h10m and this is on a machine with 240G of RAM ...
โœ… 1
d
Yes, this is just an early version. Ideally we use the Klayout's TilingProcessor which should run with multiple cores on smaller areas
โœ… 1
u
What can we do to move this forward?
โœ… 1
t
After filling I still get violations :
Copy code
M2.j: 1
M2Fil.h: 1
M3Fil.h: 1
M4Fil.h: 1
FWIW, after much much hacking on the DRC script Fill script we finally managed to generate valid fills ...
a
Did you add new rules or changed existing ones?
t
Both.
I changed the size of the base fill squares and then added a second smaller rectangle fill oriented in the routing direction. I also add to increase the base margin because else it would generate fill too close to the "wide" metals where the distance rule is bigger AFAICT.
( That's for M2 - M5 ). For GatPoly / M1 we had to use a completely different process.
a
Ah ok, so you've changed the filler script. Did you also change the DRC script?
t
Ah no, the DRC script the only thing I did was make a stripped version that only checks the density I was failing so I could run it faster. I also had to add a M3fil.b rule since it wasn't present and calibre was reporting some error I needed to fix.
๐Ÿ‘ 1
(Oh yeah, sorry, I just realized where the confusion came from, I wrote "DRC script" above, my bad !)
I meant "Fill script" ...
a
No problem ๐Ÿ™‚