Routing ECO Changes
When you are ready to close the opens that remain after ECO changes, use one of the following methods to close the opens.
ECO Router
The ECO router will identify nets with opens and complete routing on those nets according to the design rules. This is the preferred method for finishing ECO routing. Various techniques are used, depending on the length of the guides that represent the opens. For information on the command arguments, refer to eco_route.
Point-to-Point Router
The point-to-point router can quickly close opens without disturbing surrounding nets. When used with an ECO command sequence, the routing can be undone.
To use the point-to-point router to close opens in the design, use one of the following methods,
-
Select the guides interactively then run the point-to-point router using:
p2p_route -set [get_selection_set] -show_failures
-
Select all guides and use the point-to-point router using this script:
# make only guides active, make all other layers and objects inactive set_active -lpp [get_layers] -active false set_active -lpp { "user_guides" "guides" "instance:boundary" "instance:label"\ "term:label" annotations:violations" "annotations:dimensions" \ "annotations:others" "highlights:HL1" "grids:routing" "grids:manufacturing" \ "grids:placement" "grids:snap" "grids:axis"} -active false set_active -lpp guides -active true view_layer -lpp guides -visible true # set routing granularity to shapes or vias set_active -object {"net" "route" "connected_shapes"} -active false # select all guides (only things active) select_all set num_guides [set_count -set [get_selection_set]] if {$num_guides !=0} { p2p_route -set [get_selection_set] -show_failures }
The point-to-point router is not ideal for longer guides. Care should be taken to exclude longer and non-ECO guides.
Detail Router
The detail router is useful for closing opens for a larger number of nets and the work can be undone when used with an ECO command sequence. Unlike the point-to-point router, there is a increased chance that the detail router will cause disruptions to surrounding nets because the detail router can rip up areas to allow difficult routes to converge. The entire top cell will be operated on If you do not select and specify the guides.
To use the detail router to close all opens in the design, use the following script:
# make only guides active, make all other layers and objects inactive
set_active -lpp [get_layers] -active false
set_active -lpp { "user_guides" "guides" "instance:boundary" "instance:label"\
"term:label" annotations:violations" "annotations:dimensions" \
"annotations:others" "highlights:HL1" "grids:routing" "grids:manufacturing" \
"grids:placement" "grids:snap" "grids:axis"} -active false
set_active -lpp guides -active true
view_layer -lpp guides -visible true
# set routing granularity to shapes or vias set_active -object {"net" "route" "connected_shapes"} -active false # select all guides (only guides are active) select_all detail_route -set [get_selection_set]
To route longer guides, use the complete router flow for quicker processing.
global_route -mode eco -set [get_selection_set]
croute
detail_route -mode eco -set [get_selection_set]
Global Router
The global router can be used to automatically connect the ECO changes made using an ECO command sequence. If the global router has not been used in the session, it must be initialized before starting an ECO command sequence using:
global_route -mode init
When eco_begin is run, the global router will activate its design observers which will watch all netlist changes and add the affected nets to a list of nets to route. The routing changes are made using:
global_route -mode eco
The detail router must also be run to change the global routes to wire:detail.
Search and Repair
In addition to using the detail router to close the opens, the search and repair method runs the checker to search for same net and different net spacing violations, and attempts to repair the violations that are found. The entire top cell will be operated on if you do not select and specify the guides.
To use the search and repair method to close all opens in the design, use the following commands:
# make only guides active, make all other layers and objects inactive
set_active -lpp [get_layers] -active false
set_active -lpp { "user_guides" "guides" "instance:boundary" "instance:label"\
"term:label" annotations:violations" "annotations:dimensions" \
"annotations:others" "highlights:HL1" "grids:routing" "grids:manufacturing" \
"grids:placement" "grids:snap" "grids:axis"} -active false
set_active -lpp guides -active true
view_layer -lpp guides -visible true
# set routing granularity to shapes or vias set_active -object {"net" "route" "connected_shapes"} -active false # select all guides (only guides are active) select_all search_and_repair -set [get_selection_set]
Related Topics
Return to top