define_proc_arguments addSupplyAboveMacro_byStripeMode \
-info "Strengthen the power supply." \
-define_args {
{-extension_distance "Sets the maximum extension distance between stripes to nearby stripes;Recommend value: 10." "value" int required}
{-xoffset "The distance to left_frame;Recommend value: 10." "value" float required}
}
proc addSupplyAboveMacro_byStripeMode {args} {
parse_proc_arguments -args $args results
set extension_distance $results(-extension_distance)
set xoffsetNum $results(-xoffset)
# set xoffsetNum 10
set PGPairInPeriod 5
set M5_track 0.14
# ==============================================================================
setAddStripeMode -reset ;
setAddStripeMode \
-stacked_via_bottom_layer M4 \
-stacked_via_top_layer M6 \
-orthogonal_only true \
-remove_floating_stripe_over_block false \
-extend_to_closest_target same_dir_stripe \
-max_extension_distance $extension_distance
addStripe -nets {VSS VDD} \
-over_physical_pins 0 \
-over_pins 0 \
-pin_width {4.5 4.5} \
-all_blocks 1 \
-layer M5 \
-direction vertical \
-width [expr 3*$M5_track + 0.03] \
-spacing [expr 2*$M5_track + 0.03] \
-set_to_set_distance [expr 80*$M5_track/$PGPairInPeriod] \
-start_from left -start [expr $xoffsetNum*$M5_track - 0.045];# -stop $core_uy ; #-over_power_domain 1
puts "=============================================================================="
puts "The Power Supply Enhancement Above On Macros Has Been Completed."
}