Update PDN config to fix unpowered macro
diff --git a/openlane/user_project_wrapper/gen_pdn.tcl b/openlane/user_project_wrapper/gen_pdn.tcl
index df1cb09..0be6fd3 100644
--- a/openlane/user_project_wrapper/gen_pdn.tcl
+++ b/openlane/user_project_wrapper/gen_pdn.tcl
@@ -1,6 +1,7 @@
read_lef $::env(MERGED_LEF_UNPADDED)
read_def $::env(CURRENT_DEF)
+# Should be 1.6?
set ::env(_SPACING) 1.7
set ::env(_WIDTH) 3
@@ -8,6 +9,7 @@
set ::env(_VDD_NET_NAME) vccd1
set ::env(_GND_NET_NAME) vssd1
+
set ::env(_V_OFFSET) 14
set ::env(_H_OFFSET) $::env(_V_OFFSET)
set ::env(_V_PITCH) 180
@@ -15,6 +17,9 @@
set ::env(_V_PDN_OFFSET) 0
set ::env(_H_PDN_OFFSET) 0
+# From Slack PDN chat:
+set ::env(CONNECT_GRIDS) 1
+
foreach domain $power_domains {
set ::env(_VDD_NET_NAME) [lindex $domain 0]
set ::env(_GND_NET_NAME) [lindex $domain 1]
diff --git a/openlane/user_project_wrapper/interactive.tcl b/openlane/user_project_wrapper/interactive.tcl
index 046b889..d6e7e59 100644
--- a/openlane/user_project_wrapper/interactive.tcl
+++ b/openlane/user_project_wrapper/interactive.tcl
@@ -23,6 +23,10 @@
global_routing_or
detailed_routing
+# Required to get the .powered.lvs.v:
+write_powered_verilog -power vccd1 -ground vssd1
+set_netlist $::env(lvs_result_file_tag).powered.v
+
run_magic
run_magic_spice_export
@@ -30,6 +34,7 @@
-def_path $::env(tritonRoute_result_file_tag).def \
-gds_path $::env(magic_result_file_tag).gds \
-mag_path $::env(magic_result_file_tag).mag \
+ -verilog_path $::env(CURRENT_NETLIST) \
-save_path $save_path \
-tag $::env(RUN_TAG)
diff --git a/openlane/user_project_wrapper/pdn.tcl b/openlane/user_project_wrapper/pdn.tcl
index 2cf5247..8b2cb73 100644
--- a/openlane/user_project_wrapper/pdn.tcl
+++ b/openlane/user_project_wrapper/pdn.tcl
@@ -28,6 +28,27 @@
connect {}
}
+# See Slack PDN chat:
+if { $::env(CONNECT_GRIDS) } {
+ pdngen::specify_grid macro {
+ power_pins "VPWR"
+ ground_pins "VGND"
+ blockages "met4"
+ straps {
+ }
+ connect {{met4_PIN_ver met5}}
+ }
+} else {
+ pdngen::specify_grid macro {
+ power_pins "VPWR"
+ ground_pins "VGND"
+ blockages "met4"
+ straps {
+ }
+ connect {}
+ }
+}
+
pdngen::specify_grid macro {
power_pins $::env(_VDD_NET_NAME)
ground_pins $::env(_GND_NET_NAME)