Product Documentation
Virtuoso Symbolic Placement of Devices User Guide
Product Version IC23.1, June 2023


Contents

1

Introduction to Symbolic Placement of Devices

Licensing Requirements

Benefits of using SPD

The SPD Flow

Prerequisites for Running SPD

Source Schematic File
Configured Physical Hierarchy of Target Layout
Component Types
Parameter Name Mapping
Permute Rules
Layer Functions and Minimum Spacing Rules
Libraries Defined to Execute SPD
User-Defined Abutment Callback Functions
User-Defined Flow Callback Functions

2

Getting Started with SPD

Generating a Symbolic Placement

Generating a Symbolic Placement from Schematics XL
Generating a Symbolic Placement from Layout XL

SPD Editing Window

Menus
Toolbars
Canvas
Highlighting and Selecting Data

Understanding the Symbolic Design

Row-based Placement
Support for Multiple Rows
Device Representation
Displaying Flight Lines
Abutment
Stacked Devices
Saving an SPD Design
Exiting the SPD Editing Window

3

Editing Symbolic Devices

Loading a Design
Undoing and Redoing Commands
Moving Symbolic Devices
Abutting and Unabutting Symbolic Devices
Swapping Symbolic Devices
Flipping Symbolic Devices
Permuting Symbolic Devices
Stacking Symbolic Devices
Splitting Fingered Devices
Folding Symbolic Devices
Aligning Symbolic Devices
Generating Chained Devices
Adding Dummy Devices
Backannotating Symbolic Devices

4

Optimizing the Placement and Generating the Layout

Appending Components from the Schematic
Appending Partial Components from Layout
Removing Symbolic Devices
Packing the Design
Resetting Placement
Displaying Flight Lines
Reordering and Resetting Trunks
Probing Selected Nets
Checking Source or Updating Layout
Displaying Free Bucket Size of Devices
Previewing the Design
Generating the Layout

A

Symbolic Placement of Devices Forms

Abut
Align
Append Selected from Source
Check or Update
Dummy Options
Edit Stack
Flip Horizontal
Generate Chained Devices
Generate Folded Devices
Generate Layout
Load SPD Design
Move
Probe & Align
Save SPD Design
SPD Options

B

Symbolic Placement of Devices Environment Variables

List of SPD Environment Variables
abutSameWidthOnly
abutAllAutoFlipChain
alignGates
alignGateStyle
alignMos
autoAlignGates
autoPackInX
betweenRowPair
chainFolds
createPGTrunk
createPowerGroundRails
createSigTrunk
deleteExistingRails
expandSpacingForTrunks
flightLineConn
flightLineMode
foldingThresholdNType
foldingThresholdPType
freeSymbolLength
freeSymbolWidth
genLabel
genLabelFont
genLabelHeight
genLabelHeightValue
genLabelJust
genLabelLr
genLabelOri
genLabelPGLr
genLabelPGLrRatio
genLabelPGPur
genLabelType
heightNmosRegion
heightPmosRegion
highlightGatePattern
initDoChaining
initDoFolding
interdigitateChains
labelDisplay
launchRunOnce
layerVdd
layerVss
maxStackDepth
mediumSymbolMaxFins
mediumSymbolMaxLength
mediumSymbolMaxWidth
mediumSymbolMinFins
mediumSymbolMinLength
mediumSymbolMinWidth
mixPGFlightLinesSignals
optionsFile
pdPins
pgTrunkBeginEndType
pinDriven
placementPriority
PNmixedRow
preventGateShorts
preventWellShorts
reuseWindow
rowPattern
showPGFlightLines
sigTrunkLr
sigTrunkSpacingT2O
sigTrunkSpacingT2T
sigTrunkWidth
smartMoveInsertOnePos
smartMoveKeepChains
spacingNStack
spacingOd
spacingOdMode
spacingOdUserFunc
spacingPodNod
spacingPStack
spacingVddPod
spacingVssNod
spdDesignLibName
spdDummyLengthOptions
spdDummyLengthValue
spdDummyNet
spdDummyNumFingersOptions
spdDummyNumFingersValue
spdDummyWidthOptions
spdDummyWidthValue
spdMoveAfterAppend
spdRememberDummyVals
tabbedWindow
vddNetName
vssNetName
widthVdd
widthVss

C

Symbolic Placement of Devices Bindkeys

D

Symbolic Placement of Devices Videos


Return to top
 ⠀
X