Product Documentation
Virtuoso Automated Device Placement and Routing Flow Guide
Product Version IC23.1, November 2023


Contents

1

Virtuoso Automated Device Placement and Routing

Important Terms in the Virtuoso Placement Flow

Environment Setup for Automated Device Placement and Routing Flow

Virtuoso Automated Device Placement and Routing Flow

Auto Device Placement and Routing Workspace

Auto_Place_Route Workspace

Customized Automated Device Placement and Routing Flow Steps

2

Initialize and Plan a Layout

Initializing a Layout in the Automated Device Placement and Routing Flow

Environment Variable Settings

Constraints in the Automated Device Placement and Routing Flow

Generating Constraints and Constraint Groups

APR Circuit Finders

Generating Constraints for Design Intent Device Groups

Editing a Design Intent

Editing a Modgen in the Automated Device Placement and Routing Flow

Setting Options for Custom Layout Design Migration

Deriving Row Regions and Grids in the Automated Device Placement and Routing Flow

3

Device Placement Using the Auto P&R Assistant

Placement of Non-Uniform Devices and Passive Devices

Placing Devices Automatically in the Automated Device Placement and Routing Flow

Automatic Placement Report

Placing Devices in Mature Node Designs

Placing Devices Interactively in the Automated Device Placement and Routing Flow

Interactive Placement Commands

Placing Multi-Height Devices Using Automatic Device Placer

Base Layer Fill in the Automated Device Placement and Routing Flow

Generating and Deleting Base Layer Fill

Deleting Fill

Troubleshoot Poly Fill Generation

4

Virtuoso Automated Device-Level

Configuring Device-Level Router Settings

Generating Width Spacing Patterns for Device-level Routing

Checking Layout Routability after Generating Grids and Running Device Placer

Generating a Supply Grid

Routing in Automatic Mode

Finishing Routing for Signal Nets

Generating Mesh for Selected Nets

Generating Pin to Trunk Routing for Selected Nets

Viewing and Analyzing Device-Level Routing Results

A

Automated Device Placement and Routing User Interface

Auto P&R Assistant User Interface for Device-Level Placement

Initialize
Constraints
Setup
Place
Fill

Default Reuse Template Specification Form

Highlight Extract Group Form

Routing Assistant User Interface for Device-Level Routing

Routing Assistant Toolbar
Routing Assistant Tabs
Routing Assistant Command Buttons

Mesh Layer Setup Form

B

Automated Device Placement and Routing Flow Environment Variables

abutAutoGroups
activeToActiveMinFingers
activeToPRBoundaryMinFingers
adaDisableTab
addStackedMetalsOnNets
allowBackAnnotateForAllCells
allowM0OnUIControlsWhenApplicable
aprAssistantMode
apAwareMoveThreshold
aprCreateModgens
aprCreateModgenFromTemplate
aprEnableSetPPConn
apStartR0EvenRows
apUseCustomSettings
arrangeByVGs
arrayTemplateFileDir
autoPlaceAbutInstances
autoPlaceAbutmentSymAxis
autoPlaceAdjustBdryToUnplaceable
autoPlaceAdjustBoundary
autoPlaceCustomArea
autoPlaceSimilarityCost
autoPlaceAdjustRowRegion
autoPlaceAreaCost
autoPlaceExcludeList
autoPlaceFixedAR
autoPlaceFixedW
autoPlaceIgnorePassive
autoPlaceInsertTrims
autoPlaceLockFGAR
placePOverN
autoPlaceRegion
autoPlaceSelectedOnly
autoPlaceSymAxis
autoPlaceWireLenCost
backAnnotateAll
bottomWSPLayer
calcBBoxIgnoreMaterialTypes
calcFGBoxFromMember
check_displayLog
check_existingDRCs
check_generateMarkers
check_logDir
check_logFile
check_overwriteLog
colorToStackedMetals
connectAllMetalizedPins
controlDeviceLayers
createAlternateColoredWSP
createBidirectionalHalos
createDiffusionGrid
createMinimumN3Halos
createNonzeroWidthPoly
createPolyPattern
createPatternRegion
createRowRegion
createViaKeepoutMetalHalos
createViaKeepoutZoneHalos
definePNPattern
diffLayerNames
dummyFillCell
dummyFillEnableFillEmptyRow
dummyFillLib
dummyFillNeighbor
dummyFillNeighborMultipleMode
dummyFillNetMatchNeighbor
dummyFillNetName
dummyFillView
echoViaHalos
echoViaVariants
enableAlternateVias
enableDRCCompliantGridGen
enableDummyFill
enableGFGRowRegionSnapping
enablePlaceWithWsp
enablePolyViaHalos
extendPaths
extractDepth
extractStopLevel
fillRegionHonorTransitionSpacing
finGridLayerPattern
finGridMaterialType
flipFirstRow
flippedCellTypes
forceAbutM0Regen
ftiToActiveMinFingers
ftiToFtiMinFingers
ftiToPRBoundaryMinFingers
gateTrackSpacing
gateTrackWidth
genFlippedRows
globalRowHeightSnappingMode
gridOffset
groupPattern
ignoreColorCheck
ignoreInstSelfSymmetry
ignoreOverlapCheckProp
includeCellNameInRRName
includePassiveComponentPoly
importFromCell
importFromLib
importFromView
init_boundaryAspectRatioOrHeight
init_boundaryAspectRatioVal
init_boundaryHeightVal
init_boundaryUtilizationOrWidth
init_boundaryUtilizationVal
init_boundaryWidthVal
init_createPowerPins
init_generateBoundary
init_generateInstances
init_generatePins
init_mode
init_scope
init_useSourceLayout
init_useSourceLayoutBoundary
init_useSourceLayoutConstraints
init_useSourceLayoutInstances
init_useSourceLayoutPins
init_useCustomSettings
isOnlyAnalogCellFlow
matureOrAdvancedNode
mergeWeakPins
meshViaStackLimit
metal_Spacing
metal_Width
metal_WSPMode
migrationDir
modgenDummyFillType
modgenDummyTypeAnalogLCV
modgenDummyTypeStackLCV
modgenDummyTypeStackNum
modgenDummyStacksMinSize
multiConn
multiCutsOnPin
multiFingerTransFill
multiPolyWSP
nullViaVariantAnError
numSDTracks
numTopGateTracks
optimization
patternName
pdkMapping
pinPurposes
polyFillRegion
polyPurposes
postRouteTrigger
preferredLayerStrength
preferSmallestCutClass
preferStandardVias
preRouteTrigger
prouteGroupByLayer
prouteUsePinPurposeForCreatedPin
prouteWaivedMarkerLayer
regenModgenPostProcess
results_nets
results_netsWithin
results_supplyNets
route_connectBothSidesOfGate
route_connectInstsToTrunks
route_createRoutingAsAGroup
route_createTrunks
route_defaultRoutedView
route_deleteManualRouting
route_deleteTrunks
route_deleteWiresAndVias
route_displayLog
route_enableHierarchicalTrims
route_finishOverConstraints
route_finishOverDRCClean
route_meshExtendPreroutes
route_meshMinSkipTracks
route_meshMinSkipTracksCount
route_meshNets
route_meshNetsWithin
route_minimizeM0OnNets
route_nets
route_netsWithin
route_objective
route_overwriteLog
route_routedLoc
route_routingMode
route_saveRoutingOnly
route_supplyNets
route_updatePins
route_weightedSumDistance
rowHeight
rowRegionMode
sdTrackMode
sdTrackWidth
setup_checkDRCsAfterRouting
setup_createPolyPattern
setup_definePNPattern
setup_flippedRowsStartWith
setup_genFlippedRows
setup_gridOffset
setup_includePassiveComponentPoly
setup_insertTrim
setup_lockColorsAfterRouting
setup_patternName
setup_placementRegion
setup_rowRegionMode
setup_specifyGridOffset
setup_specifyRowHeight
setup_usePassiveComponentHeights
setup_useRowTemplate
shieldInsertBlockageInsideShieldGap
showOpensTreeBoxes
specifyGridOffset
stackDummyFingerCount
strictShieldHalos
supply_connectToTermAndGR
supply_createGridAsGroup
supply_createOnPNRegions
supply_createPinLabel
supply_createPins
supply_createPinsOnEnds
supply_createPinsOnPinPurpose
supply_defaultRoutedCellExpression
supply_defaultRoutedView
supply_deleteStripes
supply_deleteVias
supply_displayLog
supply_genSupplyStripes
supply_generateStaples
supply_IgnoreBoundaryTracks
supply_IgnoreBoundaryVias
supply_insertVias
supply_nets
supply_netsWithin
supply_overwriteLog
supply_pinLayers
supply_routedLoc
supply_pinLayerSet
supply_saveRoutingOnly
supply_shareTracks
supply_useExisitingPGTracks
tieShieldTieCellList
topWSPLayer
trackWidth
transitionFillFingerCount
transitionUseDummyCell
useHaloFile
useLayoutAsSeed
usePassiveComponentHeights
useRowHeight
useRowTemplate
vgFillSpacePitchesOrUserUnit
vgFillSpaceSpecifyUnit
vgHorizontalIntraGroupSpaceInPitches
vgHorizontalSpaceSpecify
vgPriority
vgSpacingMode
vgVerticalSpaceSpecify
viaParamOverrides
wireTypeAbbrev

Return to top
 ⠀
X