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

strand_route

strand_route
{ -all [ true | false ] 
| -set d_setObj 
| -nets {s_netName…} } 
[ -num_strands i_count ] 
[ -strand_spacing f_distance ] 
[ -strand_width f_width ] 
[ -max_cluster_distance f_clusterDistance ] 
[ -enable_bus_route [ true | false ] ] 
[ -strap_strands [ true | false ] ] 

Description

Routes all nets, specified nets, or nets in a set using multiple strands (fingers) between pins. In addition, stranded routing supports all connection types, including fat-to-fat, one-to-many (or many-to-one), and many-to-many, in all patterns, including straight, L, and Z patterns. For pattern path-find method, currently stranded routing only works for many-to-many connection type. For other connection types, a message is displayed.

Stranded routing provides the pattern path-finding method to generate connections if it does not work with straight, L, or Z patterns.

If any of the nets to be routed are in a net_strand constraint group, then numStrands, strandSpacing, strandWidth,  maxClusterDistance, and clusterDistance constraints, if set for the constraint group, are used for strand routing. Alternatively, the number of strands can be explicitly specified using command arguments, or automatically maximized based on the strand width (minWidth for the layer) and the strand spacing (via-to-via pitch). Command arguments can be used to override constraint settings.

When both clusterDistance and maxClusterDistance constraints are defined, the clusterDistance constraint is used. However, when only one of them is defined, the one that is defined is used for strand routing.

Strand routing produces parallel strands that are equal in width and evenly spaced. New wiring that fails this criterion (for example, due to obstructions) is discarded. If -enable_bus_route is true and strand routing fails, the router attempts to route strands as a bus. While this method can be successful, the resulting strands might not be parallel and evenly spaced.

Arguments

-all [ true | false ]

Strand routes all nets in the design.

-enable_bus_route [ true | false ]

  

When true, will route strands as a bus if search-based pattern route fails.

Default: false

-max_cluster_distance f_clusterDistance

Specifies the maximum distance, in microns, between adjacent pins in a cluster.

Default: For nets in a net_strand group, the maxClusterDistance constraint value is used, if set; otherwise, 10 * maximum via-to-via pitch for valid routing layers is used.

-nets {s_netName…}

Strand routes the specified nets.

-num_strands i_count

Routes the specified number of strands.

Default: For nets in a net_strand group, the numStrands constraint value will be used, if set; otherwise, the maximum possible strands is based on -strand_spacing and -strand_width.

-set d_setObj

Strand routes the nets in the given set.

-strand_spacing f_distance

  

Specifies the exact spacing, in microns, between strands.

Default: For nets in a net_strand group, the strandSpacing constraint value is used, if set; otherwise, the strand spacing is the via-to-via pitch.

-strand_width f_width

  

Specifies the width, in microns, for individual strands.

Default: For nets in a net_strand group, the strandWidth constraint value will be used, if set; otherwise, the strand width is the minWidth for the layer.

-strap_strands [ true | false ]

This is useful for multi-layer strands.

true

(Default) If the number of strands is not specified, then the number of strands routed is dependent on the size of the larger pin.

false

If the number of strands is not specified, then the number of strands routed is dependent on the size of the smaller pin.

Examples

In this example, the fat pin-to-fat pin nets in the selected set are strand routed using the maximum number of strands that can be accommodated.

create_group -set [get_selection_set] -type net_strand -name StrandGroup
strand_route -set [get_selection_set]
Example of strap_strands Argument

Related Topics

Specialty Route Commands

create_group

Strand Routing Constraints


Return to top
 ⠀
X