Its causing trouble later on because we have defin...
# openlane
e
Its causing trouble later on because we have defined all 8 nets in "VDD_NETS" and "GND_NETS" in the config.json so openlane falls down at Step 34 (IR drop) with this error:
m
Do you have this line in your
config.json
file? (See
openlane/user_project_wrapper/config.json
for an example that includes all 8 power pins).
Copy code
"SYNTH_USE_PG_PINS_DEFINES": "USE_POWER_PINS",
e
I didn't have it in there, but including it doesn't seem to make a difference - PDN still only makes vccd1 and vssd1 at Step 6. I have even tried commenting them out in the verilog altogether, but they are both still made! Its like its got a pre-defined setting somewhere to make those 2 nets only, and I don't know where that might be?
image.png
Our config for TOP_digital is a bit of a mess, its been hashed together from various examples and user_project_wrapper, so maybe there's something in here which is causing this? (any feedback on unnecessary config settings which we can delete is also welcome!!)
config.json
m
Just some suggestions. No experience with what would work. 1. Does the
verilog/gl/TOP_digital.v
file have all the power/ground nets defined? 2. Have you tried adding a power ring? The unconnected power/ground nets may be automatically deleted. Here’s an example from
user_project_wrapper
.
Copy code
"FP_PDN_CORE_RING"                : "1",
    "FP_PDN_CORE_RING_HOFFSET"        : "14",
    "FP_PDN_CORE_RING_HSPACING"       : "1.7",
    "FP_PDN_CORE_RING_HWIDTH"         : "3.1",
    "FP_PDN_CORE_RING_VOFFSET"        : "14",
    "FP_PDN_CORE_RING_VSPACING"       : "1.7",
    "FP_PDN_CORE_RING_VWIDTH"         : "3.1",
e
Thank you @Mitch Bailey, will look into those suggestions this week :)
Found the issue I think - we had these set in the config:
Copy code
"DESIGN_IS_CORE": "0",
"RT_MAX_LAYER": "met4",
Which I think tells Openlane not to create a power ring or use Met5, and it was presumably defaulting to just one digital pair of power nets no matter what the verilog said
👍 1
This would make sense and is actually fine for the TOP_digital module. We will be combining it with a "`TOP_analog`" module into the final
TOP_mixed
design.
TOP_mixed
will need the whole 8-pin PDN and so presumably we will set "DESIGN_IS_CORE" to "1" ?