LVS ERRORS
# general
r
Hello everyone, I ran into LVS errors when running
make lvs
on the
gcd
design using
sky130hd
platform. Steps to replicate: 1- Install ORFS using docker. 2- Uncomment
DESIGN_CONFIG=./designs/sky130hd/gcd/config.mk
in /flow/Makefile 3- Run
make
4- Run
make lvs
Errors:
Copy code
ERROR: In /OpenROAD-flow-scripts/flow/platforms/sky130hd/lvs/sky130hd.lylvs: Pin count mismatch between circuit definition and circuit call: 6 expected, got 7 in /OpenROAD-flow-scripts/flow/objects/sky130hd/gcd/base/6_final_concat.cdl, line 11755 in Netlist::read
ERROR: Pin count mismatch between circuit definition and circuit call: 6 expected, got 7 in /OpenROAD-flow-scripts/flow/objects/sky130hd/gcd/base/6_final_concat.cdl, line 11755 in Netlist::read in Executable::execute
This issue seems old but still not solved, right? https://github.com/The-OpenROAD-Project/OpenROAD/issues/1146 Is there a workaround to do LVS? I have tried deleting stuff causing the errors from the .cdl file
flow/objects/sky130hd/gcd/base/6_final_concat.cdl
and I'm left with an LVS error: netlist mismatch. lvs-issue-with-gcd.png
a
This looks like OpenROAD-Flow-Scripts with sky130 gcd + KLayout LVS. If so, I'm not sure that KLayout LVS was actually ever configured properly for this process. It remains an open item to do so.
๐Ÿ‘ 1
r
Yup, that's the correct process. Do I just take the output GDS for granted or is there a way to do LVS?
a
I looked at it once upon a time but didn't have time to complete it. I think that it requires some tweaking of the rule deck to get it to extract correctly. You might try lvs on a standard cell (e.g. a NAND gate) to see if it matches and try to debug from there.
r
Aha, thank you. Is ORFS (platform bring-up) the correct guide for such thing?
a
I'm not sure there's any guide specifically for LVS :/ I think you might just need to consult the KLayout docs and do a bit of trial and error. For what it's worth, I think OpenLane uses Magic for LVS and they have it working.
๐Ÿ‘ 1
m
Ramy, there is a LVS flow that uses gds and verilog/spice netlists. You can find it here along with some other checks. Let me know if you encounter problems.
๐Ÿ‘ 1
r
thanks a lot I'll check it out.