Hello, I'm not sure if this is a bug in netgen or ...
# magic
j
Hello, I'm not sure if this is a bug in netgen or if I am just misunderstanding something fundamental, but I have some cells with no active devices. These cells contain nodes that are floating within the cell, but connected to power or ground at a different level of hierarchy. In the layout I can trace the net to the power rail, and I see the net shape physically connected to power/ground. The extraction seems reasonable, but netgen creates a new net for the "floating" net in the reference netlist that remains unconnected. wlstrap/not_floating is an example of this. This worked in a previous version of magic/netgen. Do I need to just add pins on these and then explicitly connect them in the reference netlist despite the subcircuit for these cells being empty? The lvs report, run script, and layout is attached.
m
I've had some success with flattening cells that have mismatching pins before extraction using
flatglob
. Commercial tools may do this automatically, but magic isn't there yet. Doesn't work if you have
gds readonly
set.
Copy code
gds flatglob cell1_*
gds flatglob cell2_*

# list cells to be flattened
puts "Flattening [gds flatglob]"
gds flatten yes
gds read <gds_file>

load <top> -dereference
extract do local
extract unique
extract
t
Most likely using
flatglob *wlstrap*
before doing extraction in Magic would help things. Or using Mitch's special netgen version that refuses to create proxy pins, which I wanted to merge into the netgen code base as an option (hint, hint, Mitch).
This looks like the exact situation that Mitch's modified netgen code was trying to solve.
j
where can I find this special netgen version? I've tried flatglobing the wlstraps already.
m
https://github.com/d-m-bailey/netgen/tree/pin_match But it's 15 commits behind the current master.
๐Ÿ‘ 1
j
Thanks
v
with latest netgen i also having LVS issue: https://github.com/The-OpenROAD-Project/OpenLane/issues/1313
j
Using Mitch's netgen fork I still see proxy pins
m
What does
netgen -batch
return as a version number?
j
1.5.215 which I think corresponds to your version
The log also has the same version so I know it's not using the wrong one (I have multiple on my system)
m
Should be 1.5.215-P1 or something like that. Are you compiling the
pin_match
branch?
j
ah my bad I was on master of your fork
I'll try on that branch, thanks!
๐Ÿ‘ 1
awesome looks like it fixed most of the problems
๐Ÿ‘ 1
t
@Mitch Bailey: Can you make a pull request from that? I'll probably merge it by hand, but that will give me all the file differences, which will be helpful.
m
Yes, I'll do that in the morning.