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

net_strap

net_strap 
-set d_setObj 
[ -region {f_xlo f_ylo f_xhi f_yhi} ]
[ -do_via_layers {s_layerName } ] 
[ -add_vias [ true | false ] ] 
[ -annotate [ true | false ] ] 
[ -annotation_limit i_count ] 
[ -clear_annotations ] 
[ -maximize_cuts [ true | false ] ]
[ -use_larger_cut_spacing [ true | false ] ]
[ -auto_use_larger_cut_spacing [ true | false ] ]
[ {-use_cut_classes [ true | false ] || -cut_class_names {s_cutClassName …} 
[ -cut_class_names_only [ true | false ] ] } ]

Description

Determines if there are enough vias strapping down the power and ground buses and optionally adds vias where needed.

To use this command to add vias, minWidth, minSpacing and an extension rule (minExtension or minDualExtension) must be set for the via layers processed.

Arguments

-add_vias [ true | false ]

Adds vias where needed.

-annotate [ true | false ]

Creates rectangle annotations in the artwork that represent the boundaries for areas where vias can be added. The annotations are listed under Net Strapping in the Optimizations page of the Annotation Browser and are added to the annotation:viaOpt purpose of the cut layer. By default, annotations are not added.

-annotation_limit i_count

Specifies the maximum number of annotations that can be added for a net on a cut layer. The default value is 1000.

-auto_use_larger_cut_spacing [ true | false ]

If true, the largest cut spacing (for example, the distance parameter for minAdjacentViaSpacing) is used for vias that are close enough to impact the placement of nearby vias. Otherwise, the smallest cut spacing is used.

Default: false

-clear_annotations

Removes existing net strap annotations before adding new ones.

-cut_class_names {s_cutClassName …}

Uses vias with cuts taken from the given list of cut class names, in the order given. Regular expressions, such as *_Bar, can be used.

-cut_class_names_only [ true | false ]

If true, only cuts from the given list of cut classes are used. If false, any unspecified smaller cut classes are used after the named ones.

Default: false

-do_via_layers {s_layerName }

Restricts processing to the specified cut layers. If not specified, all via layers are processed.

-maximize_cuts [ true | false ]

When true, places the maximum possible cuts in any given intersection. By default (false), only the largest rectangle in any given metal intersection is filled.

-region {f_xlo f_ylo f_xhi f_yhi}

Limits processing to the given area (defined by the lower left and upper right coordinates). If not specified, the entire design is processed.

-set d_setObj

Specifies the set that contains the nets to be strapped.

-use_cut_classes [ true | false ]

Uses vias with cuts taken from the cut class constraints, from largest to smallest. By default, only the smallest cuts are used.

-use_larger_cut_spacing [ true | false ]

Uses the largest cut spacing (for example, the distance parameter for minAdjacentViaSpacing) when adding vias. By default, the minimum allowed cut spacing is used.

Examples

The following command checks the nets in the selected set, adds up to 5 annotations per net for via layers that show the boundaries of areas that need additional strapping, then adds vias to those areas.

net_strap -set [get_selection_set] -annotate -annotation_limit 5

Related Topics

Optimize Commands

create_fill


Return to top
 ⠀
X