Emilio Baungarten
02/17/2024, 12:24 AMMitch Bailey
02/17/2024, 1:38 AMEmilio Baungarten
02/17/2024, 2:00 AMMitch Bailey
02/17/2024, 6:56 AMMatt Venn
02/17/2024, 6:15 PMMatt Venn
02/17/2024, 6:20 PMEmilio Baungarten
02/18/2024, 3:17 PMEmilio Baungarten
02/20/2024, 6:31 PMFP_PDN_UPPER_LAYER
and FP_PDN_LOWER_LAYER
variables.
is correctly if i set those as:
set ::env(FP_PDN_UPPER_LAYER) "met5"
set ::env(FP_PDN_LOWER_LAYER) "met4"
because in the user area metal 4 and 5 are used to generate voltage and ground connectionsMitch Bailey
02/21/2024, 12:14 AMpdn_cfg.tcl
, can you share it?
Can you share your config.json
or config.tcl
also?Emilio Baungarten
02/21/2024, 12:16 AMMitch Bailey
02/21/2024, 12:42 AMFP_PDN_UPPER_LAYER
or FP_PDN_LOWER_LAYER
in your config.json file. Do these variables exist in the openlane/user_project_wrapper/runs/user_project_wrapper/config.tcl
file?Emilio Baungarten
02/21/2024, 4:27 AMpdn_cfg.tcl
file, lines 46 and 47.Mitch Bailey
02/21/2024, 4:59 AMconfig.json
file?
The error is occurring in the $OPENLANE_ROOT/scripts/openroad/pdn.tcl
file, so they need to be defined before that’s called.Emilio Baungarten
02/21/2024, 4:32 PMMitch Bailey
02/21/2024, 5:26 PMpdn_cfg.tcl
file, you’re able to complete the flow. I wouldn’t recommend that, but if your design passes device level LVS, you should be ok.
From what I can tell…
Both of those variables should already be defined in $PDK_ROOT/$PDK/libs.tech/openlane/config.tcl
.
set ::env(FP_PDN_LOWER_LAYER) met4
set ::env(FP_PDN_UPPER_LAYER) met5
I don’t think you need to override the values with the same values.
Can you grep FP_PDN openlane/user_project_wrapper/runs/user_project_wrapper/config.tcl
?Emilio Baungarten
02/21/2024, 7:47 PM$PDK_ROOT/$PDK/libs.tech/openlane/config.tcl
the variables aren't defined. (attached tcl file)
the output of the grep FP_PDN
is:
~/Desktop/Caravel_FPGA$ grep FP_PDN openlane/user_project_wrapper/runs/user_project_wrapper/config.tcl
set ::env(FP_PDN_AUTO_ADJUST) "1"
set ::env(FP_PDN_CFG) "/home/baungarten2/Desktop/Caravel_FPGA/openlane/user_project_wrapper/pdn_cfg.tcl"
set ::env(FP_PDN_CHECK_NODES) "0"
set ::env(FP_PDN_CORE_RING) "1"
set ::env(FP_PDN_CORE_RING_HOFFSET) "12.45"
set ::env(FP_PDN_CORE_RING_HSPACING) "1.7"
set ::env(FP_PDN_CORE_RING_HWIDTH) "3.1"
set ::env(FP_PDN_CORE_RING_VOFFSET) "12.45"
set ::env(FP_PDN_CORE_RING_VSPACING) "1.7"
set ::env(FP_PDN_CORE_RING_VWIDTH) "3.1"
set ::env(FP_PDN_ENABLE_GLOBAL_CONNECTIONS) "1"
set ::env(FP_PDN_ENABLE_MACROS_GRID) "1"
set ::env(FP_PDN_ENABLE_RAILS) "0"
set ::env(FP_PDN_HOFFSET) "1"
set ::env(FP_PDN_HORIZONTAL_HALO) "10"
set ::env(FP_PDN_HORIZONTAL_LAYER) "met5"
set ::env(FP_PDN_HPITCH) "30"
set ::env(FP_PDN_HSPACING) "3.1"
set ::env(FP_PDN_HWIDTH) "3.1"
set ::env(FP_PDN_IRDROP) "1"
set ::env(FP_PDN_MACRO_HOOKS) "grid.* vccd1 vssd1 vdd vss, sb.* vccd1 vssd1 vdd vss, cbx.* vccd1 vssd1 vdd vss, cby.* vccd1 vssd1 vdd vss"
set ::env(FP_PDN_RAIL_LAYER) "met1"
set ::env(FP_PDN_RAIL_OFFSET) "0"
set ::env(FP_PDN_RAIL_WIDTH) "0.48"
set ::env(FP_PDN_SKIPTRIM) "0"
set ::env(FP_PDN_VERTICAL_HALO) "10"
set ::env(FP_PDN_VERTICAL_LAYER) "met4"
set ::env(FP_PDN_VOFFSET) "1"
set ::env(FP_PDN_VPITCH) "180"
set ::env(FP_PDN_VSPACING) "15.5"
set ::env(FP_PDN_VWIDTH) "3.1"
Mitch Bailey
02/22/2024, 12:27 AMvolare ls
, otherwise cat $PDK_ROOT/$PDK/SOURCES
Emilio Baungarten
02/22/2024, 4:32 PMopen_pdks cd1748bb197f9b7af62a54507de6624e30363943
Mitch Bailey
02/23/2024, 12:59 AMpdn_cfg.tcl
. The variable names have changed.
Try comparing your modified pdn_cfg.tcl
to the current version here.