Product Documentation
Virtuoso Space-based Router User Guide
Product Version IC23.1, August 2023


Contents

1

Introduction

What is Virtuoso Space-based Router?

Why Use Virtuoso Space-based Router?

Licensing Requirements

Key Benefits

Key Features

Platforms/Operating Systems

Interoperability

Design Data

Connectivity
Hierarchy Depth Control
Data Size and Performance
Data Object Support

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 Patterns
Supporting Colored Trim Metal Layers
Using Layer-Purpose Pairs
Poly Pins over an Implant Layer
Support For 45 nm Rules

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

Power Routing

Power Router Features

Requirements

Recommended Power Router Flow

Adding a Pad Ring
Adding Core Rings
Adding Block Rings
Connecting Pin-to-Trunk
Adding Stripes
Adding Standard Cell Row Straps
Trimming Stripes
Inserting Vias
Tie Shielding

Using the Power Routing Form

Using the Pad Ring Form

Changing the Pad Ring Scheme Definition

Using the Core Ring Form

Changing the Core Ring Scheme Definition

Using the Block Ring Form

Changing the Block Ring Scheme Definition

Using the Stripes Form

Changing the Stripes Scheme Definition

Using the Cell Rows Form

Changing the Cell Rows Scheme Definition

Using the Pin To Trunk Form

Changing the Pin-To-Trunk Scheme Definition

Using the Vias Form

Changing the Vias Scheme Definition

Using the Tie Shield Form

Setting the Packages for the Scheme

Managing Schemes

Creating New Schemes
Deleting a Scheme
Loading a Scheme
Saving a Scheme File
Comparing Schemes

Using SKILL for Power Routing

4

Getting Started

Virtuoso Space-based Router Commands

Route Menu
Virtuoso Space-based Router Toolbar
VSR Workspace

Behavior of Virtuoso Space-based Router Toolbar Icons

Synchronized Route Menu and the Toolbar

Routing Scripts

5

Working with VSR Presets

Virtuoso Space-based Router Preset Toolbar

VSR Reset Options
VSR Save Preset
VSR Delete Preset
VSR Load Preset

Saving a Preset File

Deleting a Preset File

Loading a Preset File

Execution Mode of Preset File
Errors in Preset File Entries

6

Routing Your Design

Using the Virtuoso Space-based Router Options Form

Specifying Design Setup Options
Specifying Routing Flow Options
Specifying Automatic Flow Options

Support for Multiple Forms

Inserting Colored TrimMetal Layers in Automatic Routing

Interrupting Routing for Unresolvable Errors

7

Managing Cover Obstructions While Routing

Defining a Cover Obstruction

Removing a Cover Obstruction

Viewing a Cover Obstruction

8

Specialty Routing

Creating Constraints With the Constraint Manager

Symmetry Routing

Types of Symmetry Routing
Defining a Symmetry Constraint
Automatic Symmetry Routing

Differential Pair Routing

Defining a Differential Pair Constraint
Changing Diff Pair Values in the Process Rules Editor

Shield Routing

Defining Shield Constraints
Shield Styles
Default Shielding Types
Changing Custom Shielding Values in the Process Rules Editor
Tying Shield Wires
Pin Escape Methods

Matched Length Routing

Defining a Matched Length Constraint
Changing Matched Length Values in the Process Rules Editor

9

Using the Pin to Trunk Routing

Pin To Trunk Toolbar

Pin to Trunk: All Nets
Extend Trunks
Trunks Trimming
Reset Pin To Trunk Options

Behavior of Pin to Trunk Toolbar Icons

Behavior of the Pin to Trunk Options Preset Scripts Icon
Behavior of the Extend Trunks Icon

Pin To trunk Routing Options

Specifying Routing Steps
Specifying Routing Scope
Specifying Trunk Options
Specifying Twig Options
Specifying Trunk to Trunk Connections

Composing and Decomposing Trunks

Highlighting Trunks

Using the Finish Trunk Command

10

Using the Tree Route Flow (ICADVM20.1 EXL Only)

About Tree Route

Pre-requisites for Tree Router
Analyzing the Tree Route Structure

Displaying the Tree Routing Options

Specifying the Tree Route Options

Using Auto Device Routing Preset

Running Tree Routing

11

Working with Assisted and Automated Structured Routing (ICADVM20.1 EXL Only)

Using Automatic Trunk Generation in Pin to Trunk Route Flow

Using Trunk Mesh Routing in the Pin to Trunk Route Flow

Using Tree Routing

Performing Area-based Tree Routing

A

Forms Reference

Power Routing Form

Power Routing - Pad Ring tab
Power Routing - Core Ring tab
Power Routing - Block Ring tab
Power Routing - Stripes tab
Power Routing - Cell Rows tab
Power Routing - Pin To Trunk tab
Power Routing - Vias tab
Power Routing - Tie Shield tab

Power Routing Options Form

Power Routing Options - Pad Ring tab
Power Routing Options - Core Ring tab
Power Routing Options - Block Ring tab
Power Routing Options - Stripes tab
Power Routing Options - Cell Rows tab
Power Routing Options - Pin To Trunk tab
Power Routing Options - Vias tab
Power Routing Options - Setup tab

Power Routing Scheme Manager

Power Routing Scheme Manager - File tab
Power Routing Scheme Manager - Compare tab
Power Routing Schemes Compare Result

VSR Preset Forms

VSR Save Preset Form
VSR Delete Preset Form

320

B

Environment Variables

Automatic Router Environment Variables

ia
blockTreatmentTreatAs
busBitTableRows
forceGlobalPlanning
globalAllNets
globalIncludePreroutes
lockPreRoutes
presetDefaultFile
presetLoadMode
presetResetMode
vsrFlow
widthSpaceTableRows
layout
adjustViatoWireEdge
checkRoutabilityCreateExcludeSet
checkRoutabilityMarkersLimit
checkRoutabilityMissingCoverObstruction
checkRoutabilityMissingPRBoundary
checkRoutabilityNotOnPRBoundaryEdge
checkRoutabilityPinOnGrid
checkRoutabilityPinCenterOnGrid
enableMaximizeCuts
enforceGapSpacingOnDiffPairVias
gapFillPurpose
removePrerouteDangles
routeNetAtPinWidth
routeNetAtPinWidthStyle
routeSelectedNets
routeWithLowEffort
setTaperPinWidthNets
trimBridgePurpose
useDoubleCutVias
useWAOverrides
viaMinNumCuts
viaWECutColumns
viaWECutRows
viaWECutSpecified
weBusBitShieldingGap
weBusBitShieldingNetName
weBusBitShieldingOption
weBusBitShieldingWidth
rte
checkRoutabilityBlockage
checkRoutabilityMinSpace
checkRoutabilityMinWidth
checkRoutabilityVia
coverObsMasterTooltipLimit
coverObstUnhiliteOnFormClosed
deleteRoutingKeepFigGroupShapes
deleteRoutingKeepPower
extractedPinStyle
fixErrorsErrorTypesExtension
fixErrorsFixMinAreaAtPins
fixErrorsErrorTypesMinArea
fixErrorsErrorTypesMinEnclArea
fixErrorsErrorTypesMinEdge
fixErrorsErrorTypesMinWidth
fixErrorsErrorTypesRGrid
fixErrorsErrorTypesNumCut
fixErrorsErrorTypesSameMaskSpacing
genRoutingStyle
optimizeRouteReduceVias
routeSearchAndRepair
routingScriptingDir

Power Routing Environment Variables

General Environment Variables
prouteSelectScheme
Pad Ring Environment Variables
proutePadRingAllLayers
proutePadRingEdgePins
proutePadRingLayers
proutePadRingNets
proutePadRingRailPins
Block Ring Environment Variables
powerRouteSingleRing
prouteBlockRingBlockClearance
prouteBlockRingChannels
prouteBlockRingContour
prouteBlockRingHorizLayer
prouteBlockRingLattice
prouteBlockRingNetClearance
prouteBlockRingNets
prouteBlockRingNetWidth
prouteBlockRingVertLayer
Core Ring Environment Variables
prouteCoreRingRingAtCenter
prouteCoreRingCoreClearance
prouteCoreRingHorizLayer
prouteCoreRingInAreaClearance
prouteCoreRingLattice
prouteCoreRingNetClearance
prouteCoreRingNets
prouteCoreRingNetWidth
prouteCoreRingOutAreaClearance
prouteCoreRingPadClearance
prouteCoreRingRelativeTo
prouteCoreRingRTXHi
prouteCoreRingRTXLo
prouteCoreRingRTYHi
prouteCoreRingRTYLo
prouteCoreRingVertLayer
Cell Row Environment Variables
prouteCellRowExtend
prouteCellRowLayers
prouteCellRowNets
prouteCellRowRowEnd
Pin To Trunk Environment Variables
proutePinToTrunkAllLayers
proutePinToTrunkLayers
proutePinToTrunkMaxWireWidth
proutePinToTrunkMinTrunkWidth
proutePinToTrunkMinWireWidth
proutePinToTrunkNets
proutePinToTrunkSpecTLayer
proutePinToTrunkTrunkLayer
Stripes Environment Variables
prouteStripesBottomOffset
prouteStripesCenterLine
prouteStripesHorizDir
prouteStripesHorizLayers
prouteStripesLeftOffset
prouteStripesMinLength
prouteStripesNetClearance
prouteStripesNets
prouteStripesNetWidth
prouteStripesOffsetFrom
prouteStripesPinClearance
prouteStripesVertDir
prouteStripesVertLayers
prouteStripesXStep
prouteStripesYStep
Vias Environment Variables
prouteViaInsertionColumns
prouteViaInsertionCutArray
prouteViaInsertionLayerRange
prouteViaInsertionLayers
prouteViaInsertionLocation
prouteViaInsertionMaxLayer
prouteViaInsertionMinLayer
prouteViaInsertionNets
prouteViaInsertionRows
Tie Shield Environment Variables
prouteTieShieldCoaxTieFreq
prouteTieShieldShieldTieFreq

Pin to Trunk Environment Variables

Pin to Trunk Section
autoComposeTrunk
connectPinType
highLightTwigType
includeNonOrthogonalTwigs
orderTrunks
pinToTrunk
routingAreaLLx
routingAreaLLy
routingAreaURx
routingAreaURy
routingScope
selectEastTrunk
selectNorthTrunk
selectOrthoPinsMode
selectOverInstTrunk
selectSouthTrunk
selectTrunkMode
selectTrunkRangeValue
selectTrunkWithinRange
selectWestTrunk
trunkExtending
trunkTapering
trunkToTrunk
trunkTrimming
Trunk Section
extendTrunkDirMode
extendTrunkEndForOneDirMode
highlightTrunkHaloType
highlightTrunkHaloWidth
trimTrunkMode
trunkSetup
trunkSetupHorTrunkLayer
trunkSetupHorTrunkWidth
trunkSetupVerTrunkLayer
trunkSetupVerTrunkWidth
trunkTaperEdgeStyle
trunkTaperFirstIntervalLength
trunkTaperIntervalMode
trunkTaperMiddleIntervalLength
trunkTaperReductionMode
trunkTaperReductionPercent
trunkTaperReductionValue
trunkTaperSideMode
Twig Section
connectMultiPinShapes
gateTwigLayerMode
gateTwigWidthMode
horGateTwigLayer
horGateTwigWidth
horNonGateTwigLayer
horNonGateTwigWidth
mergeTapsInCloseProximity
nonGateTwigLayerMode
nonGateTwigWidthMode
pinStrapLayer
pinStrapLocationPreference
pinStrapMaxPinCount
pinStrapMaxPinDistance
pinStrapping
pinStrapPinLayer
pinStrapWidth
strapGateSourceDrainPins
tapCoverPinPercent
tapLowerViasCoverPinPercent
trunkOverDeviceViaCoverMode
trunkOverDeviceViaCoverPercent
twigLengthMatching
verGateTwigLayer
verGateTwigWidth
verNonGateTwigLayer
verNonGateTwigWidth
viaCoverPinWidth
Trunk to Trunk Section
connectTrunkType

C

Wire Assistant

Displaying and Hiding the Wire Assistant

Wire Assistant Graphical User Interface

Wire Assistant Title Bar Buttons
Wire Assistant Toolbar
Wire Assistant Sections

Wire Assistant Forms

Wire Assistant Visibility Form
Via Configuration Form
Trunk Mesh Routing Configuration Form (ICADVM18.1 EXL Only)

D

Preset File

E

Frequently Asked Questions

Frequently Asked Questions

Return to top
 ⠀
X