Hi, any ideas how to fix this LVS issue? (got this...
# sky130
m
Hi, any ideas how to fix this LVS issue? (got this after I hardened my design successfully but then tried to harden the project wrapper in the caravel including my design as macro)
m
@Mariam Rakka How about not adding decap, fill, and tap cells at the top level?
Copy code
"RUN_FILL_INSERTION": 0,
    "RUN_TAP_DECAP_INSERTION": 0,
m
These values are already set as such in the config.json file! so I am not sure why there is decap insertion being done by the tool…
m
Can you share you config.json file?
m
{ “DESIGN_NAME”: “user_project_wrapper”, “VERILOG_FILES”: [ “dir::../../verilog/rtl/defines.v”, “dir::../../verilog/rtl/user_project_wrapper.v” ], “ROUTING_CORES”: 2, “CLOCK_PERIOD”: 25, “CLOCK_PORT”: “user_clock2”, “CLOCK_NET”: “mariam_updown_counter.clk”, “FP_PDN_MACRO_HOOKS”: “mariam_updown_counter vccd1 vssd1 vccd1 vssd1”, “MACRO_PLACEMENT_CFG”: “dir::macro.cfg”, “MAGIC_DEF_LABELS”: 0, “VERILOG_FILES_BLACKBOX”: [ “dir::../../verilog/rtl/defines.v”, “dir::../../verilog/rtl/mariam_updown_counter.v” ], “EXTRA_LEFS”: “/home/mariam/updown_counter_openlane/openlane/mariam_updown_counter/runs/mariam_updown_counter/results/final/lef/mariam_updown_counter.lef”, “EXTRA_GDS_FILES”: “/home/mariam/updown_counter_openlane/openlane/mariam_updown_counter/runs/mariam_updown_counter/results/final/gds/mariam_updown_counter.gds”, “BASE_SDC_FILE”: “dir::base_user_project_wrapper.sdc”, “IO_SYNC”: 0, “FP_PDN_CHECK_NODES”: 0, “PL_TIME_DRIVEN”: 0, “SYNTH_ELABORATE_ONLY”: 1, “PL_RANDOM_GLB_PLACEMENT”: 1, “PL_RESIZER_DESIGN_OPTIMIZATIONS”: 0, “PL_RESIZER_TIMING_OPTIMIZATIONS”: 0, “PL_RESIZER_BUFFER_INPUT_PORTS”: 0, “FP_PDN_ENABLE_RAILS”: 0, “DIODE_INSERTION_STRATEGY”: 0, “RUN_FILL_INSERTION”: 0, “RUN_TAP_DECAP_INSERTION”: 0, “FP_PDN_VPITCH”: 180, “FP_PDN_HPITCH”: 180, “CLOCK_TREE_SYNTH”: 0, “FP_PDN_VOFFSET”: 5, “FP_PDN_HOFFSET”: 5, “MAGIC_ZEROIZE_ORIGIN”: 0, “FP_SIZING”: “absolute”, “RUN_CVC”: 0, “UNIT”: 2.4, “FP_IO_VEXTEND”: “expr::2 * $UNIT”, “FP_IO_HEXTEND”: “expr::2 * $UNIT”, “FP_IO_VLENGTH”: “expr::$UNIT”, “FP_IO_HLENGTH”: “expr::$UNIT”, “FP_IO_VTHICKNESS_MULT”: 4, “FP_IO_HTHICKNESS_MULT”: 4, “FP_PDN_CORE_RING”: 1, “FP_PDN_CORE_RING_VWIDTH”: 3.1, “FP_PDN_CORE_RING_HWIDTH”: 3.1, “FP_PDN_CORE_RING_VOFFSET”: 12.45, “FP_PDN_CORE_RING_HOFFSET”: 12.45, “FP_PDN_CORE_RING_VSPACING”: 1.7, “FP_PDN_CORE_RING_HSPACING”: 1.7, “FP_PDN_VWIDTH”: 3.1, “FP_PDN_HWIDTH”: 3.1, “FP_PDN_VSPACING”: “expr::(5 * $FP_PDN_CORE_RING_VWIDTH)“, “FP_PDN_HSPACING”: “expr::(5 * $FP_PDN_CORE_RING_HWIDTH)“, “VDD_NETS”: [ “vccd1", “vccd2”, “vdda1", “vdda2” ], “GND_NETS”: [ “vssd1”, “vssd2", “vssa1”, “vssa2" ], “SYNTH_USE_PG_PINS_DEFINES”: “USE_POWER_PINS”, “pdk::sky130*“: { “RT_MAX_LAYER”: “met4", “DIE_AREA”: “0 0 2920 3520", “FP_DEF_TEMPLATE”: “dir::fixed_dont_change/user_project_wrapper.def”, “scl:sky130 fd sc hd” { “CLOCK_PERIOD”: 25 }, “scl:sky130 fd sc hdll” { “CLOCK_PERIOD”: 10 }, “scl:sky130 fd sc hs” { “CLOCK_PERIOD”: 8 }, “scl:sky130 fd sc ls” { “CLOCK_PERIOD”: 10, “SYNTH_MAX_FANOUT”: 5 }, “scl:sky130 fd sc ms” { “CLOCK_PERIOD”: 10 } }, “pdk:gf180mcuC” { “STD_CELL_LIBRARY”: “gf180mcu_fd_sc_mcu7t5v0", “FP_PDN_CHECK_NODES”: 0, “FP_PDN_ENABLE_RAILS”: 0, “RT_MAX_LAYER”: “Metal4", “DIE_AREA”: “0 0 3000 3000", “FP_DEF_TEMPLATE”: “dir::fixed_dont_change/user_project_wrapper_gf180mcu.def”, “PL_OPENPHYSYN_OPTIMIZATIONS”: 0, “DIODE_INSERTION_STRATEGY”: 0, “MAGIC_WRITE_FULL_LEF”: 0 } }
m
The config file looks good as far as I can tell. Can you share your repo?
I am cloning the runs but they need time…
All configs are included here now in the link I share
m
It works for me.
OpenLane a35b64aa200c91e9eb7dde56db787d6b4c0ea12a
open_pdks e5f9c8876da77220403014b116761b0b2d79aab4
I did make the following changes, though. You probably don’t want absolute paths in the config files.
Copy code
"EXTRA_LEFS":
        "dir::../../lef/mariam_updown_counter.lef",
    "EXTRA_GDS_FILES":
        "dir::../../gds/mariam_updown_counter.gds",
I just ran
Copy code
make mariam_updown_counter
make user_project_wrapper
m
Can you point to the links/repos us used to install those versions bcz I followed the documentation tutorial and I got the version that show in my github repository..
m
Running
make mariam_updown_counter
should automatically create
lef/mariam_updown_counter.lef
and
gds/mariam_updown_counter.gds
. If you’re referring to the json syntax, that may be newer than the documentation tutorial. What tutorial are you using?
m
I meant the openlane and pdk versions, as I used the tutorial documentation in this link to carry out the hardening: https://github.com/efabless/caravel_user_project/blob/main/docs/source/index.rst#section-quickstart
m
I believe that the openlane and open_pdks versions are specified in
caravel_user_project/Makefile
. Make sure you have a recent copy and run
make setup
. (Be sure to define
OPENLANE_ROOT
and
PDK_ROOT
and
PDK
first).
m
I thought that I figured out what the issue was. i was using the template from https://github.com/efabless/caravel_user_project/generate and I used this template around 1 month ago, and today I just noticed they have an update on the makefile introducing the LVS fix (jeffdi Merge pull request #260 from efabless/lvs_integration )! 3a71fab · 2 weeks ago History History) It was not part of the MakeFile when I first used the template. I user the newer MakeFile to make setup but I still got same error in LVS… I tried changing the commit version of pdk but I suppose I need to update all remaining info in the screenshot below Any ideas what to put?
Screen Shot 2023-06-29 at 1.38.03 PM.png
m
The
lvs_integration
merge adds functionality to the precheck but shouldn’t change anything in openlane. Running
make setup
should reset the pdk and openlane, but shouldn’t change any of your design data. I’d make a backup copy of your design directory just to be safe, though.
m
Alright I was able to resolve the lvs error by using new caravel directory and make pdk make openlane
I get a successful flow as shown below
But I do get these slew violations, is there a parameter to change in config file to deal with those?
m
Sorry, don’t have experience with slew violations. You could ask again in the #openlane channel.
m
Okay thank you!