Update wrapper, add obstructed version
- pins are now a bit wider and extend slightly outside the core area
- added an obstructed version of the wrapper to be used for routing to
gurantee that none of the resources within the user area is taken
while top-level-routing
- the core ring is completely outside the project area as marked by the
boundary in the various views (TODO: resolve FastRoute issue with
non-zero origins)
diff --git a/openlane/user_project_wrapper/pdn.tcl b/openlane/user_project_wrapper/pdn.tcl
index 4fe8996..f6d953c 100644
--- a/openlane/user_project_wrapper/pdn.tcl
+++ b/openlane/user_project_wrapper/pdn.tcl
@@ -1,38 +1,43 @@
# Power nets
-set ::power_nets vccd1
-set ::ground_nets vssd1
-
-set ::macro_blockage_layer_list "li1 met1 met2 met3 met4 met5"
+set ::power_nets $::env(_VDD_NET_NAME)
+set ::ground_nets $::env(_GND_NET_NAME)
pdngen::specify_grid stdcell {
name grid
core_ring {
- met5 {width 2 spacing 2 core_offset 3}
- met4 {width 2 spacing 2 core_offset 3}
+ met5 {width $::env(_WIDTH) spacing $::env(_SPACING) core_offset $::env(_H_OFFSET)}
+ met4 {width $::env(_WIDTH) spacing $::env(_SPACING) core_offset $::env(_V_OFFSET)}
}
rails {
- met1 {width 0.48 pitch $::env(PLACE_SITE_HEIGHT) offset 0}
}
straps {
- met5 {width 1.6 pitch $::env(FP_PDN_HPITCH) offset $::env(FP_PDN_HOFFSET)}
+ met4 {width $::env(_WIDTH) pitch $::env(_V_PITCH) offset $::env(_V_PDN_OFFSET)}
+ met5 {width $::env(_WIDTH) pitch $::env(_H_PITCH) offset $::env(_H_PDN_OFFSET)}
}
- connect {{met1 met4} {met4 met5}}
+ connect {{met4 met5}}
}
pdngen::specify_grid macro {
- power_pins "VPWR"
- ground_pins "VGND"
- blockages "li1 met1 met2 met3 met4"
+ instance "obs_core_obs"
+ power_pins $::env(_VDD_NET_NAME)
+ ground_pins $::env(_GND_NET_NAME)
+ blockages "li1 met1 met2 met3 met4 met5"
straps {
}
- connect {{met4_PIN_ver met5}}
+ connect {}
}
-set ::halo 0
+pdngen::specify_grid macro {
+ power_pins $::env(_VDD_NET_NAME)
+ ground_pins $::env(_GND_NET_NAME)
+ blockages ""
+ straps {
+ }
+ connect {}
+}
-# Metal layer for rails on every row
-set ::rails_mlayer "met1" ;
+set ::halo 0
# POWER or GROUND #Std. cell rails starting with power or ground rails at the bottom of the core area
set ::rails_start_with "POWER" ;