Product Documentation
Virtuoso Interactive and Assisted Routing User Guide
Product Version IC23.1, September 2023


Contents

1

Setting up the Interactive Routing Environment

License Requirements of Interactive Routing Features

Configuring Wire Editing Options

Layout Editor Options Form
Stretch Options

Tapping Wires

Tapping Internal Nets
Tapping Vias
Tapping Results Based on validVias and validLayers
Creating Halos

Adding the lxStickyNet Property to Wires

Support for Voltage-Dependent Rules

Support for Area-based Rules

minWidth
allowedWidthRange
allowedLengthRange
rectShapeDir
minSpacing
minArea
Via Rules

Using Mouse Button Controls

Startup Warnings

2

Technology Requirements

Technology File Requirements

Specifying Layer Order
Specifying Routing Layer Directions
Specifying Via Definitions
Specifying Valid Layers and Valid Vias
Limiting Routing on a layer
Via Usage Model
Specifying Track Patterns and Width Spacing Patterns
Supporting Colored Trim Metal Layers
Using Layer-Purpose Pairs
Poly Pins over an Implant Layer
Support For 45 nm Rules
Supported Constraints with Supported Parameters

Constraint Groups

Foundry Constraint Group
Application Constraint Groups

Specifying the Default Constraint Group for Routing

virtuosoDefaultExtractorSetup
virtuosoDefaultSetup
LEFDefaultRouteSpec
virtuosoDefaultTaper
User-Defined Constraint Groups
Storing Constraint Groups
Constraint Group Lookup Precedence
Scalar Versus Table Spacing Rule Precedence

Supported Constraints and Parameters

Supported Constraints and Parameters (Virtuoso Advanced Node for Layout Standard)
Supported Constraints and Parameters (Virtuoso Advanced Node for Layout Only)

3

Working with Wires

Introduction to Wires

Types of Wires
Wire Elements
Wire Objects
Wire Parameters

Creating Wires

Creating a Wire
Creating a Diagonal Wire
Creating a Floating Wire
Creating a Wire with 45 Degree Segments
Creating an Odd Width Wire
Creating Wires Snapped to Track Patterns

Editing Wires

Editing Wire Properties
Editing Via Properties
Editing Cut Patterns
Multiple Wire Editing
Editing Wire Width
Editing Layer-Purpose Pair

Splitting Wires and Vias

Using Keep Wires Connected to Split Command

Support for Local Interconnect (Li/MOL) Layers

Wire Editing with Li/MOL Layers
Enhanced Snapping in Wire Editing

Smart Snapping in Interactive and Assisted Routing Commands

Disabling Layer Tapping, Via Insertion, and Smart Snapping

Support for Mosaics in Create Wire

Support for cdsGenVia for Different Purposes

Setting Dynamic Measurement for the Area Calculation

Support for Pixel Based Gravity

Displaying Wire Summary

4

Working with Vias

Specifying a Valid Via List

Specifying Via Parameters Calculation Mode

Changing Layers and Selecting Vias

Inserting Vias Automatically

Fanning Out Wires to Vias

Using Via Assistance

Creating an Array of Vias

Stacking Vias

Inserting Multi-Layer Stack Via
Minimum Area Rules

Changing Via Cut Color

5

Working with Buses

Creating a Bus Constraint

Autopicking Bus Bits

Creating a Bus

Restarting a Bus From Existing Routes

Using the Control Wire

Editing a Bus

Avoiding Shorts with Existing Blockages for Create Bus

Supporting Multi-Layer Bus

Creating a Multi-Layer Bus from Existing Pins
Creating a Multi-Layer Bus from an Empty Space
Creating a Stacked Multi-Layer Bus from a Single Pin
Creating a Stacked Multi-Layer Bus from Multiple Pins
Defining a Custom Layer Pattern
Transitioning Capabilities in a Multi-Layer Bus
Stacked Wires within Multi-Layer Bus
Transitioning Capabilities in a Wire Stack within a Multi-Layer Bus
Customizing Multi-Layer Bus Transition

6

Working with Stranded Wires

Creating a Stranded Wire

Creating a Stranded Wire from an Existing Pin
Creating a Stranded Wire from an Existing Wire
Creating a Stranded Wire from Tieout
Creating a Stranded Wire from a Rectangle or PathSeg Covering a Pin

Inserting Vias Automatically

Tapering in Stranded Wire

Enabling Bridge Vias Using WSPs

Avoiding Shorts with Existing Blockages

Filtering Objects by Net Name

7

Using Assisted Routing Commands

Point to Point Routing

Setting Point to Point Wires to Match Pins

Supporting Track-based Routing

Finishing a Trunk
337

8

Editing Routed Connections

Stretching Wires and Vias

Variables that Control Stretch
Controlling the Angle of Wires
Using the Stretch Command
Preserving Paths
Stretching Wires Connected to Pins
Stretching Wires Connected to Vias
Stretching Wires Across Tracks

Moving Wires

Copying Wires

Re-routing a Wire

Reshaping Wires

Removing Loops From Wires

Merging Wires

Collinear Abutment or Overlap of PathSegs
Coincident Abutment or Overlap
Merging a Pathseg with a Path

Self-intersecting Objects

Deleting Wires

Copy Route Command

Setting Copy Route Options

Copying Pin-to-Pin Routes

Copying Pin-to-Wire Routes

Handling Wire Copies for EM Analysis

9

Managing Metal Density

Metal Density Toolbar

Performing Metal Density Checks for Shapes

Deleting Fillets

Specification Cells

Fillet Creation (Virtuoso RF Solution Only)

Specifying the Fillet Options

Support for Slot Shapes in DRD and EAD

10

Interactive Colored Routing

Interactive Coloring for Create Wire

Creating a Colored Wire
Inserting Via on Colored Wires
Tapping Colored Objects

Interactive Coloring for Create Bus

Creating a Bus in an Empty Space
Creating a Bus by Tapping Pins
Creating a Bus While Working with Colored WSPs

Performing DRC Colored Checks

Interactive Coloring for Create Stranded Wire

Specifying the Color Mode in Stranded Wire
Changing the Color of Stranded Wire
Changing the Stranded Wire Color Mode
Creating a Stranded Wire by Tapping Pins
Creating a Stranded Wire While Working with Colored WSPs
Avoiding Shorts with Existing Blockages on Colored WSPs

Supporting End-to-End Spacing for Colored Shapes

Interactive Coloring for the Stretch Command with Colored WSPs

Color Locks While Editing a Wire

Inserting TrimMetal Layers in Interactive Colored Routing

Supporting Colored TrimMetal Layers
Supporting Colored TrimMetal Layers for the Stretch Command
Supporting Colored TrimMetal Layers for Create Bus
Supporting Patch Metal Shapes

11

Supporting Width Spacing Patterns

Width Spacing Pattern Display in Wire Editing

Dynamic Display
Alpha Blending
Customizing Display of WSP Tracks

allowedWireTypes Support

Snapping Behavior in WSP During Wire Editing

Enabling Wire Snapping
Snapping of Wire in Width Spacing Patterns
Support for snapPattern singleTrackCenter
Automatic Via Insertion during Wire Snapping
Snapping on WSP for Assisted Routing Commands

Working with Width Spacing Patterns During Wire Editing

Switching Patterns Dynamically
Crossing Region Boundaries
Wire Editor Gravity

Automatic Switching of the Active Pattern Across Regions

Working with Selected Sets of Wires

Nested WSP Regions

Region R1 Partially Overlaps Another Region R2
Two Regions Overlap With the Exact Same Boundary
Region R1 Partially Overlaps Another Region R2 With the Same Width Spacing Pattern
Region R1 is Fully Enclosed in Another Region R2

Supporting pathSegs with Different WSPs across Regions

Wire Editor Hierarchy Support

Pattern Flipping Support

12

Supporting Virtuoso RF

Supporting Curved Paths

Creating a Packaging Wire

Inserting Via and Changing Layer

Stretching a Curved Path

Automatic Snapping Using Stretch

Curved Path Snapping Behavior in Packaging Wire

Tapping of Curved Paths

Creating a Packaging Bus

Snapping Behavior of Curved Paths Using Create Packaging Bus

Supporting Package Constraints

Area-based Rules in Create Package Wire

minWidth
maxWidth
minSpacing

Area-based Rules in Create Packaging Bus

minWidth
maxWidth
minSpacing

Push and Shove in Interactive Routing

Using Push and Shove while Creating a Wire
Using Push and Shove while Stretching a Wire
Support for Area-based Rules in the Push-and-Shove Feature
Support for Shielding Constraints in the Push-and-Shove Feature

A

Interactive and Assisted Routing Forms

Create Bus Form

Edit Bus Form

Create Wire Form

Create Stranded Wire Form

Point to Point Form

Select Via Form

Metal Density Options Form

Layers
Slot Geometry
Slotting Style
Slot Consistency
Fillet
Slotting Button

Create Packaging Bus Form

Copy Route Form

General
Options

B

Interactive and Assisted Routing Shortcut Menu Commands

Create Bus Shortcut Menu Commands

Edit Bus Shortcut Menu Commands

Create Single Wire Shortcut Menu Commands

Reshape Wire Shortcut Menu Commands

Split Wire Shortcut Menu Commands

Create Stranded Wire Shortcut Menu Commands

Point to Point Shortcut Menu Commands

Stretch Shortcut Menu Commands

C

Interactive and Assisted Routing Environment Variables

Variables to Customize the Interactive and Assisted Routing Settings

adjustEditedViasParams
adjustEditedViasParamsScope
allLayersWrongWay
allLayersWrongWayCustomValue
allowLoops
allowOffTrackForCrossRegion
autoDisableProbeDuringIARouting
autoLengthControl
autoTap
autoTapActiveLayer
autoTerminate
autoUpdateFlightlines
autoViaAlignment
autoViaAlignmentColinearTransitionBehavior
autoViaAlignmentOrthoTransitionBehavior
blockageAvoidanceSearchThreshold
blockageUseMinWidth
checkOffGridEditedWires
constraintGroupCustomFilterMode
copyRoutingAllowCrossings
copyRoutingPreserveSpacing
createBusAllowsMultiLayerSelection
createWireMode
createWireStitchAware
displayMinAreaMarker
displayOrthogonalGridEndPoints
dynamicDisplayEnabled
enableDynamicPatternSwitching
enableFinishRoutingCmds
enableWidthOverride
enforceStretchWidthConstraints
fanOutToVias
flightLinesLimit
flightLinesPolygonPointsLimit
flightLinesShapesLimit
gatherAndSpreadSpacing
ignoreSameMaskColor
keepWiresConnected
layerTapPickWireVia
lockUnselectedVias
maxNumConnWireElements
mixedSignalWireEditingEnvironment
moveConnectedInstancesAndWires
moveConnectedObjectType
p2pSeedStyle
pathSegBeginExt
pathSegBeginStyle
pathSegEndExt
pathSegEndStyle
patternFillAlpha
patternGravity
patternGravityLayerTransitionType
patternOutlineAlpha
patternRenderingAperture
pushAndShoveMode
pushAndShoveSmooth
pushAndShoveCheckerStopLevel
setTaperMode
showAlignmentMarkers
snapResizeWireLabels
snapToPin
snapToViaCenter
snapWireGrid
spaceFuncName
taperToPinWidth
taperToPinWidthStyle
tapPreference
useMergeBusAndWire
useOverlapRegionForVia
viaAlignment
viaCheckDRC
viaCutColorMode
viaCutColorPatterns
viaExtendEnclosureBeyondOverlap
viaFillEnclosureOverlap
viaMaxNumCuts
viaPattern
weAllowOddWidth
weAreaBasedRulesEnabled
weAreaBasedRulesHierLevel
weAreaBasedRulesWidthMode
weARWidthMode
weARTapWideEdge
weARTapWidthOnPins
weARTapWidthOnWires
weAutoDropVia
weAutoDropViaForOverlaps
weAutoMergeWires
weAutoWidthModeAfterVias
weBusColorMode
weBusNumBits
weChangeWireDirectionAfterVia
weCoverPin
weCreateBusConstraint
weCustomLayerPattern
weCWStretchLastPointModifier
weCWWidthMode
weEnableDanglingTargetsFL
weEnableXLCheckoutInL
weEnforceDirFromRoutingPattern
weFlightLinesHierLevel
weGuidedRouteGatherAtBend
weHalo
weHaloDashStyle
weHaloEnabled
weHaloEOLSpacing
weHaloTrueColor
weInstancePinPattern
weInteractiveShielding
weKeepSelectViaOrder
weMemoryOptimization
weMfgGridWidthIncrement
weNoSmartSnap
wePostCriticWires
weShowCtrlWireAlignMarkerOnly
weShowHints
weSmartSnappingDepth
weStrandedAlignCollinearMode
weStrandedColorMode
weStrandedLadderAtTurn
weStrandNum
weStrandSpacing
weStrandWidth
weTapWidthOnPins
weTapWidthOnVias
weTapWidthOnWires
weTrimBridgePurpose
weTrimInsertion
weTrimInsertionOnPRBoundary
weTrimPatchExtension
weTrimPatchPurpose
weTrimTrimPurpose
weWACmdCalculatedColor
weWAConflictColor
weWADefaultSeedCGName
weWASeedCGColor
weWAUserDefColor
wireConstraintGroup
wireOffset
wireTaperConstraintGroup
wireViaStackMode
wireWidth

Variables to Customize the Settings for Slotting

addFilletOnBondFingers
addFilletOnCircle
addFilletOnComplexShapes
addFilletOnOblong
addFilletOnOctagon
addFilletOnPaths
addFilletOnPadWithoutDrills
addFilletOnPins
addFilletOnRectangle
addFilletOnSquare
addFilletOnTconnections
addFilletOnVias
areaDelimitedMode
curvedFillet
desiredAngle
densityAwareMode
directionalSlotPattern
enableSlotSpecCell
excludePins
floatingSlot
hideConvertToPolygon
hideReconstruct
lengthWidthRatio
lSpacing
mainSlotFigGroupName
material
maxAngle
maxLineWidth
maxOffset
maxSizeOnCircle
maxSizeOnComplexShapes
maxSizeOnOblong
maxSizeOnOctagon
maxSizeOnRectangle
maxSizeOnSquare
metalDensityLayers
minLineWidth
minPolygonEdgeLength
slottingContext
slotLength
slotOverBlockage
slotOverInstance
slotOrientationMode
slotOutOfGroup
slotSpecCell
slotStaggered
slotToEdge
slotVia
slotWidth
taperedTraces
tapDesiredAngle
tapMaxOffset
tapMinSegAngle
touchBlockageMode
turnSlotPattern
unassignedShapes
useOneSlotSpecCell
usePaletteLayers
wSpacing
widthThreshold

Variables to Customize the Settings for Copy Route

copyRouteAllowCopiesWithoutMatchingPins
copyRouteBottomLayer
copyRouteClearPreviewWhenEsc
copyRouteCreateFigGroup
copyRouteEnableRoutingChannel
copyRouteEnableSpacingAtEnds
copyRouteEnableValidLayer
copyRouteEnableWidthAtEnds
copyRouteGenerateCopyWithErrors
copyRouteLayerPattern
copyRouteLayersMode
copyRouteNumCopiesInSpace
copyRoutePreserveCutClasses
copyRoutePreviewMode
copyRouteRoutingChannelLPP
copyRouteSpacingMode
copyRouteSpacingModeAtEnds
copyRouteSpacingOverrideAllLayers
copyRouteSpacingOverrideAllLayersAtEnds
copyRouteTopLayer
copyRouteTrimmingFixer
copyRouteWidthMode
copyRouteWidthModeAtEnds
copyRouteWidthOverrideAllLayers
copyRouteWidthOverrideAllLayersAtEnds

D

Bindkey Keyboard Map

E

Routing Assistant - Interactive Mode

Routing Assistant Tabs
Routing Assistant Command Buttons

Return to top
 ⠀
X