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

spread_wire

spread_wire 
[ -all | -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -exclude_type {[power] [ground] [clock]} ] 
[ -layer {s_layerName…} ] 
[ -lock_vias [ true | false ] ] 
[ -min_jog_distance f_tracks ] 
[ -soft_rules_adherence [ true | false ] ] 
[ -target_spacing f_multiplier ] 
[ -threads i_threads ] 
[ -x_step f_step ] 
[ -y_step f_step ] 

Description

Spreads and bends wire for yield optimization while maintaining the current dimensions. Use the -target_spacing argument to set the targeted spread spacing as a multiple of the foundry minSpacing for each layer. A smaller min_jog_distance value results in more spreading, reducing the likelihood of shorts, at the potential cost of an increased number of jogs.

Use the minJogLength constraint to control the minimum height of the jog.

The GUI equivalent for this command is Optimize—Wires.

Arguments

-all

Operates on the entire design. This is the default.

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

Specifies one or more net types to exclude from processing. By default, no types are excluded.

-layer {s_layerName…}

Permits only shapes and vias on the specified layers to be moved. Default: All routing layers are processed.

-lock_vias [ true | false ]

  

If set true, vias are not moved.

Default: Vias can be moved when spreading wires.

-min_jog_distance f_tracks

Specifies the minimum distance, in tracks, between two jogs on the same wire. A smaller distance can result in more spreading, at the potential cost of an increased number of jogs.

Default: 2 tracks (one track is minSpacing + minWidth)

-region {f_xlo f_ylo f_xhi f_yhi}

  

Specifies the target area for this command.

Default: The entire design is processed.

-soft_rules_adherence [ true | false ]

When true, soft spacing rules are obeyed.

Default: Hard rules are obeyed.

-target_spacing f_multiplier

Specifies the desired amount of spacing between wires as a multiple of the foundry minSpacing constraint.

Default: 2 (The default target spacing is 2*minSpacing.)

-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, the session threads are used, otherwise, one processor is used.

-x_step f_userunit

Specifies the spread step size, in user units. By default, the routing grid step is used for gridded routing, and the manufacturing step size is used for gridless routing.

-y_step f_userunit

Specifies the spread step size, in user units. By default, the routing grid step is used for gridded routing, and the manufacturing step size is used for gridless routing.

Examples

The following example spreads wires on M2 in the active workspace. Jogs must be at least 3 μm apart.

spread_wire -region [get_window_area] -layer {M2} -min_jog_distance 3

Related Topics

Optimize Commands


Return to top
 ⠀
X