foreach j_obj [dbGet top.insts.cell.baseClass block -p2 ] {
set j_bbox [dbGet $j_obj.boxes ]
set j_llx [dbGet $j_obj.box_llx ]
set j_lly [dbGet $j_obj.box_lly ]
set j_urx [dbGet $j_obj.box_urx ]
set j_ury [dbGet $j_obj.box_ury ]
set j_llx [expr $j_llx - 30.0 ]
set j_lly [expr $j_lly - 30.0 ]
set j_urx [expr $j_urx + 30.0 ]
set j_ury [expr $j_ury + 30.0 ]
set j_llx [expr int($j_llx/4.32) * 4.32 + [dbGet top.fplan.coreBox_llx ] + 1.44 + 0.28 ]
set j_area "$j_llx $j_lly $j_urx $j_ury"
# C5
set layer "C5"
set layerNum [dbGet [dbGet -p head.layers.name $layer].num]
setAddStripeMode -partial_set_thru_domain true
setAddStripeMode -stacked_via_top_layer [expr $layerNum+1] -stacked_via_bottom_layer [expr $layerNum-1]
addStripe -nets [lreverse $j_v_pg ] -layer $layer -width 0.16 -spacing 2 -set_to_set_distance 4.32 -area $j_area \
-direction [dbGet [dbGet -p1 head.layers.name $layer].direction] \
-skip_via_on_wire_shape Noshape -skip_via_on_pin Standardcell \
-padcore_ring_top_layer_limit [expr $layerNum+1] -padcore_ring_bottom_layer_limit [expr $layerNum-1] \
-block_ring_top_layer_limit [expr $layerNum+1] -block_ring_bottom_layer_limit [expr $layerNum-1]
set j_lly [expr (int($j_lly/13.92) + 1 ) * 13.92 ]
set j_area "$j_llx $j_lly $j_urx $j_ury"
# C6
set layer "C6"
set layerNum [dbGet [dbGet -p head.layers.name $layer].num]
setAddStripeMode -partial_set_thru_domain true
setAddStripeMode -stacked_via_top_layer [expr $layerNum+1] -stacked_via_bottom_layer [expr $layerNum-1]
addStripe -nets [lreverse $j_v_pg ] -layer $layer -width 1.12 -spacing 5.84 -set_to_set_distance 13.92 -area $j_area \
-direction [dbGet [dbGet -p1 head.layers.name $layer].direction] \
-skip_via_on_wire_shape Noshape -skip_via_on_pin Standardcell \
-padcore_ring_top_layer_limit [expr $layerNum+1] -padcore_ring_bottom_layer_limit [expr $layerNum-1] \
-block_ring_top_layer_limit [expr $layerNum+1] -block_ring_bottom_layer_limit [expr $layerNum-1]
}
|