@@ -169,7 +169,9 @@ sta::define_cmd_args "define_pdn_grid" {[-name <name>] \
169169 [-obstructions <list_of_layers>] \
170170 [-power_switch_cell <name>] \
171171 [-power_control <signal_name>] \
172- [-power_control_network (STAR|DAISY)]
172+ [-power_control_network (STAR|DAISY)] \
173+ [-connect_to_pads] \
174+ [-connect_to_pad_layers layers]
173175} ;# checker off
174176
175177proc define_pdn_grid { args } {
@@ -502,7 +504,7 @@ proc add_pdn_ring { args } {
502504 if { [info exists flags(-connect_to_pads)] } {
503505 if { ![info exists keys(-connect_to_pad_layers)] } {
504506 foreach layer [[ord::get_db_tech] getLayers] {
505- if { [$layer getType] == " ROUTING " } {
507+ if { [$layer getRoutingLevel] > 0 } {
506508 lappend connect_to_pad_layers $layer
507509 }
508510 }
@@ -840,8 +842,8 @@ proc deprecated { args_var key { use "." } } {
840842proc define_pdn_grid { args } {
841843 sta::parse_key_args " define_pdn_grid" args \
842844 keys {-name -voltage_domains -pins -starts_with -obstructions -power_switch_cell \
843- -power_control -power_control_network} \
844- flags {} ;# checker off
845+ -power_control -power_control_network -connect_to_pad_layers } \
846+ flags {-connect_to_pads } ;# checker off
845847
846848 sta::check_argc_eq0 " define_pdn_grid" $args
847849 pdn::check_design_state " define_pdn_grid"
@@ -900,6 +902,21 @@ proc define_pdn_grid { args } {
900902 set power_control_network $keys(-power_control_network)
901903 }
902904
905+ set connect_to_pad_layers {}
906+ if { [info exists flags(-connect_to_pads)] } {
907+ if { ![info exists keys(-connect_to_pad_layers)] } {
908+ foreach layer [[ord::get_db_tech] getLayers] {
909+ if { [$layer getRoutingLevel] > 0 } {
910+ lappend connect_to_pad_layers $layer
911+ }
912+ }
913+ } else {
914+ foreach layer $keys(-connect_to_pad_layers) {
915+ lappend connect_to_pad_layers [get_layer $layer ]
916+ }
917+ }
918+ }
919+
903920 foreach domain $domains {
904921 pdn::make_core_grid \
905922 $domain \
@@ -909,7 +926,8 @@ proc define_pdn_grid { args } {
909926 $obstructions \
910927 $power_cell \
911928 $power_control \
912- $power_control_network
929+ $power_control_network \
930+ $connect_to_pad_layers
913931 }
914932}
915933
0 commit comments