<@U017X0NM2E7> Hey Mitch, I am working with <@U016...
# design-review
t
@User Hey Mitch, I am working with @User on some designs. We are using the OpenFASOC flow for gds generation. When we tried simulating the pex netlist generated by magic, the netlist had incorrect power/ground/bulk connections. Do you know how to resolve this? Thanks For example, on line 180-181, the VPWR VGND VNB and VPB are not connected correctly.
This is a tar ball for our flow directory. LVS says that the netlists don't match. The lvs script is located at https://github.com/idea-fasoc/OpenFASOC/blob/main/common/drc-lvs-check/run_lvspex.sh
m
@User 1. Looking at your gds, there are only pins/labels for EBL and OUT. You'll probably want to label your power nets. For LVS, I'd recommend using a hierarchical version of the netlist.
Copy code
# generate lvs netlist using magic
magic -rcfile $COMMON_VERIF_DIR/sky130A/sky130A.magicrc -noconsole -dnull << EOF
gds read $1
load $2
extract all
ext2spice lvs
ext2spice -o $2_lvsmag.spice
flatten -nolabels $2_flat
load $2_flat
extract all
ext2spice lvs
ext2spice cthresh 0
ext2spice -o $2_pex.spice
exit
EOF

# run lvs check using netgen
# netgen lvs $2_lvsmag.spice $2.spice $COMMON_VERIF_DIR/sky130A/sky130A_setup.tcl $3 -full
# Run netgen in batch mode
netgen -batch lvs $2_lvsmag.spice $2.spice $COMMON_VERIF_DIR/sky130A/sky130A_setup.tcl $3 -full
t
@User Thanks, I will try to add VPWR and VGND into the layout before extraction and ext2spice. For using the hierarchical version of the netlist, are you referring to avoiding calling flatten on the design? Thanks!
m
Yes, extract hierarchical netlist before flattening. After flattening extract parasitic netlist.
t
Got it!