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

detail_route

detail_route
[ -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -set d_setObj ] 
[ -exclude_set d_setObj ] 
[ -exclude_net {s_netName …} ] 
[ -exclude_type {[power] [ground] [clock]} ] 
[ -critic [ true | false ] ] 
[ -mode {clean | ECO} ] 
[ -pause_pass i_count ] 
[ -start_pass i_count ] 
[ -stop_pass i_count ] 
[ -collect_same_net_errors [ true | false ] ] 
[ -collect_diff_net_errors [ true | false ] ] 
[ -check_antenna [ true | false ] ] 
[ -maximize_cuts [none | useMinRule | useMaxRule | useViaDef] ] 
[ -optimize_pin_escaped_vias [ true | false ] ] 
[ -threads i_threads ] 
[ -use_double_cut_vias [ true | false ] ] 

Description

Finishes routing according to design rules by running multiple passes in cycles. Resolves violations that were created during conduit routing and some phases of detail routing. In the first cycle, any remaining opens are routed and error types such as different net violations, weak connect violations, and off-grid errors are addressed by rerouting. Subsequent cycles deal with any remaining DRC violations including same net violations, minimum width, minimum area and minimum enclosed area violations.

During processing, the router outputs status to the Transcript area including the following:

Arguments

-check_antenna [ true | false ]

(Applies only when -mode clean is specified) If true, checks new routes from clean mode for antenna violations and, if found, the original route connections are kept. Default is false.

-collect_diff_net_errors [ true | false ]

If false, different net errors will not be collected during cycles greater than 1. Default is true.

-collect_same_net_errors [ true | false ]

If false, same net errors are not collected during cycles greater than 1. Default is true.

-critic [ true | false ]

Straightens wires where possible after routing. Defaults to false.

-exclude_net {s_netName…}

Excludes the given nets from processing. Nets that are not fixed or locked in this list can be shifted while routing other nets.

-exclude_set d_setObj

Excludes nets in the given set from processing.

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

Excludes the given types of nets from processing. Nets that are not fixed or locked in this list can be shifted while routing other nets.

-maximize_cuts [none | useMinRule | useMaxRule | useViaDef]

When connecting to wide wires, will maximize the number of cuts per via after routing, where possible, according to the specified setting:

none

(Default) No post-routing effort to maximize cuts.

useMaxRule

Uses the maximum of via parameters from the applicable oaStdViaDef and existing via rules to maximize cuts.

useMinRule

Uses constraint values for the cut layer and if not found, allows these constraints to be derived from the default oaStdViaDef.

useViaDef

Uses via parameters from the applicable oaStdViaDef instead of using constraint values for the cut layer. No vias will be created that violate existing via rules.

-mode {clean|ECO}  

Specifies a special purpose routing mode to run for this step.

clean

By default, this step is not included.

ECO

Closes opens in nets given by -set. This mode is effective for ECO routing.

To route longer guides, use the complete router flow for quicker processing.

For example:

global_route -mode eco -set [get_selection_set]
croute
detail_route -mode eco -set [get_selection_set]

-optimize_pin_escaped_vias [ true | false ]

When true and re-routing single-cut vias, also optimize pin-escaped vias with double-cut vias where possible. To use this option, you must also specify -use_double_cut_vias true.

Typically, pin escapes can only use single-cut vias because the vias must be fully enclosed on the pin.

Default: false

-pause_pass i_count

Pauses detail_route after the specified pass, if the specified pass is necessary.

-region {f_xlo f_ylo f_xhi f_yhi}

Processes routes in the area given by the lower-left (f_xlo f_ylo) and upper-right (f_xhi f_yhi) coordinates. By default, the entire top cellview is processed.

-set d_setObj  

Processes nets in the given set. If this argument is not specified, the entire top cell is routed.

-start_pass i_count

Starts the detail router at the given pass.

-stop_pass i_count

Stops the detail router after the given pass is completed, if the given pass is necessary.

-strictly_in_region {f_xlo f_ylo f_xhi f_yhi}

  

Processes only routes with both endpoints in the area given by the lower left (f_xlo f_ylo) and upper right (f_xhi f_yhi) coordinates. By default, the entire top cellview is processed.

-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.

-use_double_cut_vias [ true | false ]

When true, during post-route, re-route with double-cut vias where possible.

Default: false

Illustration of the Difference between -region and -strictly_in_region for detail_route

Violation Summary Output

When you include the -print_summary argument, violation checks are performed and reported after routing. The following is an example of the violation summary:

============================================================================== The following reported errors are for the passed set of nets only!! Total number of opens from verify connectivity: 0. Total number of shorts from verify connectivity: 0. .............................................................................. The following violations include: minSpacing, minNumCut, maxStack and via ext Number of route diff net violations: 0. Number of route same net violations: 0. Total number of route violations: 0. .............................................................................. The following reported errors are for the entire design, not only for the set! Number of minWidth violations: 0. Number of minEdge violations: 0. Number of minArea (including minEnclosedArea) violations: 0. Number of manufacturing grid violations: 0. The routing is clean! ==============================================================================

Related Topics

Route Commands

global_route

local_route

p2p_route


Return to top
 ⠀
X