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

pair_divide

pair_divide
[ -set d_setObj] 
[ -center_vias [ true | false ] ] 
[ -delete_violations [ true | false ] ] 
[ -preserve_topology [ true | false ] ] 
[ -routing_grid [ true | false ] ] 
[ -space_vias [ true | false ] ] 
[ -use_w2vpitch [ true | false ] ] 

Description

Divides the netPairRoutes into the memberRoutes by dividing all route segments and vias in the netPairRoutes. The resultant memberRoutes are connected to the memberNet source and target pins. The netPairTerms and the netPairRoutes are removed.

After running this command, use verify_connectivity to check for connectivity violations.

Arguments

-center_vias [ true | false ]

When true, if a via is wider than a connecting segment, then the center of the via is aligned with the centerline of the segment. In cases where there is minimum spacing between metal, adding center-aligned oversized vias can cause spacing violations. To fix these, specify -space_vias true with -center_vias true.

Default: (false) Oversized vias can be center-aligned or edge-aligned with connecting segments. The router will choose the best method to avoid spacing violations.

-delete_violations [ true | false ]

  

When set to true, will check for DRC violations, remove any violating segments and attempt to re-route them with the point-to-point router. Opens will be left for any violations that cannot be fixed and you can use detail_route to complete the routing. detail_route should be used with caution because it is more likely to disturb the balance in wiring with rip-ups and re-routing.

Default: (false) Checking is not performed.

-preserve_topology [ true | false ]

  

If set to true, will attempt to preserve the topology of the netPairRoutes while fixing DRC violations created by the divide. This is useful when matching lengths of groups of differential net pairs. By default (false), priority is given to fixing DRC violations instead of topology preservation.

-routing_grid [ true | false ]

When true, will place routing elements on the routing grid. When false, will place routing elements on the manufacturing grid.

Default: false

-set d_setObj

Restricts processing to the memberNets in the given set. By default, all memberNets are processed.

-space_vias

When true, will fix spacing violations for vias at pins. This is useful when you specify -center_vias true to center-align oversized vias with connecting metal, which can cause spacing violations. Typically, the violating oversized vias will be shifted to edge-aligned with the connecting metal, eliminating the violation.

Default: false

-use_w2vpitch [ true | false ]

  

When true, will use wire-to-via pitch when vias are oversized and -center_vias true. When false, will use via-to-via pitch when placing vias.

Default: false

Examples

The following example scripts show the Tcl commands are used to perform pair routing.

# pairs.tcl
#
# Use this script to define net pairs.
# Identify net pairs for routing and group each pair using create_group with
# -type net_pair so that they will be recognized by the pair_* commands
# -name for the name of the netPairGroup and the associated composite net.
create_group -name Net01_pair -set [or_sets -set1 [find_net -silent -name Net0 -no_wildcard true -ignore_case false ] -set2 [find_net -silent -name Net1 -no_wildcard true -ignore_case false ] ] -type net_pair . .
# route.tcl
#
# Use this script to read in the design and perform pair routing.
#
# First load the design
read_db -lib sample -cell sample -view layout
# Source the tcl script that defines the net pairs using create_group -type net_pair source pairs.tcl # Create the guides for the member nets so that the netPair topology can be created. # Ignore power, ground and clock nets update_net_connectivity -all -ignore_types {power ground clock} # Create the netPairTerms and guides that connect them for the netPairRoutes. pair_create_topology # Route the netPairNets and the non-paired nets. global_route local_route croute detail_route # Divide the netPairRoutes into memberRoutes. The netPairRoutes and netPairTerms # are removed. pair_divide # Check the connectivity for any remaining opens and shorts. verify_connectivity -all

Related Topics

Specialty Route Commands

Pair Routing Commands


Return to top
 ⠀
X