Perform substitution on the PDN config side
- This is easier than having the tool perform the substitution
diff --git a/sky130/openlane/common_pdn.tcl b/sky130/openlane/common_pdn.tcl
index bbbf7f5..93c2e23 100644
--- a/sky130/openlane/common_pdn.tcl
+++ b/sky130/openlane/common_pdn.tcl
@@ -81,11 +81,11 @@
}
}
-pdngen::specify_grid stdcell $stdcell
+pdngen::specify_grid stdcell [subst $stdcell]
# A general macro that follows the premise of the set heirarchy. You may want to modify this or add other macro configs
# TODO: generate automatically per instance:
-pdngen::specify_grid macro {
+set macro {
orient {R0 R180 MX MY R90 R270 MXR90 MYR90}
power_pins $::env(VDD_NET)
ground_pins $::env(GND_NET)
@@ -95,6 +95,8 @@
connect {{$::env(FP_PDN_LOWER_LAYER)_PIN_ver $::env(FP_PDN_UPPER_LAYER)}}
}
+pdngen::specify_grid macro [subst $macro]
+
set ::halo [expr min($::env(FP_HORIZONTAL_HALO), $::env(FP_VERTICAL_HALO))]
# POWER or GROUND #Std. cell rails starting with power or ground rails at the bottom of the core area