====== Create Route Guide Around Macro ====== proc gdh_create_macro_side_route_guide {} { set all_macros [all_macro_cells] set n 0 set route_guide_prefix macro_side_route_guide_ remove_route_guide ${route_guide_prefix}* foreach_in_collection m $all_macros { set bbox [get_attribute $m bbox] set llx [ lindex $bbox 0 0 ] set lly [ lindex $bbox 0 1 ] set trx [ lindex $bbox 1 0 ] set try [ lindex $bbox 1 1 ] set route_guide_bbox_left "[expr $llx-5] $lly $llx $try" set route_guide_bbox_right "$trx $lly [expr $trx + 5] $try" create_route_guide \ -coordinate $route_guide_bbox_left \ -no_preroute_layers {M5 M6} \ -name macro_side_route_guide_${n}_left create_route_guide \ -coordinate $route_guide_bbox_right \ -no_preroute_layers {M5 M6} \ -name macro_side_route_guide_${n}_right echo [ join [list $bbox $llx $lly $trx $try] ", " ] incr n #break } }