Product Documentation
Virtuoso Space-based Router Command Reference
Product Version IC23.1, September 2023

global_route

global_route 
[ -all | -net s_netName | -region {f_xlo f_ylo f_xhi f_yhi} | -set d_setObj ] 
[ -exclude_net {s_netName...} ] 
[ -exclude_set d_setObj ] 
[ -exclude_type {[power][ground][clock]} ] 
[ -passes i_limit ] 
[ -start_pass i_number ] 
[ -pin_access_check ] 
[ -mode {full | incremental | ECO | steiner | floorplan | auto | searchAndRepair | steinerECO | optimize | init | bus} ] 
[ -threads i_threads ] 

Description

Global routes the active design, replacing all opens with global routes and rerouting input global routes to reduce congestion.

Arguments

-all  

Global routes the nets in the active window. This is the default.

-exclude_net {s_netName …}

Prevents listed nets from being processed. This argument is ignored if -net is given. By default, no nets are ignored.

-exclude_set d_setObj

Prevents nets in the given set from being processed. This argument is ignored if -net is given. By default, no nets are ignored.

-exclude_type {[power][ground][clock]}

Prevents nets of the given type from being processed. This argument is ignored if -net is given. By default, no nets are ignored.

-mode {Full | Incremental | ECO | Steiner | Floorplan | Auto | searchAndRepair | steinerECO | optimize | init | bus}

Specifies the global routing mode.

auto

Automatically determines the global routing mode. This is the default mode. If global route has not been run in the session, Full mode is invoked. If the global router has been run in the session, Incremental mode is used.

bus

Routes only buses and causes congestion analysis to choose the size of the gcell grid from the input buses. This mode is automatically run by bus_route.

ECO

Routes the modified nets and congested neighbors. Modified nets are given by the -set or -net option.

floorplan

Assumes that the input design is from a floorplanner, and the core cells can overlap. Runs full mode, and modifies other arguments to produce reasonable results.

full

Global routes all nets, starting with the start_pass, and proceeding through all of the global routing passes. Input global routes, if given, are used to seed the locations of the routes, but not the congestion. The default start_pass in full mode is 1.

incremental

Global routes all nets, starting with the pass following the last completed global routing pass. The input design is expected to be routed. The input global routes seed the initial congestion values and the locations of the routes.

init

Re initializes the global router when Space-based Router and Chip Optimizer is restarted. No routing is performed. Rebuilds the gcell grid and initializes all of the data structures. Particularly useful in an ECO flow.

optimize

Removes hooks by replacing them with guides, then routing the guides.

searchAndRepair

Looks for congested areas, lowers the congestion targets in those areas, then re-routes the affected nets. Can be called successively. Each pass of searchAndRepair will use a lower congestion threshold to determine what a congested area is, and will set a lower congestion target.

steiner

Creates the shortest possible interconnection, also known as steiner routes. Can be used to seed the full global router.

steinerECO

Creates the shortest possible interconnection for modified nets given by the -set or -net option.

-net s_netName  

Global routes the given net.

-passes i_limit

Limits the number of passes that the global router can attempt.

-pin_access_check

Causes the global router to examine all pins to ensure that they are accessible and to determine how they can be reasonably accessed. If this argument is not given, all standard cell pins are given “up” access only.

-region {f_xlo f_ylo f_xhi f_yhi}

Global routes only in the area given by the lower-left (f_xlo f_ylo) and upper-right (f_xhi f_yhi) coordinates.

-set d_setObj  

Global routes the items in the set. If an item is a net, the entire net will be routed. If an item is not a net, the route corresponding to that item will be global routed.

-start_pass i_number

Specifies the starting pass number for the global router. Defaults to 1 if mode is full.

-threads i_threads

Specifies the number of threads or processors to use in parallel to run this command. By default, if multi-threading has been enabled (enable_multithreading), the session threads are used, otherwise, one processor is used.

Examples

The following command global routes the entire design.

global_route

Here is an example of information that is output to the Transcript area when the global_route command is invoked. Congestion analysis is run at the start and end of each pass. The initial congestion analysis divides the design into square gcells, determines the resources available for each gcell, and outputs a congestion summary.

Begin congestion analysis...
Tracks per gcell = 20 Average track pitch = 1.000 Master Unit = 1000
Initializing gcell pattern...
Initializing layer stack...
End initializing layer stack cpu:0.0sec user:0.0 16.6meg
Gcell pattern loaded: cpu:0.0sec user:0.0sec 16.6meg
Adding gcells...
Gcell grid constructed: cpu:0.0sec user:0.0sec 16.7meg
Chip assembly design (based on internal analysis)
Begin gcell analysis...
End gcell analysis: cpu:0.0sec user:0.0sec 16.8meg
Begin update routing congestion...
End update routing congestion: cpu:0.0sec user:0.0sec 16.8meg
Gcell summary
  Layer/type  #Gcell  #Overcon %Overcon <10% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Blk%
---------------------------------------------------------------------------------------
metal1:cell 65 0 ( 0.00%) 98 0 1 0 0 0 0 0 0 0 0 0
metal1:edge 87 0 ( 0.00%) 97 0 0 1 0 0 0 1 0 0 0 0
metal2:cell 65 0 ( 0.00%) 98 0 1 0 0 0 0 0 0 0 0 0
metal2:edge 87 0 ( 0.00%) 97 0 0 1 0 0 0 1 0 0 0 0
metal2:down-via 65 0 ( 0.00%)
---------------------------------------------------------------------------------------
End congestion analysis
full routing...
Begin global router initialization...
End global router initialization
Begin global route...
# = LAYER DETAILS
========================================================================================
| | | Total | Horizontal | Vertical | Guide | Down Vias |
| Layer |Dir| Length | Detail | Global | Detail | Global | Length | Total | Guide|
|--------------------------------------------------------------------------------------|
| metal1 | V | 2466.85 | 0.00 | 0.00 | 0.00 | 0.00 | 2466.85 | 0 | 0 |
| metal2 | H | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0 | 0 |
|--------------------------------------------------------------------------------------|
| Totals | | 2466.85 | 0.00 | 0.00 | 0.00 | 0.00 | 2466.85 | 0 | 0 |
| Percent| | 100.00 | 0.00 | 0.00 | 0.00 | 0.00 | 100.00 | | |
========================================================================================

The first routing summary gives the guide lengths and the total lengths from the preroutes. Here, there is no global routing length.

   Begin 1st global routing pass....
End 1st global routing pass: cpu:0.0sec user:0.0sec 17.6meg
Gcell summary
Layer/type #Gcell #Overcon %Overcon <10% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Blk%
---------------------------------------------------------------------------------------
metal1:cell 65 5 ( 7.69%) 9 6 1 9 3 3 3 23 13 20 0 0
metal1:edge 87 7 ( 8.05%) 34 8 1 8 0 0 0 16 12 11 0 0
metal2:cell 65 1 ( 1.54%) 9 10 12 15 4 6 1 15 15 7 0 0
metal2:edge 87 4 ( 4.60%) 32 10 14 10 0 1 0 14 11 0 0 0
metal2:down-via 65 0 ( 0.00%)
---------------------------------------------------------------------------------------
# = LAYER DETAILS ======================================================================================== |   | | Total | Horizontal | Vertical | Guide | Down Vias |
| Layer |Dir| Length | Detail | Global | Detail | Global | Length | Total | Guide|
|--------------------------------------------------------------------------------------|
| metal1 | V | 6513.09 | 0.00 | 956.22 | 0.00 | 5556.87 | 0.00 | 0 | 0 |
| metal2 | H | 5184.12 | 0.00 | 3787.76 | 0.00 | 1396.36 | 0.00 | 100 | 0 |
|--------------------------------------------------------------------------------------|
| Totals | | 11697.21 | 0.00 | 4743.98 | 0.00 | 6953.23 | 0.00 | 100 | 0 |
| Percent| | 100.00 | 0.00 | 40.56 | 0.00 | 59.44 | 0.00 | | |
========================================================================================

The congestion summary shows some overcongestion that must be resolved in succeeding routing passes. Here, all guide length is gone, replaced by global routes.

   Begin 2nd global routing pass....
End 2nd global routing pass: cpu:0.0sec user:0.0sec 17.6meg
Layer/type #Gcell #Overcon %Overcon <10% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Blk%
----------------------------------------------------------------------------------------
metal1:cell 65 4 ( 6.15%) 6 7 3 9 3 3 6 21 26 7 0 0
metal1:edge 87 2 ( 2.30%) 33 6 3 6 0 1 3 17 12 12 0 0
metal2:cell 65 1 ( 1.54%) 6 4 18 24 6 6 1 9 20 1 0 0
metal2:edge 87 0 ( 0.00%) 31 6 13 18 3 0 1 9 11 4 0 0
metal2:down-via 65 0 ( 0.00%)
--------------------------------------------------------------------------------

# = LAYER DETAILS
========================================================================================
| | | Total | Horizontal | Vertical | Guide | Down Vias |
| Layer |Dir| Length | Detail | Global | Detail | Global | Length | Total | Guide|
|--------------------------------------------------------------------------------------|
| metal1 | V | 6410.71 | 0.00 | 1076.22 | 0.00 | 5334.49 | 0.00 | 0 | 0 |
| metal2 | H | 5224.18 | 0.00 | 3605.44 | 0.00 | 1618.74 | 0.00 | 112 | 0 |
|--------------------------------------------------------------------------------------|
| Totals | | 11634.89 | 0.00 | 4681.66 | 0.00 | 6953.23 | 0.00 | 112 | 0 |
| Percent| | 100.00 | 0.00 | 40.24 | 0.00 | 59.76 | 0.00 | | |
=========================================================================================
   Begin 3rd global routing pass....
End 3rd global routing pass: cpu:0.0sec user:0.0sec 17.6meg
Gcell summary
Layer/type #Gcell #Overcon %Overcon <10% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Blk%
----------------------------------------------------------------------------------------
metal1:cell 65 2 ( 3.08%) 6 7 3 7 3 3 10 26 21 7 0 0
metal1:edge 87 0 ( 0.00%) 33 5 4 6 0 1 6 16 12 12 0 0
metal2:cell 65 1 ( 1.54%) 9 6 15 20 7 6 1 10 20 1 0 0
metal2:edge 87 0 ( 0.00%) 33 4 12 18 0 4 0 10 11 4 0 0
metal2:down-via 65 0 ( 0.00%)
----------------------------------------------------------------------------------------

# = LAYER DETAILS
========================================================================================
| | | Total | Horizontal | Vertical | Guide | Down Vias |
| Layer |Dir| Length | Detail | Global | Detail | Global | Length | Total | Guide|
|--------------------------------------------------------------------------------------|
| metal1 | V | 6265.75 | 0.00 | 1068.38 | 0.00 | 5197.37 | 0.00 | 0 | 0 |
| metal2 | H | 5298.82 | 0.00 | 3542.96 | 0.00 | 1755.86 | 0.00 | 104 | 0 |
|--------------------------------------------------------------------------------------|
| Totals | | 11564.57 | 0.00 | 4611.34 | 0.00 | 6953.23 | 0.00 | 104 | 0 |
| Percent| | 100.00 | 0.00 | 39.87 | 0.00 | 60.13 | 0.00 | | |
=========================================================================================
   Begin 4th global routing pass....
End 4th global routing pass: cpu:0.0sec user:0.0sec 17.6meg
Gcell summary
Layer/type #Gcell #Overcon %Overcon <10% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Blk%
----------------------------------------------------------------------------------------
metal1:cell 65 1 ( 1.54%) 6 7 3 7 3 3 7 26 27 6 0 0
metal1:edge 87 0 ( 0.00%) 32 6 4 6 0 1 3 19 14 10 0 0
metal2:cell 65 1 ( 1.54%) 9 4 15 24 7 3 1 10 21 0 0 0
metal2:edge 87 0 ( 0.00%) 32 4 13 18 3 1 0 10 12 3 0 0
metal2:down-via 65 0 ( 0.00%)
----------------------------------------------------------------------------------------

# = LAYER DETAILS
========================================================================================
| | | Total | Horizontal | Vertical | Guide | Down Vias |
| Layer |Dir| Length | Detail | Global | Detail | Global | Length | Total | Guide|
|--------------------------------------------------------------------------------------|
| metal1 | V | 6296.25 | 0.00 | 1088.38 | 0.00 | 5207.87 | 0.00 | 0 | 0 |
| metal2 | H | 5268.32 | 0.00 | 3522.96 | 0.00 | 1745.36 | 0.00 | 104 | 0 |
|--------------------------------------------------------------------------------------|
| Totals | | 11564.57 | 0.00 | 4611.34 | 0.00 | 6953.23 | 0.00 | 104 | 0 |
| Percent| | 100.00 | 0.00 | 39.87 | 0.00 | 60.13 | 0.00 | | |
========================================================================================
End global route:  cpu:0.2sec user:0.3sec 17.6meg
Begin writing global routes...
# = LAYER DETAILS ======================================================================================== |   | | Total | Horizontal | Vertical | Guide | Down Vias |
| Layer |Dir| Length | Detail | Global | Detail | Global | Length | Total | Guide|
|--------------------------------------------------------------------------------------|
| metal1 | V | 6296.25 | 0.00 | 1088.38 | 0.00 | 5207.87 | 0.00 | 0 | 0 |
| metal2 | H | 5268.32 | 0.00 | 3522.96 | 0.00 | 1745.36 | 0.00 | 104 | 0 |
|--------------------------------------------------------------------------------------|
| Totals | | 11564.57 | 0.00 | 4611.34 | 0.00 | 6953.23 | 0.00 | 104 | 0 |
| Percent| | 100.00 | 0.00 | 39.87 | 0.00 | 60.13 | 0.00 | | |
========================================================================================
   15 nets written.
15 routes written.
End write global routes: cpu:0.0sec user:0.0sec 17.6meg
Begin reclaiming memory...
End reclaiming memory: cpu:0.0sec user:0.0sec 17.6meg
0

The final routing summary states how may nets and routes were created by the global router.

Related Topics

Route Commands

croute

detail_route

local_route

p2p_route


Return to top
 ⠀
X