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

star_route

star_route
{ -set d_setObj } 
[ -convert_terminals {sink | driver | none}] 
[ -multilevel [ true | false ] ] 
[ -multidriver [ true | false ] ] 
[ -driver_constraint [ true | false ] ] 
[ -driver s_termName ] 
[ -fromLayer s_layerName ] 
[ -instance s_instName ] 
[ -connect_drivers [ true | false ] ] 
[ -guides_only [ true | false ] ] 
[ -route_only [ true | false ] ] 
[ -incremental [ true | false ] ] 
[ -honor_to_pt [ true | false ] ] 
[ -allow_share [ true | false ] ] 
[ -allowViolations [ true | false ] ] 
[ -direction {horizontal | vertical} ] 
[ -include_term_set d_setObj ] 
[ -exclude_term_set d_setObj ] 
[ -include_term_names {s_termName…} ] 
[ -exclude_term_names {s_termName…} ] 
[ -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -include_term_region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -exclude_term_region {f_xlo f_ylo f_xhi f_yhi} ] 

Description

Routes nets that have one driver and multiple pins, or sinks. By default, each sink is connected directly to the driver as shown in the following figure.

Single Level Star Routing

If a net has many sinks in a matrix-type layout of rows and columns, use -multilevel to connect the driver to multiple interconnected sinks. By default, when -multilevel is specified, sinks are connected horizontally in rows. To change this, specify -direction vertical to connect multilevel sinks vertically in columns. The following figure shows examples of a multi-level net star routed horizontally and vertically.

Multi-level Star Routing

To star route a net that has all sinks or all drivers, use -convert_terminals to convert each net to one driver and multiple sinks before routing. The driver for each net will be in the leftmost, rightmost, topmost or bottommost location relative to the sinks.

To star route a net that has multiple bidirectional instTerms, set the isDriver constraint to true on the driver instTerm, and use -driver_constraint to recognize the constraint setting.

If there are multiple drivers on a net, use -multidriver to connect sinks to the nearest driver and -connect_drivers to connect the drivers to each other. The following figure shows an example of this type of star routing with multiple drivers and sinks. By default, sinks are routed to only one driver on a net.

Star Routing Multiple Drivers to Multiple Sinks

By default, if a net has existing guides and/or route segments, star_route will not create additional guides. To create additional routes for a net, use create_fromto with -incremental true to create the additional guides, then use star_route with -route_only true -incremental true to route them.

Arguments

-allow_share [ true | false ]

When set to true, route segments can be shared when connecting drivers to sinks. When set to false, route segments cannot be shared.

Default: false

-allowViolations [ true | false ]

When set to true, the new routing can include violations. When set to false, any new routing that causes a violation is discarded.

Default: false

-connect_drivers [ true | false ]

When set to true, connects routes between multiple drivers. When false, will not connect multiple drivers to each other.

Default: true

-convert_terminals s_type

Specifies the conversion type for star routing a net that consists of all sinks or all drivers. Each converted net will have only one driver at the leftmost, rightmost, topmost or bottommost position relative to the sinks.

driver

For each selected net, converts all but one driver to sinks before routing.

none

No conversion is done. This is the default.

sink

For each selected net, converts one sink to a driver before routing.

-direction {horizontal | vertical}

[Applies only when -multilevel true] Connects the driver to multiple interconnected sinks in the given direction.

Default: horizontal

-driver s_termName

Star route only from drivers with this terminal name.

-driver_constraint [ true | false ]

When set to true, determines the drivers from the isDriver constraint on the instTerms. When false, determines the drivers from the isDriver property on the terms.

Default: false

-exclude_term_names {s_termName…}

  

Will not star route to the named terminals.

-exclude_term_region {f_xlo f_ylo f_xhi f_yhi}

Specifies the lower-left (f_xlo, f_ylo) and the upper-right (f_xhi, f_yhi) bounding box coordinates for an area to be excluded from processing. Terminals in this area will not be considered.

-exclude_term_set d_setObj

  

Will not star route to the terminals in the given set.

-fromLayer s_layerName

Star routes only from drivers on this layer.

-guides_only [ true | false ]

When set to true, only guides are created. No routing is performed. The guides can be routed using global_route with -create_guides false or star_route with -route_only true.

Default: false

-honor_to_pt [ true | false ]

When set to true, star route will keep the current “to“ point for existing guides. When set to false, guides can be adjusted to make the shortest connection.

Default: true

-include_term_names {s_termName…}

  

Will star route to only the named terminals.

-include_term_region {f_xlo f_ylo f_xhi f_yhi}

Specifies the lower-left (f_xlo, f_ylo) and the upper-right (f_xhi, f_yhi) bounding box coordinates for an area. Only terminals in this area will be considered.

-include_term_set d_setObj

  

Will star route only to the terminals in the given set.

-incremental [ true | false ]

Specifies whether additional guides can be routed for a net that has existing route segments. When set to false, additional guides cannot be created for a net with existing guides and/or route segments.

For incremental star routing, use create_fromto with -incremental true to create the additional guides, then use star_route with -route_only true -incremental true to route them.

Default: false

-instance s_instName

Star routing connects the driver to only the specified instance.

-multidriver [ true | false ]

When set to true, handles nets with multiple drivers by connecting sinks to their closest driver. When false, connections will be routed for only one driver for each net.

Default: false

-multilevel [ true | false ]

When set to true, permits interconnection of multiple sinks. When set to false, each sink is connected to only the driver. Default: false

-region {f_xlo f_ylo f_xhi f_yhi}

Specifies the lower-left (f_xlo, f_ylo) and the upper-right (f_xhi, f_yhi) bounding box coordinates for the area to be processed. Only terminals in this area are considered.

-route_only [ true | false ]

When set to true, guides are not created and only the existing guides are routed.

Default: false

-set d_setObj

Specifies the set of nets to operate on.

Examples

The following command star routes the A1 net.

star_route -set [find_net -name A1]

Related Topics

Specialty Route Commands


Return to top
 ⠀
X