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/SOURCESEmilio Baungarten
02/22/2024, 4:32 PMopen_pdks cd1748bb197f9b7af62a54507de6624e30363943Mitch 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.