Virtuoso Power Manager Guide: Product Version IC23.1 August 2024
Virtuoso Power Manager Guide: Product Version IC23.1 August 2024
Contents
1
Virtuoso Power Manager ......................................... 9
Licensing Requirements of Virtuoso Power Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Power Manager Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2
Virtuoso Power Manager Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Basic Flow in Power Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Recommended Use Model for Power Intent Creation and Verification . . . . . . . . . . . . . . 17
Power Intent of Large Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3
Setup for Automatic Extraction of Power Intent . . . . . . . . . . . . . . . 21
Registering Name-Based Supply Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Registering Regular Expressions-Based Supply Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Supply NetSet Properties Prefix Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Excluding Power and Ground Nets from Name-Based Registration . . . . . . . . . . . . . . . . 30
Registering Monitor Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
User-Defined Macros Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Registering Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Special Cell and Standard Cell Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Design Sub-Block Modeling During Top-Level 1801 Design Model Extraction . . . . . . . . 38
Reference Libraries or Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
MLDB Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Registering Device and Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Passive Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Resistors as Short Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Backtrace Enable Signals of Special Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Single Rail Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Stack Transistors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Terminal Name Registration for Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Performing In-Design Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Voltage Tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Setting Supply States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Registering Supply Set and Power Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Registering Port Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Miscellaneous Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Setup File Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Loading Power Intent Extraction Options from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Saving Power Intent Extraction Options to a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4
Power Intent Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Import Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Importing Power Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Redirected netSet Property Creation and Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Tie Connection Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Handling of Low Power Special Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Support of Hierarchical 1801 for Import Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Honoring Command Sequence and Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Removing Imported Power Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5
Running In-Design Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Defining the Severity of Design Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Level Shifter Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Isolation Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Bulk Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Checking a Design in Foreground Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Checking a Design in Background Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Loading the Violations Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Filtering Violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Generating Signal Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6
Exporting Power Intent of a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Export Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Extracting the Power Intent from a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Identification of Design Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Design Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Creation of Power Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Default Power Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Power View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Exporting 1801 Design Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Exporting 1801 Power Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Exporting Liberty Power Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Special Isolation Cells in Liberty Power Model Export . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Export of Switch Function and Isolation Enable Condition Expressions . . . . . . . . . . . . 174
7
Verifying Power Intent of a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Preparing and Running CLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Checking Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Power Intent Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Power Intent Verification Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
A
Virtuoso Power Manager Environment Variables . . . . . . . . . . . 185
addNotInGndPgFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
allowConstantExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
allowDomainWithoutElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
allowEmptyDomains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
allowInoutLDOPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
allowInoutMonitorPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
allowInOutPortAsRegulated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
allowIsUnconnectedAsAttrInLiberty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
autoCorrectNativePSWOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
considerShortThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
createExtractionLogFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
createPinsOnImport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
delimiterForInternalPower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
enableCDMAttr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
enableGlobalBTCaching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
exportSwitchFunctionDerivationForAllUsedVirtualSupplies . . . . . . . . . . . . . . . . . . . 206
exportIsoEnableConditionDerivationForAllTopIsolatedPorts . . . . . . . . . . . . . . . . . . 207
extractionLogPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
extractParasiticDiode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
lpDBGlobalSearchLibs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
lpDBGlobalSearchViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
lpDBPurgeOnDesignPurge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
lsSingleRailInputPrefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
maxConsecutiveTxChannelCrossingsForABT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
maxConsecutiveTxGateCrossingsForABT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
maxInputPinsForAlgoStdCellABT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
maxOutputPinsForAlgoStdCellABT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
minTimeElapseForProgressInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
overrideSigTypeFromSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
powerDownFunctionForIOPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
printAliveAndPermitAttributesinDotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
printBusBitDirectionInLiberty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
printCoupledSupplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
printModelInSDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
printProgressInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
printSupplyNetInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
reduceBoolExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
removeHierADSupForPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
removeHierSupForInPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
removeHierSupForOutPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
removeInternalNetFromPgFn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
removePST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
runIDCInBackground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
separatorForBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
signalPortsForIsoEnableConditionDerivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
singleRailAttrPropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
specialCellInfoFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
stopViewList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
switchPinForNoPortAtSwitchablePower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
switchViewList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
updateRelatedSuppliesForNorNandIsoPorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
updateShortAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
updateUnconnPortsforAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
useANDForMultipleSupplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
useNandNorBaseIsolationTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
vbHierScopeLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
vbMaxHierDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
virtualSuppliesForSwitchFunctionDerivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
writeMixedFormatPST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
B
Virtuoso Power Manager SKILL Functions . . . . . . . . . . . . . . . . . . . 257
vpmDefinePowerSwitchInstance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
vpmExportDotLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
vpmExportPowerIntent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
vpmExportPowerModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
vpmExportPowerIntentSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
vpmExtractPowerIntent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
vpmGenerateSigInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
vpmImportPowerIntent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
vpmImportPowerIntentSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
vpmLoadInDesignViolations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
vpmRemoveImportedPowerIntent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
vpmRemovePowerSwitchInstance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
vpmRunInDesignChecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
vpmSetViolationBrowserOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
C
1801 Support in Power Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
General 1801 Command Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
1801 Special Cell Definition Command Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
D
Virtuoso Power Manager Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Add 1801 File Binding Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Add Device Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Add Port Attributes Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Add Power Domain Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Add Supply Nets Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Add Supply Sets Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Add Supply State Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Export Liberty Model Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Export Power Intent Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Generate Signal Information Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Import Power Intent Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Load Violations Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Power Manager Setup Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Supply Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
In-Design Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Prepare CLP Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Run CLP Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Run In-Design Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Run In-Design Checks (Non-Blocking) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
1
Virtuoso Power Manager
Virtuoso Power Manager provides an interface to specify, import, and export low power
intent for designs. It provides the capability to perform static low power verification on
designs by using Conformal Low Power (CLP) integration with Virtuoso and supports
analog, digital, and mixed-signal implementations.
Power Manager, by using the import flow, can annotate and stitch the top-down power
connectivity for a hierarchical design by using the connectivity model for inherited
connections. Using the export flow, you can extract the power intent of a fully connected
design schematic. You can also generate a Liberty-based macro cell for custom blocks using
Power Manager for full-chip power intent verification.
When using special power-saving techniques for efficient power consumption, you often
implement stringent power schemes throughout the design that add to the overall complexity
while verifying the design. In addition, there are design scenarios that should be verified for
the correct functioning of a circuit, for example, the correct biasing of MOS devices. To
reduce the complexity, you should be able to perform a few basic-to advanced-level circuit
design checks on schematic designs. The In-Design Checks feature in Power Manager
provides such static checks that do not require circuit simulation.
The definitions of the power domains, power modes, and low power special cells specify the
power intent for a design. When you create a design that has some low power design
techniques applied, you should be able to:
■ Package and export the power intent along with the design by extracting the same from
a hierarchical schematic.
■ Verify the power intent of the design along with the functionality before it is further
instantiated in other designs.
■ Import an existing power intent and annotate it on the hierarchical schematic in terms of
a completely resolved top-down power connectivity.
Power Manager addresses the need for the creation and verification of power-aware designs,
including validating power intent changes during IP authoring. It provides the capability to
annotate the design's power intent-related issues on the schematic. Therefore, it helps in the
timely correction of power-related violations in the design.
Use Power Manager to specify, import, extract, and export the low power intent for designs.
You can capture the power intent for the design (including its submodules) and map the power
domains of an IP block with the domains of the designs. This helps in integrating an IP in the
design.
Power intent definition at the design level is needed to connect IP blocks, which could be
empty, partially complete, or non-structural, to top-level power ground (PG) pins. This
definition, along with incremental change in power intent resulting from design edits, can be
exported.
Low power verification is required to ensure structural and electrical accuracy for mixed-
signal designs. Native low power checks within the Virtuoso Power Manager environment
help in detecting low power violations during the IP authoring stage. The early feedback saves
iterations later in the cycle. In-design checks work at the device level and enable the structural
verification of custom AMS blocks. These are static circuit checks, which can be performed
to fix design issues before proceeding to the dynamic verification (simulation) stage. The
checks are performed after voltage propagation is done on the topology of a circuit. The
voltage propagation does not require a transient simulation; therefore, a static check is faster
than a dynamic check.
In-design checks are targeted to provide hints to designers about various low power and
structural discrepancies in the design and help in improving the efficiency of the design
development cycle by reporting design issues that can be fixed while the schematic design
is still under development.
Verification can happen early in the design cycle and natively within the Virtuoso environment
without invoking other tools; therefore, no data sharing or data translation occurs between
tools. All formats are supported for checks, such as 1801, Liberty, or dotlib. Inherited and
global power supply connections are also supported. In-Design Checks are applicable to
discrete devices. The checks also work on hierarchical and read-only designs.
You can start Virtuoso Power Manager by clicking Power Manager from the Launch menu.
Related Topics
Related Topic
The toolbar lets you access the various commands and related forms supported by Power
Manager. It is dockable and can be placed at the desired location within the window.
Refer to the following table for more information about the options on the toolbar.
Alongside, these options are also available from the Power Manager pull-down menu in the
workspace.
Related Topic
2
Virtuoso Power Manager Flow
The flows in Virtuoso Power Manager offer an automated solution for capturing the power
intent of a design. Usually for small designs, it is convenient to write the power intent
manually. As the design complexity increases, it becomes mandatory to have an automated
solution. The complexity in designs can be about multiple power domains, different voltage
levels, switchable power domains, or the functionality implemented using low power design
techniques by the use of low power special cells, such as level shifters, isolation cells, and
power switches.
You can seamlessly capture the power intent of digital, analog, and mixed-signal designs
and verify that the power intent has been implemented correctly. In addition, you can also
track power intent changes during IP authoring. You can export the power intent of the IP
design in the standard IEEE 1801 format, which can be further utilized by the SOC
verification team for full-chip low power verification.
Related Topics
Related Topics
Tip
CLP is a digital verification tool. It supports the inherited connections and global nets
with explicit p/g connections to the standard cells because it needs maximum low
power check coverage. CLP performs physical low power verification by tracing the
explicit p/g nets and deriving power domain information accordingly. This is the most
comprehensive design structural check.
7. Verify the power intent of your design.
See Verifying Power Intent of a Design.
Related Topics
Related Topics
3
Setup for Automatic Extraction of Power
Intent
To run in-design checks or to extract the power intent from a design, you need to provide
inputs that are required by the tool for correct identification of design topology and define key
set of rules. For example, you can define a setup that identifies all the power nets in your
design, creates power domains, creates supply states, or redefines the severity of certain
checks.
There are two options in the setup template to control the enabling of the project-level (CAD)
settings in the final merged setup loaded for Power Manager.
■ loadEnvironmentOptions:
You can define these options in the setup if you want to read the project-level setup initially or
always want to ensure that the user-defined setup is synchronized with the project-level
(CAD) setup.
The final setup is the result of merging all the three setups, which can be verified by exporting
in the file:
vpmExportPowerIntentSetup("random_computation_flat" "random_computation_top"
"schematic" "lpSetup_export.il" ?filter "allSetupOptions" ?overwriteExisting t)
Currently, if there are common settings in the setup file, for example, supply nets are specified
in CAD and user-defined setup, the user-defined setup has a higher precedence.
Caution
The Power Manager Setup form gives you the flexibility to dynamically
switch and update more than one design for power information. However,
it is recommended to update one design at a time, close the form, and
reopen it for updating the power intent information for a different design.
This ensures that the setup information is not inadvertently lost when
switching from the setup for one design to the other.
Related Topics
Registering Libraries
Miscellaneous Settings
5. Press Shift + Ctrl to select nets and register them as power or ground. Simultaneous
registration of existing and user-defined nets as power/ground is possible.
Important
The existing nets shown in the Add Supply Nets form are the nets corresponding to
the top-level ports of the design in consideration.
You need to specify the voltage values of the net for the top-level supply nets. You also need
to register internal nets, such as low drop out (LDO) nets or output of a voltage divider, and
provide the voltage values for such internal nets. For a hierarchical design, the voltage values
specified from the top-level nets are propagated to the levels below in the following ways:
■ If the cells used in the design do not have their associated Liberty file, the voltage
propagation for them happens hierarchically as per the top-level voltage values.
■ If the cells used in the design have their associated Liberty/1801 cell bindings, the
voltage map (from Liberty) or power states (from 1801) are expected to match the
voltage levels specified for top level supplies.
You can also define multiple voltages for a top-level net. If you define multiple voltages for both
power nets and ground nets, Power Manager considers all possible supply states based on
all the supply net voltages provided in the setup. In-Design Checks consider all possible
supply states based on all the supply net voltages provided in the setup information. The
supply states are created depending upon the unique voltage values for a power net–ground
net pair.
Consider a voltage specification with supplies VDD, VSS, and VDD1V2 where VDD is 0.8V and
1.0V, VSS = 0.0V and 0.4V, and VDD1V2=1.2v.
netVoltages (("VDD" (0.8 1.0))
("VDD1V2" (1.2))
("VSS" (0.0 0.4)))
You must provide the supply net voltage values for creating the power states based on the
switching behavior of the corresponding supply nets.
Specifying net voltages in the setup is not mandatory if the import flow is used.
Related Topics
Registering Libraries
Miscellaneous Settings
3. Click OK.
Power Manager checks for the presence of the registered nets and identifies them as power
or ground nets. These registered nets are used to create power domains.
Note: You must register the top-level supply nets for cells that do not have an associated
Liberty model.
Related Topics
Registering Libraries
Miscellaneous Settings
Supply NetSet Properties Prefix section on the Supply Nets tab of the Power Manager
Setup form.
For non-Liberty cells, the supply name can also be derived from the prefix of the property
name used in the net expression for supply net connectivity. Power Manager creates property
names for net expressions with a specific prefix as specified in the setup. Prefix matching
helps to identify the power/ground type for lower level cells when the tool creates redirected
netSets for resolving supply net connectivity to the top level supplies.
For power/ground type, precedence is given to supply net names that are already registered
in the setup. Else, the property prefix name is used. The prefix name is registered in the setup
for different supply types such as follows:
powerNetPropPrefix - vdd
groundNetPropPrefix - vss
pwellNetPropPrefix - hSup_sub
nwellNetPropPrefix - lSup_sub
deeppwellNetPropPrefix - hSup_sub2
deepnwellNetPropPrefix - lSup_sub2
Related Topics
Registering Libraries
Miscellaneous Settings
defined in the Regular Expression Based Registration section or defined using the
signal type.
2. Use the Regular Expressions field in the Excluded Nets section to specify one or
more power or ground regular expressions that have been registered using the Regular
Expression Based Registration section or defined using the signal type.
For example, if the regular expression of power net is VDD, the nets such as VDD, VDDD,
AVDD VDD_SUB, VDD_PH, VDD_PHY, VDD_PH1, and so on, are specified as power nets.
However, if you want to exclude all nets containing OUTVDDE from being power nets, you
can specify OUTVDD to be excluded as a regular expression.
3. Click OK.
Related Topics
Registering Libraries
Miscellaneous Settings
Specify values in the Names field to register a subset of specific net names that have been
registered in the Regular Expression Based Registration section or defined using the
signal type as Monitor Nets.
Similarly, specify values in the Regular Expressions field to register a subset of power or
ground regular expressions that have been registered in the Regular Expression Based
Registration section or defined using the signal type as Monitor Nets.
Related Topics
Connectors
Stack Transistors
In a setup file, you can specify user-defined macro cells in following manner:
userMacroCells ( ("hierCell2" "pwr_test" "hierCell2" "schematic")
("hierCell" "pwr_test" "hierCell" "schematic"))
Related Topics
Registering Libraries
Miscellaneous Settings
Registering Libraries
Use the registration options on the Libraries tab to register the libraries-related information.
This information is used by Power Manager to read the standard and special cells modeling
information. It is required to extract the power-related attributes of standard and special cells
and avoids the need to access these cells for tracing the related supplies corresponding to
the boundary ports.
Use the Liberty/Tech Files and 1801 File binding sections to specify the Liberty models
or 1801 special cell definition files as follows:
1. Click to add and to remove the Liberty/Tech Files.
Optionally, you can register a cell and bind it to its existing 1801 power intent file. The
power-related information is read from the existing 1801 bound to the cell.
Related Topics
Registering Libraries
Power Manager extracts level shifter strategy, isolation strategy, and power switch strategy in
the power intent based on the definition provided in a 1801 special cell definition file or Liberty
models. The in-design checking uses the same information to verify the power domain
crossings with or without these special cell instances.
You can register these cells in any of the following two ways:
❑ The voltage map specified in the Liberty files is used to extract the voltage levels of
the corresponding supply and ground nets used.
voltage_map( VDD , 1.100000);
❑ The cell type specified in the Liberty files is used to identify the type of low power
special cell or the standard cell, and extract it accordingly during 1801 power intent
extraction or running In-Design Checks.
cell(Isolation_Cell) {
is_isolation_cell : true;
❑ The function attributes specified in the Liberty files are used as follows:
❍ The switch/enable function of the low power special cells is used for finding the
switch functions, enable conditions, and for backtracing the control/enable
signals of the special cells, such as power switch cell, isolation cell, and enable
level shifter cells, for any of the boundary ports.
pg_pin(VDDSW){
switch_function : "psw_en";
pin(out_iso) {
isolation_enable_condition : "en_iso";
❍ The output function of the standard cells is used during backtracing of the
control/enable signals of the low power special cells that are generated by some
combinational logic, for example, output of a NAND gate. Here for a NAND gate
Liberty function attribute of its output can be used.
pin (Y) {
direction : "output";
function : "(!((!AN) B))";
When you provide a special cell definition file at the location specified in the setup file,
before extracting the power intent, Power Manager reads the given file and recognizes
the cells specified in that file as special cells. The 1801 special cell definition file aids in
modeling of these cells by specifying the related attributes in their definition.
❑ Cell type
❑ Supply ports/Switchable supply ports
❑ Data ports
❑ Enable/control ports
❑ Voltage range
❑ Cell-specific attributes
Example:
define_isolation_cell -cells ISOHLDX1_OFF -power ExtVDD -ground VSS -
clamp_cell low -enable !ISO
define_level_shifter_cell -cells LSLHX1_TO -direction both -input_power_pin
ExtVDD -output_power_pin VDD -ground VSS -input_voltage_range {{0.8 1.4}} -
output_voltage_range {{0.8 1.4}}
define_power_switch_cell -cells HSWX1 -type header -power ExtVDD -
power_switchable VDD -ground VSS -stage_1_enable PSO -stage_1_output PSO_out -
exclude { HeadSwitch_WrapperA HeadSwitch_WrapperB }
Note: Use this method to register special cells for the standard and verified standard cell
libraries, which do not have the Liberty models available. This method can also be used
to register custom standard cells.
Setup registration for Liberty models and the special cell definition file is as follows:
libFiles (
"libs/fast_vdd1v0_basicCells.lib"
"libs/fast_vdd1v2_extvdd1v0.lib"
"libs/macro_lib.lib"
"libs/Headswitch.upf"
)
Note: Power Manager also allows you to define specific level-shifter, isolation, and
power switch instances. For more information, contact Cadence customer Support
Related Topics
Registering Libraries
MLDB Libraries
Note: If the top design is large, the power intent extraction step might lead to memory-
related issues. Therefore, for large designs, follow the bottom-up approach. In this
approach, you can first extract the power intent of sub blocks separately in 1801 files and
then associate the 1801 files with their respective instances in the top design. After this,
when you extract power intent for the top design, the tool consumes less memory. Also,
you can apply the bottom-up approach when extraction options cannot be shared
between the top design and the sub blocks. For example, when the power / ground nets
definitions, power / ground net voltage definitions, or power net-ground net voltage pairs
definitions in the top design are different from the sub block definitions.
Related Topics
Registering Libraries
MLDB Libraries
Related Topics
Registering Libraries
MLDB Libraries
MLDB Libraries
Power Manager processes the Liberty files to read the standard cell, special cell, and macro
cell model definitions and stores them in an OpenAccess-based proprietary database. This
avoids the need to reprocess the Liberty files every time a command is executed. Such a
database is called Model Library database (MLDB). MLDB reads and stores the PG pins,
pins, and the non-characterized attributes for the various cell models provided through Liberty
files. These attributes are saved in a different library than the design or PDK library, which can
be utilized in various projects to extract details instead of parsing the Liberty files every time.
This can save a lot of run time that is required to parse large Liberty files if it has to be done
repeatedly for extracting power-related attributes. If no user-specified library is provided, the
database is in-memory and can be used only for a particular Virtuoso session.
MLDB creation requires a new library to be created. The library includes a tech.db file,
which contains all the power-related attribute information that is extracted by a single traversal
from the registered Liberty files. The setup registration for MLDB is:
projectMldbLibName "MLDB_TESTCELL"
A new .lib file is added to MLDB only in one of the following conditions:
■ You have re-imported a modified setup specifying additional .lib files and removed
.lib files that are not required anymore.
■ You have run a VPM command, such as extract power intent or import power intent.
The modified MLDB is saved when closing all the files or exiting Virtuoso.
Related Topics
Registering Libraries
important for the supply traversal to find the related supplies of the boundary ports associated
with the design logic.
If the Library Name or a cell name field is left blank, all available libraries (for a particular cell
name pattern) or all available cells (for a particular library name pattern) will be accounted for
and register based on the wild character specification.
Devices used in the design, such as MOS devices, resistors, capacitors, and diodes, need to
be registered in the setup under the following categories.
■ Transistors (nfet, pfet, npn, pnp)
■ Short devices (including devices with n terminals)
■ Pad cells
■ Cells to be ignored
Related Topics
Registering Libraries
Miscellaneous Settings
Passive Devices
Passive devices, such as resistors, capacitors, short, and diodes are considered as special
cells and registered in the setup depending upon how they are placed in the design.
Ensure that you register passive devices associated to a condition as mentioned in the setup
file. For example, certain configurations in designs might require the resistors not to be
registered as short devices.
The multi-term shorting of devices under the Short category is considered only during macro
model extraction. However, it is not considered while netlisting, which is a part of CLP
integration. Therefore, it leads to an error during CLP verification.
Connectors
You can register cells under the connectors in the following scenarios:
■ While relating power nets with ground nets for establishing power ground net pairing.
When the extractor traces the power to the ground paths in order to pair power and
ground nets, if there is a connector instance in the path, the related terminals of the
registered connector instance (a multi-terminal cell) help to continue tracing from one
end to the other end.
■ While backtracing the data path from the control pins of the special cells to the macro or
design ports to generate the enable or shutoff condition for low power rules or power
domains.
Capacitors used in the data path mostly for the purpose of AC coupling are treated as
connectors. The capacitors that are directly connected to power or ground for the purpose of
blocking DC signal are treated as ignored or open. These are blocked for supply/ground
tracing. The multi-terminal capacitors are also registered as devices.
Note: You can also use the wildcard character in the Ignore, Short, Buffer, and Inverter
registration.
Diodes can be used in the design for the different purpose like in an antenna or ESD clamp
structures. Their registration in a setup is specific to the polarity configuration in which they
are connected.
diode (
("analogLib" "diode" nil (nil pTerm "PLUS" nTerm "MINUS"))
)
A diode is referred to as an antenna diode if the nTerm of diode is connected to power and
pTerm of diode is connected to a pin. Or, pTerm of diode is connected to ground and nTerm
of diode is connected to a pin.
Antenna diode-specific attributes are printed for input & inout terms connected to the antenna
diode.
Power Type:
pin (MyInput) {
antenna_diode_related_power_pins : "VDD";
...
}
Ground Type:
pin (MyInput) {
antenna_diode_related_ground_pins : "VSS";
...
}
A parasitic diode is formed between the source or drain terminal of a MOS device and the
bulk terminal. Here is an example of a PMOS device and a parasitic diode.
For a PMOS device, a diode that has the anode connected to the signal net and the cathode
connected to the power supply is extracted. In this case, it is a power type diode.
antenna_diode_related_power_pins : "VDD";
For an NMOS device, a diode that has the cathode connected to signal net and the anode
connected to ground supply is extracted. In this case, it is a ground type diode.
antenna_diode_related_power_pins : "VSS";
Related Topics
Passive Devices
Connectors
Stack Transistors
Liberty registration for standard and special cells in the setup is a mandatory requirement to
extract a correct function for the enable or control signals of low power special cells as per the
design implementation
buffer (
(nil "stdBuf*" nil)
("gpdk*" "buf*" nil (nil shortedTerminalMap (("p" "q") ("o" "y"))))
)
Note: The terminal map is a mandatory requirement for backtracing when a cell contains
multiple input and output and is registered as an inverter or a buffer.
■ For standard isolation or level-shifter instances, signals are backtraced from output pin
to input pins. For power switch instances, the signals are backtraced from the
acknowledge pin (buffered enable) to enable the pin of the instance. This lets the
backtracing to be performed for the control signals of all the power switch cells to the
same macro port resulting in the correct enable and shutoff conditions.
■ For simple logic gate, the backtracing is done through the special cell enable pin to the
output pin of the logic gate that has multiple input pins is supported. All input pins of a
logic gate can be backtraced separately to the maximum extent possible.
However, a cell can be registered as LogicGate (simple logic gate) only if it matches any
of the following criteria:
■ A custom logic can also be registered with the desired terminal mapping between its
output and input ports to be suitably backtraced if it lies in between the enable/control
signal and the boundary port generating it. For any block net, all the modules from parent
of leaf cell to parent of block net are checked if one or more of these are custom devices.
In case, more than one modules are found as custom devices, the top most module is
given the priority.
customLogic (
("ALIB" "WiFi" nil (nil relatedTerminalMap
"y1=x1&x2,y2=x3|x4,y3=x5^x6"))
)
)
■ The user-defined macros and switch functions in internal and regulated nets can be
backtraced.
■ You can print the derivations of switch_function and isolation_enable_condition
expressions.
■ Power Manager also extracts the following user defined attributes:
❑ switch_function_off:
❍ String type user-defined simple attribute for pg_pin group
❍ Printed along with a switch_function
❍ A boolean expression of macro cell input pins that evaluates to 1 only when
output supply is fully OFF.
❑ isolation_enable_condition_off
❍ String type user-defined simple attribute for pin group
❍ Printed along with the isolation_enable_condition
❍ A boolean expression of macro cell input pins that evaluates to 1 only when the
isolation function of a level shifter or isolation cell is fully disabled.
■ The reporting of automatically identified transfer functions of cells/pins in the backtracing
path is also supported.
Related Topics
Passive Devices
Connectors
Stack Transistors
cell registration enables blackboxing of any hierarchical sub-block so that the extractor
recognizes it as a leaf cell. All ports connected to a single rail cell (directly or through some
elements) are mapped according to the port definitions as defined in standard cell
registration.
On the Device tab in the Power Manager Setup form, when you click after selecting the
singleRailCell device type, the singleRailCell Attributes form opens. Additionally, you
can view the form by selecting any cell registered as a single rail cell device.
ground "VSS"
pwell "VPP"
nwell "VNN"
deeppwell "VPPP"
deepnwell "VNNN"
)
)
)
power "VDD"
ground "VSS"
pwell "VPP"
nwell "VNN"
deeppwell "VPPP"
deepnwell "VNNN"
)
Related Topics
Passive Devices
Connectors
Stack Transistors
Stack Transistors
Stack Transistor devices are used in the advanced node designs for reduced power
consumption at lower gate lengths. Stack Transistor devices commonly used have the
following features:
■ The same master is used for creating different device variants, such as PMOS or NMOS.
■ The Stack Transistor device has a series of cascaded PMOS or NMOS devices inside.
■ A parameter on the device Pcell master defines the device type used inside for stacking.
On the Device tab in the Power Manager Setup form, when you click after selecting the
stackTransistor device type, the Device Parameter Names form opens.
When you click the stackMosfet device type, the Device Parameter Names form opens.
It is used to specify the device parameter names for the stack MOS device to define the device
as PMOS or NMOS. You can specify more than one parameter names.
Note: If the device terminal have names different from the conventional naming, you need to
provide a terminal mapping for the same during device registration.
In a setup file, the stack MOS device registration is represented as shown below:
stackTransistor (
Related Topics
Passive Devices
Connectors
Caution
If you are using a PDK that is not provided by Cadence, it is essential to
register the transistors and terminal names to ensure correct extraction
of boundary ports and automatic pairing of power nets and ground nets.
Related Topics
Passive Devices
Connectors
Stack Transistors
Note: For reporting violations generated from a specific check, the error severity for that
check must be set to Error or Warning. If set to Ignore, the reporting of violations for
the corresponding check is disabled.
2. Add filter patterns in the Filters field to filter some of the error and warning messages.
These errors are reported and exist in the design, but these are not a problem for the
design in the given scenario.
Voltage Tolerance
The Tolerance section provides the flexibility to add tolerance for power and ground rail
supply net voltage values for level shifter checks. All data path crossings within the tolerance
limits are not flagged as violations. All the upper bound tolerances are positive numbers or
zero and the lower bound tolerances are negative numbers or zero. The missing level shifters
are reported for the signal crossings operating at different voltages when at least one of the
following conditions, indicated by the GUI options, is true:
■ Input Voltage Upper Bound: The driver power voltage is more than the receiver power
voltage by the upper bound input voltage tolerance. This value should be >=0.
■ Input Voltage Lower Bound: The driver power voltage is less than the receiver power
voltage by the lower bound input voltage tolerance. This value should be <=0.
■ Input Ground Voltage Upper Bound: The driver ground voltage is more than the
receiver ground voltage by the upper bound ground input voltage tolerance. This value
should be >=0.
The following table shows an example of scenario's which would reflect a level shifter
error and the ones which would not reflect the error.
■ Input Ground Voltage Lower Bound: The driver ground voltage is less than the
receiver ground voltage by the lower bound ground input voltage tolerance. This value
should be <=0.
Related Topics
Registering Libraries
Miscellaneous Settings
As the number of power and ground supplies increases, their combination increases multiple
folds. To perform checks, it is critical to define the valid power states. Check the specified
supply states in a design. A voltage net can be ON at different supply voltages and off at a
particular voltage value.
For a power net, OFF is considered as 0 and ON can be 1.0V, 1.1V, 0.8V, and so on.
For a ground net, OFF is considered as the signal that is not available.
4. Additionally, use to copy existing supply states from the table. The Copy Supply
State form shows all the supplies with their respective voltage values of the currently
selected Supply State in the table. By default, the name of the copied state is shown as
"State Name + _copy". You can add, delete, or edit voltages and their values. You can
also modify the name of the state.
The Registered Supply Nets table in the Supply Nets tab is always in synchronized
with the Supply States. If the supply nets are already available and registered in the
Registered Supply Nets table, the same nets are available for selection in the Add
Supply State form along with different voltage values in the lists. Conversely, while filling
the Add Supply State form, if you introduce a new supply net with a set of voltage values,
the values are automatically updated in the Register Supply Nets table.
Note: The supply information registered in the Supply States table is read by the Power
Manager when the Use Supply States option is selected. If it is not selected, the supply
information is read from the Registered Supply Nets table in the Supply Nets section
of the Power Manager Setup form.
5. Select the check boxes in the Report Options section based on your preferences.
Related Topics
During automatic extraction, Power Manager identifies a power net and a ground net from the
pair defined explicitly in the setup as a supply set in the Export tab of the Power Manager
Setup form. It associates the supply set with the power domain as specified in the setup.
You can specify a supply set as a primary supply set for the power domains mentioned in the
setup. In addition, you can also define the supply set for the power and ground that cannot be
paired by traversing the design hierarchy or parsing the Liberty file.
The Supply Set field is automatically populated if the field is found blank or the user-defined
names are in the SS<delimiter>XYZ<delimiter>ABC format. The automatically
generated supply set names follow the
<SS><delimiter><powerSupply><delimiter><groundSupply> format.
The Power Domain field is automatically populated if the field is found blank or the user-
defined names are in the PD<delimiter>XYZ format. The automatically generated power
domain name follows the <domainPrefix><delimiter><supplySetName> format.
In the following example, the power net VDD and VSS are registered as a supply set, also a
top-level power domain is registered as PD_TOP, which is associated with this supply set
having power nets and ground nets as VDD and VSS, respectively.
;;; Supply Sets
supplySets (
(nil
supplySetName "SS_VDD_VSS"
power "VDD"
ground "VSS"
)
(nil
supplySetName "SS_VDDA_VSSA"
power "VDDA"
ground "VSS"
)
)
Note: Specifying supply sets and power domains in the setup is not mandatory if the 1801
import flow is used.
If you do not register power net and ground net pairs, the ground net associated with a power
net is automatically traced, consequently, creates a supply set and an associated power
domain. Consequently, all the other supply sets are created. This is possible only when there
exists a path from a power net to a ground net through a network of transistors and/or two
terminal devices. In other cases, you need to register the supply set.
Related Topics
6. Specify if it is the an Analog, Unconnected, and Feedthrough port and click OK.
You can specify the following for a particular list of ports defined using
portAttributes:
Driver and receiver supply set associated with the digital ports.
Analog and unconnected ports, where you can add a separate set of ports that do not
have the driverSupplySet or receiverSupplySet.
The port attributes specified using portAttributes should take the highest
precedence and override other definitions. The 1801 power intent extraction or the in-
design checks consider the attributes specified for ports by using portAttributes, if
registered in the setup template. If you specify both the driver and the receiver supply set
for a port, they are used during extraction. If you specify only a driver supply set for input
port, the 1801 power intent extraction or the In-Design Checks use it and trace only the
receiver supply set and conversely.
7. Select the following options in the Export Options section to control the extractor
behavior for the specific design scenarios:
❑ Consider inputOutput terms for internal power criterion: For details, see
allowInoutLDOPins.
❑ Consider inputOutput terms for monitor power criterion: For details, see
allowInoutMonitorPins.
❑ Consider symmetrical source and drain for supply tracing: Defines a port with
a predefined supply set or power domain that can be checked for the correct or
compatible connection at the receiver side. By default, this option is deselected.
Supply tracing is done by Power Manager for MOS terminals (Source and Drain) by
considering them asymmetric in nature. When this option is selected, Power
Manager traces through all devices irrespective of the way they are connected in the
design.
❑ Use anonymous supply for top level ports: Enables the use of an anonymous
supply for the top-level ports instead of the default supply set.
Related Topics
Miscellaneous Settings
Specify the generic settings on the Miscellaneous tab.
■ Delimiter
Used for specific notations, for example, redirect netSets created during the 1801 import
flow, automatically generated supply set and power domain names, and so on.
■ Switch View List to schematic symbol: It controls the order of the traversal of the
design hierarchy during power intent extraction.
■ Stop View List to symbol: It defines the stop point where the design traversal must be
stopped by the extractor during power intent extraction.
switchViewList and stopViewList can be specified in the Power Manager setup
template or defined using the switchViewList and stopViewList environment variables.
■ Use Signal Type (considerSignalType) to ignore or consider the sigType attribute
of nets for detecting the supply nets during power intent extraction. By default, this option
is set to nil and the attribute is not considered during name-based registration for
detecting supply nets. However, if set to t and there is a conflict between the sigType
attribute and name-based registration, name-based registration takes precedence.
❑ Setting the signal type to identify the power nets and ground nets
Each net has a Signal Type attribute that when set to power or ground can be
used to identify the net as a power net or a ground net, respectively. The default
signal type of a net is signal. During the automatic extraction, Power Manager
looks for the considerSignalType attribute. When set to true, it creates power
domains considering all the nets that have the signal type defined as power or
ground.
Note: If there is a conflict between the sigType attribute and name-based
registration, name-based registration takes precedence.
You can set the signal type for pins or nets in your design in one of the following
ways:
❍ Select a pin or net on the schematic and in the Property Editor assistant, update
the Signal Type property.
❍ Right-click a net and choose Properties to open the Edit Object Properties
form. Update the Signal Type property in this form.
❍ Specify the appropriate signal type while creating a new pin by using the
Create Pin form. The Signal Type field, which is by default set as signal,
specifies the pin type.
For the power pins, you can set the value in this field as power.
If you use a specific set of names, such as, vdd, vdd!, or VDD, for the power pins in
your designs and vss, vss!, or VSS, for the ground pins, it is recommended that
you register those names by using the ciRegisterNet API in .cdsinit file. If you
use a registered name for a pin on the Create Pin form and the signal type is set
as signal, the default value, the tool automatically sets the signal type of that pin
as power or ground respectively. In that case, you need not specify the signal type
explicitly for each new pin or net created in the design. Later, if you do not need to
use the registered names, you can set the registration as nil.
The name-based registration in the setup file template for the Power Manager is as
follows:
;;; Supply Nets
supplyNets (nil
power (nil
names ("vdd" "avdd" "dvdd" "VDD" "AVDD" "DVDD")
regExprs ("[vV][dD][dD]" "[vV][cC][cC]")
)
ground (nil
names ("vss" "avss" "dvss" "VSS" "AVSS" "DVSS")
regExprs ("[vV][sS][sS]" "[gG][nN][dD]" "gnd*")
❑ Select Load Setup From Environment and Use Setup Changes From
Environment to load setup or change the environment setup.
Related Topics
Registering Libraries
;;; Devices
devices (nil
cap (
("analogLib" "cap" nil)
)
pfet (
(nil "pmos*" nil)
("analogLib" "pmos*" nil)
("gpdk*" "pmos*" nil)
)
nfet (
(nil "nmos*" nil)
("analogLib" "nmos*" nil)
("gpdk*" "nmos*" nil)
)
short (
("analogLib" "res" nil)
("analogLib" "rcwireload" nil
(nil
shortedTerminalMap (("t1" "t2") ("t3" "t4" "t5"))
)
)
)
diode (
("analogLib" "diode" nil
(nil
pTerm "PLUS"
nTerm "MINUS"
)
)
)
)
nwellNetPropPrefix "vss_sub"
deeppwellNetPropPrefix"vdd_sub2"
deepnwellNetPropPrefix"vss_sub2"
;;; replaceExistingLibs
replaceExistingLibst
;;; Delimiter for use in power intent objects like Supply Set Names
delimiter"__"
;;; Set if the options not overridden by the user are to be updated
pushUnmodifiedEnvOptionst
;;; Use anonymous supply set for non-annotated top level ports
topPortsHaveAnonSupplyt
)
Related Topics
Registering Libraries
Important
The Load option adds setup information from the file to the setup form. To put on the
changes, click Apply.
The setup can also be imported by using the vpmImportPowerIntentSetup SKILL function.
This can be used for batch mode processing. The common settings can also be saved in
.cadence/dfII/vpm/lpSetup.il without the need to reload the setup. These settings
can be referenced in any cellview.
Related Topics
3. Browse the file. The tool saves all the extraction options and settings to the file.
4. To apply the changes, click OK.
Important
A confirmation dialog is displayed when you click the Cancel button of the Setup
form. It ensures that the unsaved data can be saved in time.
Related Topics
4
Power Intent Import
If the power intent for a design is available in the required (1801) formats, you can import it to
update the design with the specified power intent. For this, it is required that the cellview is
editable. You can import the power intent to specify it for a cell being instantiated in the design.
If you create instances of an IP block in the design for which power intent is available in a 1801
or Liberty file, you can import the file and update the design as per the power intent in the file.
This helps in correctly connecting the power domains of the IP to the power domains of the
top-level design. In addition, you can register special low power cells that are imported from
the library.
Related Topics
Import Flow
Import Flow
You can import the power intent and utilize it in the following scenarios:
■ Use the power intent specified for a design in the top-down power propagation scheme.
If you have a hierarchical schematic design for which the power intent is available in a
1801 file, you can import the 1801 file and update the power connectivity of each
hierarchical block used in the design as per the power intent. This enables in correctly
connecting the power domains of the IP to the power domains of the top design (SOC or
a chip).
■ If you have a digital block with a Verilog netlist available from a digital place and route
tool, supply connectivity can be built for this block by using the Cadence Verilog Import
flow along with the initial imported power intent available for SOC where the digital block
is integrated. This defines the power requirements across digital and analog boundaries.
■ Register special low power cells that are imported from a 1801 special cell definition file.
The registered details are consumed by all the designs that use this file for creating the
power connectivity of the cells as per their power domains. The special cell definition file
is registered to be included as per the setup. For details, refer to Registering Supply Set
and Power Domain.
The special cell rules are read as specified in the input 1801 file to create the
corresponding supply connections and resolve them for the top supplies. In a hierarchical
design for cells that do not have an associated Liberty or a special cell definition, supply
nets information is gathered from the different levels of hierarchy. Power Manager
traverses down the hierarchy to the level where it finds supply nets of inherited nets (Net
Expressions) or explicit supply terminals.
■ Reading the input 1801 power specification.
The power intent is read from the 1801 file and is updated in the design with all the 1801
commands supported by Power Manager. All unsupported commands or unsupported
arguments of the supported commands are flagged in the log.
■ Creation and optimization of the redirected netSets.
netSet properties are created in the design hierarchy, wherever required. This enables
the top-level block to be instantiated in another top-level SoC schematic. The inherited
pins are created in the block schematic. The inherited terminals have the same name as
the supply nets in the 1801 file. The tie connections are resolved in the design hierarchy.
■ Creation of the top-level supply ports and supply nets.
Supply pins are created corresponding to the power domain nets and global nets during
1801 import by reading the create_supply_port and create_supply_net
commands for a successful LVS check.
Refer to the following scenarios that are considered while creating the pins.
❑ If a pin already exists and it belongs to the same net as mentioned in the 1801 file,
it is used.
❑ To create an inherited pin, a pin that exists in the same net as mentioned in the 1801
file is used. However, the pin net should be global and should match the power
domain net for which the pin needs to be created. The pin is converted into an
inherited pin by associating a terminal net-expression with the existing pin. If the
existing pin is already an inherited pin but with the different net-expression, the net-
expression is replaced.
❑ All pins created during the 1801 import are removed when you click Remove Power
Intent. If any pin existed prior to import and was converted to an inherited pin or the
net-expression was changed, it is converted back to a normal pin or the original net-
expression is restored, respectively.
❑ For the 1801 import flow, pins are not created in the design schematic for the supply
nets that do not have a corresponding create_supply_port command in the
input 1801 file. These supply nets are internally generated supply nets that have a
corresponding create_supply_net command in the input 1801 file.
The direction of the pins created aligns with the direction specified in the
create_supply_port command in the input 1801 file.
Tip
It is recommended that after importing a 1801 file, you run Check – Hierarchy or
the File – Check and Save. These commands create nets corresponding to the
netSet properties and set the signal type of power nets and ground nets according
to the power intent.
Related Topics
1. Click Power Manager – Import Power Intent. It opens the Import Power Intent form.
The currently opened cellview details are specified in the form automatically.
The following illustration shows the output for the supply port VDDA import when
createPinsOnImport has been set and Resolve Top netSets is deselected.
Important
Alternatively, the vpmImportPowerIntent SKILL function has been provided to
import the power intent information for a cellview.
Related Topics
vpmImportPowerIntent
Miscellaneous Settings
Wherever the property name is created, the prefix is added as mentioned in the setup to
identify various pg_type. Redirected property name is realized as
In a design if there is a hierarchy and no Liberty stop cell, Power Manager traverses to the
level where net expressions exist. Or, if the net expressions are already redirected to have
different property names, it is the reference for the tool to make the connectivity.
Related Topics
To avoid shorting of nets after importing the 1801 file, it is important that all such pins are
connected to wire stubs with a label. However, the wire stubs are not physically connected to
each other. To achieve this, use the two connect by name options, Connect Power Net By
Name and Connect Ground Net By Name, during Verilog import. This connects each tied-
off input pin with the wire stub that has a label. It enables you to modify the tied-off input pin
connections without creating incorrect connectivity in the design through shorting of the nets
during the 1801 import. Use create Net Expression as per the design requirement.
To resolve the tie connections of various instances, all the labels that require an update are
identified during import. The labels on the wire stubs that are attached to the tied-off input
pins are updated. These labels present at the top level or in the lower level block are identified
for updates based on the following conditions:
■ The label is attached to a wire, which has one end point floating (not connected to
anything) and the other end point connected to an instance.
■ The wire net name is registered as a power or ground in a setup.
■ Wire nets must have a netType property associated. The power nets must have the
netType property as supply1. The ground nets must have the netType property as
supply0.
Wire net having the netType property is one of the conditions because it ensures that the label
and wire have been added using Verilog In.
It avoids modification of labels in standard cells, for example, an inverter schematic can have
terminal MOS devices with bulk/source/drain terminals connected to wire stubs that have a
label, and the wire nets are registered as power or ground in the setup.
Once the target wire label is identified, the 1801 import flow processes these nets to create
unique inherited tie nets for each occurrence of such nets in the entire design hierarchy, for
example, tie0! or tie1!. This prevents shorting of nets during the import flow. The tie net
expression is further resolved based on whether it is a top-level net or a sub-block net.
■ For tie net at the top level, the instance pin to which it is connected is identified along with
the related power and ground net of the connected instance pin. The wire labels are
updated according to the 1801 file definition.
■ For a tie net in a sub-block, the instance pin to which it is connected is identified along
with the related power and ground net of the connected instance pin. The tie net
expression is resolved to its final power or ground value based on a netSet property.
The final resolution of the tie connections in schematic designs to the appropriate power and
ground nets mentioned in the 1801 file is aligned to the following rules:
■ For standard cell instances, the tie connection at the input pin is resolved with the power/
ground net of the power domain of the instance.
■ For isolation instances, the data pin with tie connection is resolved with the power/ground
net of the power domain in which the isolation cell is located.
■ For isolation instances, the enable pin with tie connection at the input pin is resolved with
the power or ground net of the always-on power domain of an isolation instance. This
depends on the –isolation_supply_set or default_isolation arguments
according to location or domain.
■ For level shifter instances, the data pin with tie connection is resolved with the power/
ground net of the input_supply_set argument.
■ For enabled level shifter instances, the enable pin with tie connection is resolved with the
power or ground net of the output power domain of the enabled level-shifter instance. If
the output_supply_set argument is not available, the supply set of the receiving logic
is considered.
■ For isolation and level shifter combo cell instances, the enable pin with tie connection is
resolved with the power/ground net of the input power domain of the enabled level shifter
instance.
Related Topics
If not specified, Power Manager finds the driver and load supply set for the level
shifter by traversing the design path and resolving the connectivity accordingly.
❑ If a level shifter instance is a single-rail cell, the load domain resolves the output PG
connections. input_signal_level is required in the Liberty model of the level
shifter to identify the cell type as single rail level shifter.
❑ If a level shifter instance is connected to an isolation cell at one end, the load or
driver domain on the other end is determined. If the driver domain is known, it
resolves the input supply connections. If the load domain is known, it resolves the
output supply connections.
Note: A single-rail level shifter cell has only output supply.
❑ If a level shifter instance is connected to an isolation cell at one end, the power
domain for the end connected to the isolation instance is determined from the
isolation instance. Therefore, the power domain at the isolation cell intersection is
the same as the power domain of the isolation cell itself.
■ Isolation Cell
Initially, the load and driver of the isolation cell are traced and then, the netSet properties
are created based on the criteria mentioned below.
❑ If an isolation cell is connected to a standard cell or a port on both the ends, the
power domains of the load as well as the driver are used to resolve the PG
connections and create netSet properties.
❑ If an isolation cell instance is a multi-rail cell and has a switchable power or ground
pin, then the switchable domain is used to resolve the switchable PG connections.
The non-switchable domain resolves the non-switchable PG connections.
❑ If an isolation cell instance is a single-rail isolation cell, only one of the load or driver
domain that is non-switchable is used to resolve the PG connections. The isolation
rule specified in input 1801 file assists in determining the load and the driver
domains. The rule will be considered to find a supply set based on
isolation_supply_set defined in the isolation rule. Isolation rules are specified in
input 1801 file as:
set_isolation ISO -domain PD_VDD_VSS -location self -elements {I1/In} -
isolation_supply_set SS_VDD_VSS -isolation_signal I0/en -isolation_sense
high -location self
Note: You can provide an expression containing multiple pins for enable in the
tech.upf file for isolation cells and level shifter cells. For example,
define_isolation_cell -cells ISOHX1_OFF -enable
"EN1&EN2&!EN3" -power VDD -ground VSS.
■ Power Switch
For power switch, the load and drivers supply along with the control net are determined
and the netSet properties are created accordingly. The power switch rule specified in
input 1801 file enables in determining the load and the driver domains. The rule is
considered to find a supply set based on input_supply_port,
output_supply_port and control_port.
Power switch rules are specified in the input 1801 file as:
create_power_switch I3_I0 -output_supply_port { VDD VDDSW } -input_supply_port
{ ExtVDD VDD } -control_port { PSO psw_en } -on_state { on ExtVDD {!PSO} }
-off_state { off PSO } -domain PD_TOP
Related Topics
create_supply_port commands mentioned in the parent 1801 file, along with that, it will
also obey the settings for createExtractionLogFile and ResolveTopNets.
For all the instances in the design, domain assignment is based on create_power_domain
and if no element has the power domain specified, it will belong to default power domain. In
case there is no default power domain in the scope, then its upper scope default power
domain will be looked at to assign the power domain.
Result: I0/I2 gets assigned to the power domain PD2 and not PD3
■ Explicit assignment of multiple domains to the same instance is an error and 1801 stops
the import process. This can be shown in the following case:
set_scope "/"
create_power_domain PD1 -elements {I0} ….
set_scope "I0"
create_power_domain PD2 -element { . } ….
set_scope "/"
create_power_domain PD1 -elements {I0} ….
set_scope "I0"
create_power_domain PD2 -element { . }….
Related Topics
Related Topics
5
Running In-Design Checks
The in-design checks aim to provide hints to designers for multiple design guidelines or
checks and helps in improving the efficiency of the design development cycle. Such checks
help checking complex mixed-signal designs that have multiple voltage islands, an increased
fusion of analog and digital blocks, more interfaces to check within analog blocks, an
increased use of complex power distribution, different modes for achieving power savings,
and the use of third-party IPs in various forms. You can also generate signal information for
the design, which can be used as a good debugging aid to analyze different power domain
crossings in a design.
In-design checks can be run on any physical design schematic having complete power
connectivity. Designs that have the power connectivity introduced post the 1801 Import flow
are also suitable candidates for running in-design checks.
Related Topics
Isolation Checks
Bulk Checks
Filtering Violations
Related Topics
Isolation Checks
Bulk Checks
Filtering Violations
❑ The driver ground voltage is more than the receiver ground voltage by the upper
bound ground input voltage tolerance.
❑ The driver voltage value is less than the maximum device voltage.
❍ The device-specific maximum device voltage value has been defined. The
violations are reported at:
❍ Pass-tx gate (exceeds maximum device voltage)
❍ The device-specific tolerance value has been defined. The violations are
reported at
❍ Pass-tx gate (missing level shifter)
❍ M9 and M10 gates (exceeds maximum device volatge)
❍ Negative voltage with common ground supply. The violations are reported for
PM1, NM1 (exceeds maximum device voltage)
❑ Tolerance Settings
You can define the lower and upper tolerance values for input and input ground voltages
in the Tolerance section.
The default value of the lower limit of the input power and input ground voltage is -0.10.
It should be less than or equal to 0.
The default value of the upper limit of the input power voltage and input ground voltage
is 0.10. It should be greater than or equal to 0.
power state.
some charge while in the ON state and could be slowly discharging towards 0V. This
discharge might enable PMOS gates and clamp the level shifter. Consequently, such
level shifter instances are categorized as potentially floating level shifters.
and the occurrence net (top level net) for at least, one of the off_supplies mentioned in
the definition, is in off state. If there are conflicting definitions across the span of the net,
a warning message is issued.
Related Topics
Isolation Checks
Bulk Checks
Filtering Violations
Isolation Checks
The following checks are performed for various types of isolation or level shifters in a design.
■ Missing isolation check
Reports all domain crossing involving at least one switchable domain and another
switchable or always on domain without isolation. The driver supply could be MOS drain
terminals, standard cell output, or output macro domain ports. Similarly, load could be
MOS gate terminals, standard cell input, or macro domain ports.
In addition, reports violations for the following scenarios when a receiver supply can be
floating if the driving isolation or level shifter cell supply is off.
❑ A level shifter output is considered floating if the level shifter output supply is off.
❑ A non-enabled isolation cell output is considered floating when the isolation supply
is off.
❑ A NAND isolation output can be considered valid if ground supply is off and enable
driver supply is on and the output pin is not specified as non-floating.
❑ A NOR isolation output can be considered valid if power is off and enable driver
supply is on and the output pin is not specified as non-floating.
❑ Any other enabled isolation cell output is always considered floating when the
isolation supply is off.
The check reports violations for the following scenarios where level shifter and isolation
cell data pins can be floating if the driver output supply is floating.
❑ A non-enabled level shifter input data pin that cannot accept a floating input.
❑ An enabled level shifter data pin that can receive a floating input if the supply for the
enable driver is on and the level shifter data pin is not specified as non-floating. A
non-enabled isolation cell data pin that cannot accept a floating input if the cell is
single rail.
❑ A non-enabled isolation cell data pin that receives a floating input if the cell is dual
rail and if the backup supply is on and the isolation cell data pin is not specified as
non-floating.
❑ An enabled isolation cell data pin that can receive a floating input if the supply for
the enable driver is on and the isolation cell data pin is not specified as non-floating.
■ Incompatible isolation check
Reports violation for an enabled isolation or level shifter cell if the related supply for cell's
enable pin is on but the supply for the enable pin's driver if off.
■ Redundant isolation check
Reports an error if the driver and receiver of an isolation cell are switched on and off
simultaneously or they are never turned off. This helps in optimizing the design area and
power by indicating the redundant circuit elements.
Related Topics
Bulk Checks
Filtering Violations
Bulk Checks
The incompatible bulk check flags transistors, which have the bulk terminal-related supply
incompatible with the related supply of its source or drain terminal.
■ For a P-type transistor, a violation is reported in the following scenarios:
❑ The voltage for the related bulk supply net is less than the voltage for the related
source or drain supply net.
❑ The bulk node is OFF compared to either the source or drain terminal that are fully
ON in a particular supply state.
■ For an N-type transistor, a violation is reported in the following scenarios:
❑ The voltage for the related bulk supply net is more than the voltage for the related
source or drain supply net.
❑ The bulk node is fully ON compared to the source or drain terminal that are OFF in
a particular supply state.
Related Topics
Isolation Checks
Filtering Violations
3. Select the appropriate value for the Scope field. The Library, Cell, View, and Instance
Path are read-only fields.
You should choose the Current Cellview option in the following scenarios:
❑ You have a Power Manager setup for the specific design. The setup includes specific
information for the design, such as supply states, supply nets, net voltage, and so
on.
Related Topics
Isolation Checks
Bulk Checks
Filtering Violations
3. Choose Power Manager – Run In-Design Checks. The Run In-Design Checks (Non-
Blocking) form is opened.
4. Select the appropriate value for the Scope field. The Library, Cell, View, and Instance
Path are read-only fields.
5. Specify the run directory.
6. Select Overwrite Existing Directory (directory will be removed) to replace any
existing run directory with the same name.
7. Click Start to initiate the In-Design Checks run in the background. Only the on-disk copy
of design is used for running the checks.
The View Run Log button is enabled to view the replay log for the background process.
8. [Optional] View the Run Status field and the graphic on the form being updated as the
run progresses.
9. Click the View Audit Log button when the background process has completed
successfully to view the audit log for the In-Design Checks run. Similarly, click the Load
Violations button when the background process has completed to view the
backannotated violations on the design.
10. [Optional] Click Stop to halt the active in-design checks run in the background if an
incorrect version of design is used or some updates need to be done in the design. The
run is stopped after you confirm.
11. [Optional] Click Close to halt the active in-design checks run in the background and
close the form. The run is stopped and the form is closed after you confirm.
Note: If you specify the run directory of a specific Virtuoso session in some other Virtuoso
session, the last saved status of the run is loaded. Subsequently, you can view the last results,
related setup file, and violations. You can complete the run if it was not completed earlier.
Related Topics
Isolation Checks
Bulk Checks
Filtering Violations
2. Select the appropriate value for the Scope field. The Library, Cell, View, and Instance
Path are read-only fields.
3. Specify the file name and click OK. The Annotation Browser displays the violations in the
design.
4. Specify the scope of the violations, which is based on the cellview hierarchy, to be
displayed in the Annotation Browser.
Annotation Browser provides easy and in-context error browsing mechanism through
context menu for the violation nodes.
Here is the list of the levels until which you can probe for various nodes:
❑ Right-click the Always Enabled Level Shifter node. Then, click Probe –
Inst/Driver/ Receiver.
❑ Right-click the Incompatible Level Shifter Signal node. Then, click Probe
– Net/Inst/Driver/ Receiver.
❑ Right-click the Incompatible Level Shifter Supply node. Then, click Probe
– Inst.
❑ Right-click the Missing Level Shifter node. Then, click Probe – Net/Driver/
Receiver.
❑ Right-click the Protected Level Shifter node. Then, click Probe – Inst/
Driver/ Receiver.
❑ Right-click the Redundant Level Shifter node. Then, click Probe – Inst.
❑ Right-click the Unused Enabled Level Shifter node. Then, click Probe –
Inst/Driver/ Receiver.
❑ Right-click the Bulk Error node. Then, click Probe – Inst.
❑ Right-click the Missing Isolation node. Then, click Probe – Net/Driver/
Receiver.
❑ Right-click the Incompatible Isolation signal node. Then, click Probe –
Driver/ Receiver.
❑ Right-click the Redundant Isolation signal node. Then, click Probe – Inst.
Related Topics
Isolation Checks
Bulk Checks
Filtering Violations
Filtering Violations
You can add the filter patterns to waive off violations in the Filters field on the Runs In-Design
Checks tab of the Power Manager Setup form. These indicate the permissive deviations in
the design. The tool filters the errors messages or violations matching the pattern specified
in the Filters field. The Annotation Browser does not display the filtered violations. All
matching violations are reported as the filtered messages in the In-Design Checks Report.
See Performing In-Design Checks.
Related Topics
Isolation Checks
Bulk Checks
Related Topics
Isolation Checks
Bulk Checks
6
Exporting Power Intent of a Design
The power intent of the design specified in the 1801 file acts as a design source along with
the logical intent (synthesized Verilog netlist). This collection of source input files is utilized by
different tools, including the formal verification tools. The 1801 information is expected to
successively refine at various design stages, one of which is the case where the design
information changes (ECO). Here, a 1801 file incorporating all the design changes is required
to be regenerated to have a logical equivalence with the updated design schematic.
The export flow enables you to extract the design connectivity from the schematic and export
the low power design intent to a 1801 file. This helps in adding the updated content in
incremental stages of IP authoring, which can finally be verified for correctness using CLP
along with a VerilogPG netlist.
Related Topics
Export Flow
Export Flow
The illustration below gives an overview of the export flow.
Related Topics
Design Partitioning
The library, cell, and view name list of the currently open cellview are shown in the form. The
fields specify the information of the cellview, which is non-editable, being extracted.
For a pure schematic-based design, Power Manager always extracts a flat (design model,
power model, or macro model) 1801. If there are hierarchical blocks in the design that have
their own associated 1801 file, the tool does not extract details of that block and generates a
hierarchical 1801, instead by integrating the 1801 file of the lower-level blocks. During the
Related Topics
Export Flow
Design Partitioning
Related Topics
Design Partitioning
Design Partitioning
A design can contain different types of cells. For example, the following example design
contains various types of blocks.
During extraction, the extractor handles each type of cell differently. For example, if a cell is
already bound with a 1801 file that was previously imported in the schematic of the cell, the
extractor refers to the1801file instead of re-extracting the power information of the cellview.
Similarly, for all multi-supply cells that contain primitive cell instances that were identified
during the partitioning stage, the extractor extracts the cellview-level power domain
information and stitches it to the top-level domains. Instances of single supply cells are
considered as standard cells and their power attributes are derived from their corresponding
Liberty model and stitched to the top-level power domains. Therefore, before extracting power
intent, the tool needs to identify different types of cells and blocks in the design.
During partitioning, the Schematic Editor traverses through the design and identifies the
following types of cells:
After the design partitioning, the next step is the design elaboration. The design elaboration
involves the creation of an Embedded Module Hierarchy (EMH), which is a model for storing
the hierarchical design data supported at the open access database level. For Power
Manager, this open access cellview is called the power view. The extractor traverses the
entire schematic hierarchy to achieve the following:
■ Builds a data structure that contains the OA equivalent objects from the database objects
encountered. The structure includes a top-level design, instances, nets, terms, instTerms
and net connectivity.
■ Utilizes all the instances of the cells that have Liberty models, associated power views,
and associated 1801 model.
■ Extracts power intent by tracing the connectivity. The connectivity tracing is done
considering the block domain of open access cellview, that is, the flat representation of
the entire schematic hierarchy in EMH.
■ Identifies power nets and ground nets and their equivalent power or ground nets by the
sigType in the schematic or the name-based registration in the setup.
■ Identifies switchable or non-switchable power nets or ground nets. This is the output from
switch supply pin of switch cell instances (Power Switch).
■ Pairs the power nets and ground nets. PG net pairing is done by looking at the related
PG pins of standard cell instances, special cell instances, macro cell instances. In
addition, pairing is also done by tracing a path between the top-block power and ground
nets through the source-drain terminals of transistors, shorts, and connector devices in
the top block.
■ Models various states where every single supply each state is assigned a specific
voltage or the state of supply sets, that is, collection of supplies instead of individual
supplies by using PST for exporting design and power models.
■ Assigns instances to the power domains.
■ Creates power states and the power modes. Also, assigns power domains to these
power modes.
■ Identifies boundary ports and assigns these ports to the power domains. This
identification is done based on tracing the connectivity through transistors and two
terminal devices. Related power and ground nets of ports are derived by analyzing the
related supplies of the driver or receiver instTerms in the top block. While identifying ports
for creating power domains, it is checked whether the port could be related to more than
one power domain by virtue of its connections to one or more instances that may belong
to multiple power domains. In such a situation, the port is not associated with any power
domain and the warning messages are issued depending on the situation. There are
three scenarios where the ports are not related to any of the power domains due to
ambiguity in deciding the power domain:
Case 1: In this scenario, port C can be related to either of the two supply sets
(SS__VDD__VSS and SS__VDDext__VSS) due to its connectivity to M2, which falls in
the path of VDD, VSS as well as ExtVDD, VSS. Therefore, port C is not related to any
supply set because there is ambiguity related to its power domain.
Case 2: In this scenario, the port IN1 is driving two inverter instances that belong to
different supply sets and so it can be assigned either to SS__VDD__VSS or
SS__vdd__vss. Therefore, port IN1 is not related to any supply set because there is
ambiguity related to its power domain.
Case 3: In this scenario, the port TOP_IN drives two pins, IN1 and IN2, of a hierarchical
instance. Inside the instances (not shown in the image), IN1 and IN2 are separately
driving two inverters, which are in two separate supply sets SS__VDD1__VSS and
SS__VDD2__VSS, respectively. The port TOP_IN can be assigned either
In such scenarios, you can provide the information of data ports to explicitly specify their
supply set, forcing the tool to associate the data ports to the desired power domain.
While extracting power intent, Power Manager gives precedence to the explicit registration of
the port attributes and traces connectivity through transistors and the two-terminal devices.
Each data terminal that can be traced to a power terminal is created as a boundary port for
the corresponding power domain. If a data terminal is connected to more than one power
terminal, it is attached to the power domain as specified in the port attribute registered in the
setup for that data terminal. If the port attribute is not registered in the setup, the tool would
associate the data terminal to all possible power domains found by connectivity tracing.
Note: While extracting power intent, the tool checks each macro cell and the top cell to find
ports that are not related to any supply terminal. The tool does not assign such ports to any
power domain and displays a warning message for each cell to report such ports in that cell,
as shown below:
Liberty or setup files. Ensure that the required supplies are defined
in the files.
■ Derives domain shutoff conditions by backtracing the enable pins of switch cell instances
in the top block to the top block ports and combining those ports in suitable expression
as per the design.
■ Integrates sub blocks that have their own 1801files.
❑ If the 1801 block has a power intent specified as a Liberty macro model, it identifies
the top-level domain that maps to the macro-level domain and creates a domain
mapping. PG net voltages in macro cells are assigned from the top net voltages.
This might lead to a conflict if the net voltage specified in the macro model are of
different voltage levels as compared to the voltage levels of the top net voltage. This
conflict can be noted at the verification stage of the power intent.
❑ If the 1801 block has power intent of the design model type, Power Manager collates
all the power domains in the 1801 block hierarchy and integrates the 1801 cell in the
same way as for a block with the macro model type.
■ Identifies low power special cells and creates power switch rules, isolation rules, and
level shifter rules, as required. Enable conditions are derived by backtracing the enable
pins of special cells.
Note: If a level shifter cell contains an enable pin, it is identified as both an isolation cell and
as a level shifter cell. Such cells are also referred as combo cells. In this case, while extracting
power intent, the tool defines it as a level shifter cell as well as an isolation cell. In addition,
corresponding level shifter and isolation rules are defined.
Related Topics
Power View
After identifying the power nets and ground nets, the unique power net/ground net pairs
(Supply sets) are identified. For this, the tool traces the paths from a power net to a ground
net. The tool also considers the power net/ground net pairs registered in the setup.
Supply sets can be defined in the setup for the following scenarios.
■ The primary supply set for the power domains mentioned in the setup.
■ The power and ground nets that cannot be paired by traversing the design hierarchy or
parsing the Liberty in case of a Liberty cell.
If you want to partition the design for assigning a particular instance to some power domain,
provide the list of domain, instances, and primary supply set.
If power domains and supply set information is provided in the setup, the following is the
sequence of tasks being done:
■ create_power_domain commands are created in the exported 1801 file based on the
number of power domains.
■ Primary supply set are referred from the setup.
■ Extra supplies that need not to be a part of setup are identified by the tool.
■ connect_supply_net command is generated for supply nets that are a part of extra
supplies.
■ For any other instance that is not a part of any power domain remains in the default
domain.
■ If there is no power domain assignment, a single power domain is created and all the
instances are connected by using connect_supply_net.
Example 1:
Consider the following design that does not have the user-defined supply sets and power
domains specified in the setup:
In this case, the tool traverses though the design and creates the following power domains:
■ SS__VDD1__GND1
■ SS__VDD2__GND2
■ SS__VDD3__GND3
Example 2:
In this case, the tool creates one default power domain and two supply sets:
■ pd__VDD__VSS
■ SS_VDD_VSS
■ SS_NET1_VSS
Example 3:
If a primitive instance has one netSet property each for a power and ground supply, it is added
to the power domain created for that power and ground supply pair even if the instance does
not have any power/ground pins in the symbol/schematic view. If a power domain does not
exist for that power and ground supply pair, a new power domain is created and the primitive
instance is added to it. However, if the primitive instance has more than one netSet property
for power or ground, it does not contribute towards the creation of a power domain and a
warning message is displayed in the power intent extraction log.
Related Topics
Export Flow
Power View
Power view is an OpenAccess view generated corresponding to each cell that is being
extracted to export the power intent. The power view stores the following information:
■ Set up information of the cellview prior to extraction
■ Extracted and/or imported power intent information
■ The design information derived from the schematic design (EMH and native OA objects)
■ Internal data structures
The power view is co-managed with the schematic view of the design. The view is
automatically updated upon extraction when the setup or design changes. There is no need
to explicitly load the setup for each successive extraction run until the power view exists for a
cell and there is no change in the setup information of the design. The power view by default
gets created in the design library within the design cell, adjacent to the design view/
schematic. If the parent library is non-editable, lpDBGlobalSearchLibs and
lpDBGlobalSearchViews can be used to save the power view in an editable user-defined
library. The power view is also automatically purged when the associated schematic cellview
is purged for reasons, such as on closing the schematic or calling the dbPurge/dbClose
SKILL function.
Related Topics
lpDBGlobalSearchLibs
lpDBGlobalSearchViews
Export Flow
5. In the 1801 File field, specify the path and the name of file for exporting the power intent.
6. Select the Overwrite Existing File check box to overwrite the file.
7. Click OK.
The vpmExportPowerIntent SKILL function has been provided to export the 1801 Design
Model information for a cellview.
In 1801 design model, the power intent of the sub-blocks is exported along with power intent
of the top design. For a pure schematic-based design, the Power Manager always extracts a
flat 1801.
The following points explain the different sections of the exported 1801 design model:
■ Section1: The create_supply_port command defines a supply port in the scope of
the power domain. These are created for all the top-level supply ports identified.
The output supply port that is the output of a power switch, output of a LDO, or voltage
regulator can be identified by explicit user registration in the setup. In addition, the output
supply port can be identified from the Liberty model or the 1801 file, if available for the block.
The commands associated with the output port would appear in Section1, Section2,
Section9, and Section10.
A hierarchical internal net is not generated for commands related to Section1, Section2,
Section3, and Section6. Any block with internal net (not available at the top) should be
extracted and 1801 generated. Then, use the 1801 binding for the top block.
For more information on the 1801 commands, refer to IEEE Standard for Design and
Verification of Low-Power Integrated Circuits.
Related Topics
vpmExportPowerIntent
In the 1801 power model, the power intent of the top design is only exported as the power
intent information, with no sub-block power intent details. A power model is used to define the
power intent of a hard IP cell. The command pair begin_power_model and
end_power_model create a definitive boundary for the power intent for the hard IP cell. A
model name is created, and it is targeted for a specific macro cell.
The interfaces of the hard IP power model include the top-level power domain for this IP cell
and all the supplies of IP. This power domain is also used to specify the system power states
at the hard IP level.
The following points explain the different sections of the exported 1801 power model:
■ Section1: The begin_power_model command defines the boundary condition for the
power model. This marks the beginning of the power model.
■ Section2: The create_supply_port command defines a supply port in the scope of
the power domain. These are created for all the top-level supply ports identified.
■ Section3: The create_supply_net command creates a supply net in the scope of
the power domain. These are created for all the top-level supply nets identified.
■ Section4: The create_supply_set command creates the supply set name within the
current scope. This section associates the interface supplies to the boundary supply
ports or internally generated supplies.
■ Section5: The create_power_domain command defines a power domain and the set
of instances that are in the extent of the power domain. It may also specify whether the
power domain can be partitioned further by subsequent commands.
■ Section6: The set_port_attributes command specifies the information
associated with data ports of instances. The attributes of this command identify a port’s
related supplies (driver or receiver) and define the boundary of a power domain.
■ Section7: The add_power_state command adds the state information to a supply
port. If the voltage values are specified, the supply net state is FULL_ON and the voltage
value is the single nominal value or within the range of min to max. If the supply net state
is off, the voltage value is OFF.
■ Section8: The end_power_model command defines the boundary condition for the
power model. The power model ends here.
Related Topics
vpmExportPowerModel
6. In the Liberty File field, specify the path and the name of the file for exporting the Liberty
power model.
7. Select the Overwrite Existing File check box to overwrite the file.
8. Click OK.
Note: vpmExportDotLib has been provided to export the Liberty power model information
for a cellview.
Liberty power model is the power intent at the macro model level, for complex design blocks.
This can also be referred as a black box model of the power characteristics of a complex
design block or a hard IP. Power Manager helps in automatically extracting the power intent
from the design schematic and exporting the low power attributes to a Liberty Power Model
template. It can be further integrated while extracting the power intent of the top design. The
Exported Liberty Power Model, having the PG attributes can be stitched to the baseline
Liberty model from an IP characterization tool to generate a complete liberty file for schematic
IP ready for verification and implementation.
While creating the Liberty power model for a macro cell, the following tasks are performed:
■ Identifies power nets and ground nets and their equivalent power or ground nets.
■ Identifies switchable or non-switchable power nets or ground nets.
■ Identifies boundary ports for the macro.
■ Relates the boundary ports to the related power and ground supply pairs by tracing.
■ Identifies low power special cells and the boundary ports associated with boundary ports
to print the relevant attributes.
■ Backtraces the data path from the control pins of the low power special cells to the macro
or design ports for generating enable or shutoff conditions.
The Liberty power model also enables creation of analog ports. Analog ports are a list of
ports of a macro cell or a design that either drive the analog circuits or are driven by them. In
a Liberty power model, a port is considered an analog port in the following cases:
■ There is a user override, by defining portAttribute, in the setup that declares the pin
as analog.
■ The pin has a related power or a related ground found by tracing the power and ground
path.
■ The pin is not a driver or load of one or more instance pins that produce digital output,
such as (Liberty or user-defined) standard cell input/output pin, which has a related
power and a related ground attribute.
■ The pin is not feedthrough and unconnected.
Ports identified as analog ports have the is_analog attribute associated with them.
switch_function : "psw_en";
voltage_name : VDDSW;
pg_function : VDD;
pg_type : internal_power;
direction : internal;
}
######################################################
pin(en_iso) {
related_ground_pin : VSS;
related_power_pin : VDD;
direction : input;
}
pin(in1) {
related_ground_pin : VSS;
related_power_pin : VDD;
direction : input;
}
pin(out1) {
power_down_function : "!VDD + VSS";
related_ground_pin : VSS;
related_power_pin : VDD;
direction : output;
}
pin(out_iso) {
is_isolated : true;
power_down_function : "!VDD + VSS";
related_ground_pin : VSS;
related_power_pin : VDD;
isolation_enable_condition : "en_iso";
direction : output;
}
pin(out_psw) {
power_down_function : "!VDD + VSS";
related_ground_pin : VSS;
related_power_pin : VDD;
direction : output;
}
pin(outvdd) {
power_down_function : "!VDD + VSS";
related_ground_pin : VSS;
related_power_pin : VDD;
direction : output;
}
pin(psw_en) {
antenna_diode_related_ground_pins : "VSS";
switch_pin : true;
related_ground_pin : VSS;
related_power_pin : VDD;
direction : input;
}
} /* end of cell top */
The following points explain the different sections of the exported Liberty power model:
■ Section1: This section includes the basic design information in terms of the library and
cell names for which the Liberty power model has been extracted and the software
version used for the same.
■ Section2: This section represents the library description. These are library level
features and attributes.
The library level voltage_map attribute associates the voltage name with the relative
voltage values. These specified voltage names are referenced by the pg_pin groups
defined at the cellview level. The voltage map can be a combination of both the primary
power and ground supplies and bias power and ground supplies. Voltage values in the
Liberty power model should follow the voltage values of the top-level design power intent
where model is integrated unless a corresponding error is flagged at the power intent
verification stage by CLP.
■ Section3: This section represents the cell group information and the related attributes.
The cell group statement gives the name of the cell being described. It appears at the
library group level. The Liberty power model exports the power intent of the design,
therefore, the information in this group comprises of:
❑ is_macro_cell: The attribute identifies whether a cell is a macro cell.
❑ switch_cell_type: This attribute supports macro cells with internal switches
present to generate internal power. The valid values for this attribute are
coarse_grain and fine_grain.
❑ Pin level attributes: The different pin level attributes, such as pg_pin, pg_type,
power_down_function, related_power_pin, related_ground_pin,
input_signal_level and output_signal_level describe the specific
information extracted from the design schematic by Power Manager extractor for all
the boundary ports (PG and data). The state of these attributes is dependent on the
setup registration for PG nets, connectivity, and design topology.
❑ Macro Cell Modeling: The attributes is_isolated,
isolation_enable_condition, switch_pin, switch_function,
pg_function, and pg_types are required for macro cell modeling. These are
required to model the cells, which use low power special cells, such as isolation cells
and power switch cells connected to boundary ports.
For more information on the 1801 commands, refer to Liberty User Guides and Reference
Manual Suite (Version 2017.06).
Related Topics
vpmExportDotLib
The following three scenarios are addressed in the tool while handling ports connected to
isolation cells:
■ Input ports connected to NOR/NAND isolation cell data pins
❑ No changes are made to the related_power_pin or related_ground_pin
attribute values.
Related Topics
printAliveAndPermitAttributesinDotlib
updateRelatedSuppliesForNorNandIsoPorts
You can register the names of virtual supply nets that need the switch_function
derivation by using the following option in a setup file.
You can register the names of the data port names that need the
isolation_enable_condition derivation by using the following option in a setup file.
Regular expressions for virtual supply and port names is supported. The step-by-step
derivation of switch_functions for registered virtual supply nets and
isolation_enable_conditions for registered data ports appear in the CIW and in the
extractor log file. However, this information is shown only if the pg_pin or data pin is included
in a Liberty model.
Alternatively, you can use the environment variables to export the derivations.
Related Topics
exportSwitchFunctionDerivationForAllUsedVirtualSupplies
exportIsoEnableConditionDerivationForAllTopIsolatedPorts
signalPortsForIsoEnableConditionDerivation
virtualSuppliesForSwitchFunctionDerivation
7
Verifying Power Intent of a Design
After completing the power intent specification for your design, you need to verify the
correctness of the power intent as per the design. When you verify the design by using Power
Manager, the tool automatically runs Conformal Low Power (CLP) that reads the power intent
and generates a report with appropriate messages.
Related Topics
1. Click Power Manager – Run CLP if you already have the required dofiles.
2. [Optional] Otherwise, before running the CLP, use the Prepare CLP form to generate the
1801 file, Verilog netlist, and CLP dofile at the specified path.
Note: The 1801 File and Liberty Files field do not require explicit user inputs, if a setup
template file already exists and is loaded for the cellview to extract and verify the power
intent.
The netlist generated by the Prepare CLP form is different from the general netlist
created by NC-Verilog. This netlist includes a list of Verilog stub views for the macro
models, single supply analog modules along with their power and ground pins, and the
blocks that are binded to the existing power intent (1801). This makes the netlist more
compatible with CLP. The log file generated, after the preparations for the CLP run are
over, displays the results along with the following details:
❑ Date and time
❑ Design details
❑ Form field values
❑ Netlist/1801/dofile file paths
❑ Netlist error/warnings
❑ The ‘si.env’ file used for netlisting
❑ CLP log file path
3. Click Run CLP to start CLP and use the files created during CLP preparation, for power
verification. The CLP run initiates when you click OK.
This two-step process, which includes preparing for CLP and running CLP, lets you check the
input files and resolve issues, if any, before proceeding for the CLP run. Subsequently, you
can run CLP from Power Manager by specifying a run directory and a CLP dofile.
Alternatively, you can run CLP from the command line once the input files are generated
using Power Manager.
After the verification is complete, the generated report is displayed in a separate log window
as shown below.
Related Topics
Important
For more details about the check options, refer to Check Hierarchy Form in the
Virtuoso Schematic Editor user guide.This check is not run if you remove netSet
properties from the design.
Related Topics
If you explicitly specify a netlist control file during preparation for running CLP, set the
following flags appropriately:
❑ To ensure that the power and ground information is correctly captured in the netlist.
This is required for correct power intent verification of the design.
❍ hnlInhConnUseDefSigName='t
❍ vlogifDeclareGlobalNetLocal='t
❍ hnlPrintInhConAtTop='t
❍ hnlHonorInhConnEscapeName='t
❍ hnlVerilogDeclareScalarSig='t
❍ simVerilogEnableEscapeNameMapping= 't
❍ hnlMapNetInName
❍ hnlMapTermInName
❑ To ensure that redundant information does not show at the module or instance level
in the netlist. For example, information of primitive devices (mos/resistor/capacitors
and diodes).
hnlUserIgnoreCVList
❑ For creating the stub view (no module definition) for macro Liberty blocks, just an
instance line with power/ground nets that is identified by traversing the schematic.
hnlUserStubCVList
Related Topics
A
Virtuoso Power Manager Environment
Variables
The topic provides information on the names, descriptions, and graphical user interface
equivalents for the Virtuoso Power Manager environment variables.
addNotInGndPgFunction
lp addNotInGndPgFunction boolean { t | nil }
Description
Controls printing pg_function for ground switchable supplies. The pg_function value is
printed as VSS if the variable is set to nil. The default value is nil.
GUI Equivalent
None
Example
envGetVal("lp" "addNotInGndPgFunction")
envSetVal("lp" "addNotInGndPgFunction" 'boolean nil)
Related Topics
allowConstantExpressions
lp allowConstantExpressions boolean { t | nil }
Description
Prints original expressions instead of constant-value expressions when set to nil. During
boolean optimization, if a function expression evaluates to true(1) or false(0), the
corresponding expression values printed by default in a dotlib or 1801 file are 1 or 0
respectively. However, if constant-value expressions are not required, you can print original
expressions.
GUI Equivalent
None
Example
envGetVal("lp" "allowConstantExpressions")
envSetVal( "lp" "allowConstantExpressions" 'boolean nil)
Related Topics
allowDomainWithoutElements
lp allowDomainWithoutElements boolean { t | nil }
Description
Controls the creation of power domains exported in the 1801 file based on their constituent
elements.
Default scenario
create_power_domain pd__vddB_init__vssB \
-elements { i_block } \
-supply { primary ss__vddB_init__vssB } \
-supply { extra_supplies "" }
create_power_domain pd__vddA__vssA \
-include_scope \
-supply { primary ss__vddA__vssA } \
-supply { extra_supplies "" }
create_power_domain pd__vddB__vssB \
-supply { primary ss__vddB__vssB } \
-supply { extra_supplies "" }
create_power_domain pd__vddA__vssB \
-supply { primary ss__vddA__vssB } \
-supply { extra_supplies "" }
create_power_domain pd__vddA__vssA \
-elements {.} \
GUI Equivalent
None
Examples
envGetVal("lp" "allowDomainWithoutElements")
envSetVal("lp" "allowDomainWithoutElements" 'boolean t)
Related Topics
allowEmptyDomains
lp allowEmptyDomains boolean { t | nil }
Description
Controls the printing of a supply or ground net as an internal power or internal ground pinif
they are not associated with any power domain. The default value is nil. These supply or
ground nets are not the related power or related ground pin of any signal pins.
GUI Equivalent
None
Example
envGetVal("lp" "allowEmptyDomains")
envSetVal("lp" "allowEmptyDomains" 'boolean nil)
Related Topics
allowInoutLDOPins
lp allowInoutLDOPins boolean { t | nil }
Description
Identifies supply nets, meeting the LDO net detection criteria, even when the nets are
connected to inout pin/term, when the flag is set to t. The default value is nil and the
extractor includes nets without a term or with an output term.
GUI Equivalent
Power Manager Setup Form – Export tab – Export Options – Consider inputOutput
terms for internal power criterion
Example
envGetVal("lp" "allowInoutLDOPins")
envSetVal("lp" "allowInoutLDOPins" 'boolean nil)
Related Topics
allowInoutMonitorPins
lp allowInoutMonitorPins boolean { t | nil }
Description
Identifies supply nets, meeting the monitor net detection criteria, even when the nets are
connected to inout pin/term, when the flag is set to t. The default value is nil and the
extractor includes only the nets with the output term.
GUI Equivalent
Power Manager Setup Form – Export tab – Export Options – Consider inputOutput
terms for monitor power criterion
Example
envGetVal("lp" "allowInoutMonitorPins")
envSetVal("lp" "allowInoutMonitorPins" 'boolean nil)
Related Topics
allowInOutPortAsRegulated
lp allowInOutPortAsRegulated boolean { t | nil }
Description
Considers supplies connected to the inout port as regulated. The default value is nil. By
default, only supplies connected to output port or not connected to any port are considered
as regulated supplies.
GUI Equivalent
None
Example
envGetVal("lp" "allowInOutPortAsRegulated")
envSetVal("lp" "allowInOutPortAsRegulated" 'boolean nil)
Related Topics
allowIsUnconnectedAsAttrInLiberty
lp allowIsUnconnectedAsAttrInLiberty boolean { t | nil }
Description
Prints the is_unconnected attribute as the main code in the Liberty file, when the flag is
set to the default value t. When the environment variable is set to nil, the
is_unconnected attribute is printed as comment in the Liberty file. When
allowIsUnconnectedAsAttributeInLiberty is true, the Liberty file has the following
user-defined attributes printed as a part of the Library group attributes of the exported Liberty
file.
define ("is_unconnected", "pin", "boolean");
define ("is_unconnected", "pg_pin", "boolean");
GUI Equivalent
None
Example
envGetVal("lp" "allowIsUnconnectedAsAttrInLiberty")
envSetVal("lp" "allowIsUnconnectedAsAttrInLiberty" 'boolean nil)
Related Topics
Connectors
autoCorrectNativePSWOptions
lp autoCorrectNativePSWOptions boolean { t | nil }
Description
■ nil: Does not autocorrect the definition of the non-dedicated transistor switch instance
and displays an error message as the following:
❑ The tool reports an error if the -stage_1_enable command is not a gate terminal.
❑ The tool reports an error if the -power (Power) and power_switchable (PSW)
command options in header switch are not source and drain terminals or drain and
source terminals respectively;
or the ground (Ground) and ground_switchable (GSW) command options in
footer switch are not source and drain terminals or drain and source terminals
respectively as the following:
GUI Equivalent
None
Example
envGetVal("lp" "autoCorrectNativePSWOptions")
envSetVal("lp" "autoCorrectNativePSWOptions" 'boolean nil)
Related Topics
considerShortThreshold
lp considerShortThreshold boolean { t | nil }
Description
Considers resistor elements as connectors or short devices based on the threshold value of
resistors specified in a setup file. The default value is t.
In a specific cellview, the parameter value of resistors is checked against the threshold value
and are considered as short devices if their parameter value is less than the threshold value.
If the parameter value is above the threshold value, the resistors are considered as connector
elements. When there is no threshold value defined, the default behavior is that resistors are
considered as short devices or connectors based on the category in which they are originally
registered.
For example, for CellA, parameter r is checked for its value. A value lower than 50 is
considered as a short. For CellB, parameter resVal is checked for its value. A value higher
than 10 is considered as connector.
connector (
("VPM_TEST_LIB2" "CellA" nil
(nil
ResthreshHold("r" 50)
)
)
("VPM_TEST_LIB1" "CellB" nil
(nil
ResthreshHold("resVal" 10)
)
)
("VPM_TEST_LIB2" "CellC" nil)
("VPM_TEST_LIB2" "CellD" nil)
)
GUI Equivalent
None
Example
envGetVal("lp" "considerShortThreshold")
Related Topics
Connectors
createExtractionLogFile
lp createExtractionLogFile boolean { t | nil }
Description
GUI Equivalent
None
Example
envGetVal("lp" "createExtractionLogFile")
envSetVal("lp" "createExtractionLogFile" 'boolean nil)
Related Topics
createPinsOnImport
lp createPinsOnImport boolean { t | nil }
Description
Controls the creation of ports in the design while importing the 1801 file. This is based on the
create_supply_port command found in the input 1801 file.
The default value is t. When set to t, ports are created in the design. If set to nil, a supply
net with a global net expression or supply local net is created by using the
Create_supply_port and Create_supply_net commands in the input 1801 file based
on the resolveTopNets argument of vpmImportPowerIntent.
GUI Equivalent
None
Example
envGetVal("lp" "createPinsOnImport")
envSetVal("lp" "createPinsOnImport" 'boolean nil)
Related Topics
vpmImportPowerIntent
delimiterForInternalPower
lp delimiterForInternalPower string "__"
Description
Specifies a delimiter for internal supplies that are referenced by the Liberty file generated by
Power Manager. The default value is "__".
voltage_map( I0__gnd_int , 0.000000);
voltage_map( I0__vdd_int , 0.800000);
pg_pin(I0__vdd_int) {
witch_function : "!(Enable)";
voltage_name : I0__vdd_int;
pg_function : vdd;
pg_type : internal_power;
direction : internal;
}
pg_pin(I0__gnd_int) {
switch_function : "Sleep";
voltage_name : I0__gnd_int;
pg_function : gnd;
pg_type : internal_ground;
direction : internal;
pin(data) {
related_ground_pin : I0__gnd_int;
related_power_pin : I0__vdd_int;
direction : input;
GUI Equivalent
None
Examples
envGetVal("lp" "delimiterForInternalPower")
envSetVal("lp" "delimiterForInternalPower" 'string ",")
Related Topics
enableCDMAttr
lp enableCDMAttr boolean { t | nil }
Description
Provides support for the has_CDM attribute, when set to t. The default value is nil.
GUI Equivalent
None
Examples
envGetVal("lp" "enableCDMAttr")
envSetVal("lp" "enableCDMAttr" 'boolean t)
Related Topics
enableGlobalBTCaching
lp enableGlobalBTCaching boolean { t | nil }
Description
Specifies whether to save the fully formed backtraced expressions or logic functions in the
cache when backtracing. This improves the tool performance by preventing repeated
backtracing of common nets, especially in large power switch chains.
The default value is nil, which means caching in not activated when backtracing.
GUI Equivalent
None
Examples
envGetVal("lp" "enableGlobalBTCaching")
envSetVal("lp" "enableGlobalBTCaching" 'boolean t)
exportSwitchFunctionDerivationForAllUsedVirtualSupplies
lp exportSwitchFunctionDerivationForAllUsedVirtualSupplies boolean { t | nil }
Description
Provides switch_function derivations for all virtual supplies included in dotlib, when set
to t. The default value is nil, which means no derivation is printed in the CIW.
GUI Equivalent
None
Examples
envGetVal("lp" "exportSwitchFunctionDerivationForAllUsedVirtualSupplies")
envSetVal("lp" "exportSwitchFunctionDerivationForAllUsedVirtualSupplies" 'boolean
t)
Related Topics
signalPortsForIsoEnableConditionDerivation
virtualSuppliesForSwitchFunctionDerivation
exportIsoEnableConditionDerivationForAllTopIsolatedPorts
exportIsoEnableConditionDerivationForAllTopIsolatedPorts
lp exportIsoEnableConditionDerivationForAllTopIsolatedPorts boolean { t | nil }
Description
GUI Equivalent
None
Examples
envGetVal("lp" "exportIsoEnableConditionDerivationForAllTopIsolatedPorts")
envSetVal("lp" "exportIsoEnableConditionDerivationForAllTopIsolatedPorts"
'boolean t)
Related Topics
signalPortsForIsoEnableConditionDerivation
exportSwitchFunctionDerivationForAllUsedVirtualSupplies
virtualSuppliesForSwitchFunctionDerivation
extractionLogPath
lp extractionLogPath string "."
Description
Controls the printing of the extraction log file at the path provided. The default value is "."and
the extraction log is generated in the current working directory.
GUI Equivalent
None
Examples
envGetVal("lp" "extractionLogPath")
envSetVal("lp" "extractionLogPath" 'string ".abc/testlib/ext.log")
Related Topics
extractParasiticDiode
lp extractParasiticDiode boolean { t | nil }
Description
Controls the detection and printing of parasitic diode elements formed between the bulk
terminal and source terminal, bulk terminal and drain terminal, or between MOS devices.
When set to t, the parasitic diode information gets extracted in terms of the
antenna_diode_related_power_pins and
antenna_diode_related_ground_pins attributes corresponding to data pins at the
source or drain end of a MOS device. The default value is nil.
GUI Equivalent
None
Examples
envGetVal("lp" "extractParasiticDiode")
Related Topics
Connectors
lpDBGlobalSearchLibs
lp lpDBGlobalSearchLibs string { "LibName" }
Description
Sets the library list look-up order for enabling the power view creation in a different library if
the parent library is not editable. This enables the power view creation and subsequent
access of the cellview.
By default, no library name is specified. The parent library is the location for power view
creation.
Else, the specified library name or a list of library names are considered as the location for
power view creation.
GUI Equivalent
None
Examples
envGetVal("lp" "lpDBGlobalSearchLibs")
envSetVal("lp" "lpDBGlobalSearchLibs" 'string "DESIGN_LIB_LDO DESIGN_NEW_LIB_LDO")
This would enable the creation and opening of the power view of the cell in the libraries
DESIGN_LIB_LDO or DESIGN_NEW_LIB_LDO. The order of look-up to create and access
the power view is from DESIGN_LIB_LDO until DESIGN_NEW_LIB_LDO. If the library
DESIGN_LIB_LDO is not editable, the power view is created and accessed from library
DESIGN_NEW_LIB_LDO.
Related Topics
Power View
lpDBGlobalSearchViews
lp lpDBGlobalSearchViews string { "power" }
Description
Sets the look-up order of the list of power view names for enabling the power view creation in
a different library if the parent library is not editable. This enables the access of the power
view created using lpDBGlobalSearchLibs, which is based on the power view name. The
power view name is looked up in the same order for the power view creation in the library as
defined in lpDBGlobalSearchLibs.
Else, the specified power view name or a list of power view names are considered as power
views.
GUI Equivalent
None
Examples
envGetVal("lp" "lpDBGlobalSearchViews")
envSetVal("lp" "lpDBGlobalSearchLibs" 'string "pwr power")
This would enable the creation and opening of the power view of the cell in the libraries
DESIGN_LIB_LDO or DESIGN_NEW_LIB_LDO. The order of look-up to create and access
the power view is from DESIGN_LIB_LDO until DESIGN_NEW_LIB_LDO. If the library
DESIGN_LIB_LDO is not editable, the power view is created and accessed from library
DESIGN_NEW_LIB_LDO.
Related Topics
Power View
lpDBPurgeOnDesignPurge
lp lpDBPurgeOnDesignPurge boolean { t | nil }
Description
Controls the purging of the power view while closing the source design. The default value is
t. By default, the power view is purged when the source design gets purged.
GUI Equivalent
None
Example
envGetVal("lp" "lpDBPurgeOnDesignPurge")
envSetVal("lp" "lpDBPurgeOnDesignPurge" 'boolean nil)
Related Topics
Power View
lsSingleRailInputPrefix
lp lsSingleRailInputPrefix string "int_"
Description
For a single rail cell in case the modeling information is coming from 1801 special cell
definition file, it would not contain information of the attribute input_signal_level
corresponding to the liberty model. A virtual supply name, with the prefix int_, will be
created from output supply of the single rail level shifter. The data ports of the single rail level
shifter would thus be related to a supply set containing the virtual supply name and the name
of the ground supply as related power and related ground.
voltage_map( vdd_Int[0] , 0.800000);
voltage_map( vdd_Int[1] , 0.800000);
voltage_map( vdd_Int[2] , 0.800000);
pg_pin(vdd_Int[1]) {
voltage_name : "vdd_Int[1]";
pg_type : internal_power;
direction : "internal";
switch_function : "Enable[1]";
pg_function : "vdd";
}
pin(in1) {
direction : "inout";
related_power_pin : "vdd_Int[1]";
related_ground_pin : "I0[int]gnd_int[1]";
}
GUI Equivalent
None
Examples
envGetVal("lp" "lsSingleRailInputPrefix")
envSetVal("lp" "lsSingleRailInputPrefix" 'string "int_abcd"))
Related Topics
maxConsecutiveTxChannelCrossingsForABT
lp maxConsecutiveTxChannelCrossingsForABT int channels
Description
Specifies the maximum number of channels for automatic backtracing of transistor logic seen
in its flat form or inside algorithm standard cell. The backtracing stops if the successive
channel crossings reach a predefined limit. The default value is 10 and it can be changed to
any integer less than or equal to 20.
GUI Equivalent
None
Examples
envGetVal("lp" "maxConsecutiveTxChannelCrossingsForABT")
envSetVal("lp" "maxConsecutiveTxChannelCrossingsForABT" 'int 15)
Related Topics
maxConsecutiveTxGateCrossingsForABT
lp maxConsecutiveTxGateCrossingsForABT int gates
Description
Specifies the maximum number of gates for automatic backtracing of transistor logic seen in
its flat form or inside algorithm standard cell. The backtracing stops if the successive gate
crossings reach a predefined limit.
The default value is 25 and it can be changed to any integer less than or equal to 100.
GUI Equivalent
None
Example
envGetVal("lp" "maxConsecutiveTxGateCrossingsForABT")
envSetVal("lp" "maxConsecutiveTxGateCrossingsForABT" 'int 30)
Related Topics
maxInputPinsForAlgoStdCellABT
lp maxInputPinsForAlgoStdCellABT int maxInputPins
Description
Specifies the maximum number of input pins in a cell for an unregistered cell in the
backtracing path and identified as an Algorithm Standard cell to be considered for automatic
logic extraction. The default value is 3 and it can be changed to any integer less than or equal
to 5.
GUI Equivalent
None
Example
envSetVal("lp" "maxInputPinsForAlgoStdCellABT" 'int 3)
Related Topics
maxOutputPinsForAlgoStdCellABT
lp maxOutputPinsForAlgoStdCellABT int maxOutputPins
Description
Specifies the maximum number of output pins in a cell for an unregistered cell in the
backtracing path and identified as an Algorithm Standard cell to be considered for automatic
logic extraction. If count of outputs pins exceeds the limit specified this variable, Virtuoso
Power Manager will skip logic extraction for such a cell. The default value is 3 and it can be
changed to any integer less than or equal to 5.
GUI Equivalent
None
Example
envSetVal("lp" "maxOutputPinsForAlgoStdCellABT" 'int 3)
Related Topics
minTimeElapseForProgressInfo
lp minTimeElapseForProgressInfo int intervalSecs
Description
Sets the interval in seconds at which periodic extraction process updates are issued. The
default value is 20 and it can be changed to any value greater than or equal to 0.
The default specifies that the extraction progress logging starts 20 seconds after triggering
the Extract 1801 Power Intent command and you will see extraction progress updates after
every 20 seconds.
Note: The shorter the time period, the bigger the impact on system performance. To reduce
run time, increase the time interval.
GUI Equivalent
None
Example
envGetVal("lp" "minTimeElapseForProgressInfo")
envSetVal("lp" "minTimeElapseForProgressInfo" 'int 50)
overrideSigTypeFromSetup
lp overrideSigTypeFromSetup boolean { t | nil }
Description
Uses the signal type specified in the setup information to specify the signal type for a net with
conflicting signal types. If this environment variable is set but the net with conflicting sigTypes
is not defined as a supply in the Registered Supply Nets table, Power Manager issues a
message (LP-3103) informing that it is not able to set sigType for this net. The default value
is nil, in which case sigType is not overridden by using the setup.
GUI Equivalent
None
Example
envSetVal("lp" "overrideSigTypeFromSetup" 'boolean t)
powerDownFunctionForIOPorts
lp powerDownFunctionForIOPorts boolean { t | nil }
Description
Specifies the power_down_func attribute for inout ports in a Liberty file. The default value
is nil, in which case power_down_func is not printed for inout ports.
GUI Equivalent
None
Example
envSetVal("lp" "powerDownFunctionForIOPorts" 'boolean t)
printAliveAndPermitAttributesinDotlib
lp printAliveAndPermitAttributesinDotlib boolean { t | nil }
Description
Prints the alive and permit attributes for ports connected to isolation cells. When set to
nil, the attributes are not printed.
GUI Equivalent
None
Example
envGetVal("lp" "printAliveAndPermitAttributesinDotlib")
envSetVal("lp" "printAliveAndPermitAttributesinDotlib" 'boolean t)
Related Topics
printBusBitDirectionInLiberty
lp printBusBitDirectionInLiberty boolean { t | nil }
Description
Controls the printing of the direction attribute for bus bits in the exported macro Liberty power
model. The default value is nil, in which case the direction attribute is printed at the bus
group level. When set to t, the direction attribute is printed for each individual bus bit.
GUI Equivalent
None
Examples
envGetVal("lp" "printBusBitDirectionInLiberty")
bus(OUT) {
bus_type : CDS_BUS_1_To_0;
related_power_pin : VDD;
related_ground_pin : VSS;
power_down_function : "!VDD + VSS";
}
pin(OUT[0]) {
related_power_pin : VDD;
related_ground_pin : VSS;
power_down_function : "!VDD + VSS";
}
bus(OUT) {
bus_type : CDS_BUS_1_To_0;
pin(OUT[1]) {
direction : output;
related_power_pin : VDD;
related_ground_pin : VSS;
power_down_function : "!VDD + VSS";
}
pin(OUT[0]) {
direction : output;
related_power_pin : VDD;
related_ground_pin : VSS;
power_down_function : "!VDD + VSS";
}
Related Topics
printCoupledSupplies
lp printCoupledSupplies boolean { t | nil }
Description
When two shorted supply ports are encountered in a design, prints the user-defined attribute
coupled_supplies in the exported macro Liberty power model and the corresponding
UPF_feedthrough attributes of the set_port_attributes statements in the 1801
power intent file. The default value is nil, which means that the coupled supply attributes are
not printed.
For example, the following user-defined attributes are printed for shorted supply ports VDD1
and VDD2 and shorted ground ports VSS1 and VSS2.
GUI Equivalent
None
Example
envGetVal("lp" "printCoupledSupplies")
envSetVal("lp" "printCoupledSupplies" 'boolean t)
Related Topics
printModelInSDA
lp printModelInSDA boolean { t | nil }
Description
Adds model names to the exported UPF file when set to t. The default value is nil. By
default, the command used is:
set_design_attributes -attribute top_ports_have_anon_supply 0
GUI Equivalent
None
Examples
envGetVal("lp" "printModelInSDA")
envSetVal("lp" "printModelInSDA" 'boolean nil)
Related Topics
printProgressInfo
lp printProgressInfo boolean { t | nil }
Description
Prints the progress report for power intent extraction process when set to t. The default value
is nil, which means that the progress report is not printed.
GUI Equivalent
None
Example
envGetVal("lp" "printProgressInfo")
envSetVal("lp" "printProgressInfo" 'boolean nil)
Related Topics
printSupplyNetInfo
lp printSupplyNetInfo boolean { t | nil }
Description
Prints the list of design nets that have been identified under any category of supply nets, such
as power, ground, exclude, monitor, pwell, nwell, deeppwell, or deepnwell when
the flag is set to t. The default value of the flag is nil.
GUI Equivalent
None
Example
envGetVal("lp" "printSupplyNetInfo")
envSetVal("lp" "printSupplyNetInfo" 'boolean nil)
Related Topics
reduceBoolExpressions
lp reduceBoolExpressions boolean { t | nil }
Description
Optimizes boolean functions during the dotlib export and 1801 export when set to t. For the
dotlib export, the boolean expressions for isolation_enable_condition and
switch_function attributes are optimized. For the 1801 export, the values for -
isolation_signal in set_isolation and the values for -on_state and -off_state
expressions in create_power_switch are optimized. By default, the boolean expression
optimization is disabled.
GUI Equivalent
None
Example
envGetVal("lp" "reduceBoolExpressions")
envSetVal( "lp" "reduceBoolExpressions" 'boolean t)
Related Topics
removeHierADSupForPorts
lp removeHierADSupForPorts boolean { t | nil }
Description
Removes hierarchical supplies for input, inout, and output ports when set to t. The default
value of the flag is nil.
GUI Equivalent
None
Examples
envGetVal("lp" "removeHierADSupForPorts")
envSetVal("lp" "removeHierADSupForPorts" 'boolean t)
Related Topics
removeHierSupForInPorts
lp removeHierSupForInPorts boolean { t | nil }
Description
Removes hierarchical supplies for input ports when set to t. The default value of the flag is
nil.
GUI Equivalent
None
Examples
envGetVal("lp" "removeHierSupForInPorts")
envSetVal("lp" "removeHierSupForInPorts" 'boolean t)
Related Topics
removeHierSupForOutPorts
lp removeHierSupForOutPorts boolean { t | nil }
Description
Removes hierarchical supplies for inout and out ports when set to t. The default value of the
flag is nil.
GUI Equivalent
None
Examples
envGetVal("lp" "removeHierSupForOutPorts")
envSetVal("lp" "removeHierSupForOutPorts" 'boolean t)
Related Topics
removeInternalNetFromPgFn
lp removeInternalNetFromPgFn boolean { t | nil }
Description
Removes internal supply or internal ground nets from pg_function. The default value of the
flag is t. This behavior is not applied for the internal supply or internal ground nets that are
related power or related ground of a signal pin. These internal supply or ground nets are still
included in pg_function.
pg_pin(VDD_INT2) {
voltage_name : "VDD_INT2";
pg_type : internal_power;
direction : "internal";
pg_function : "vdd_int";
}
When set to t,
pg_pin(VDD_INT2) {
voltage_name : "VDD_INT2";
pg_type : internal_power;
direction : "internal";
}
GUI Equivalent
None
Examples
envGetVal("lp" "removeInternalNetFromPgFn")
envSetVal("lp" "removeInternalNetFromPgFn" 'boolean nil)
Related Topics
removePST
lp removePST boolean { t | nil }
Description
Controls whether the PST or power state format of commands are printed in or removed from
the exported 1801 file. The default value is nil, which means that the commands are printed
in the file.
GUI Equivalent
None
Example
envGetVal("lp" "removePST")
envSetVal("lp" "removePST" 'boolean t)
Related Topics
runIDCInBackground
lp runIDCInBackground boolean { t | nil }
Description
Controls whether the in-design checks are run in the foreground or background. When set to
t, the Run In-Design Checks non-blocking form is enabled in the GUI. A single In-Design
Checks run is supported in a Virtuoso session at a time in non-blocking mode. The default
value is nil, which means that the in-design checks are run in the foreground.
GUI Equivalent
None
Example
envGetVal( "lp" "runIDCInBackground")
envSetVal( "lp" "runIDCInBackground" 'boolean t)
Related Topics
separatorForBit
lp separatorForBit string "<>"
Description
Specifies separators for pin names of the bus bits. The default value is "<>".
voltage_map( vdd_Int[0] , 0.800000);
voltage_map( vdd_Int[1] , 0.800000);
voltage_map( vdd_Int[2] , 0.800000);
pg_pin(vdd_Int[1]) {
voltage_name : "vdd_Int[1]";
pg_type : internal_power;
direction : "internal";
switch_function : "Enable[1]";
pg_function : "vdd";
}
pin(in1) {
direction : "inout";
related_power_pin : "vdd_Int[1]";
related_ground_pin : "I0[int]gnd_int[1]";
}
GUI Equivalent
None
Example
envGetVal("lp" "separatorForBit")
envSetVal("lp" "separatorForBit" 'string "[]")
Related Topics
signalPortsForIsoEnableConditionDerivation
lp signalPortsForIsoEnableConditionDerivation string "data_port_names"
Description
Registers the names of data ports in a setup file that need the
isolation_enable_condition derivation. The default value is "", which means no
derivation is printed in the CIW.
GUI Equivalent
None
Example
envGetVal("lp" "signalPortsForIsoEnableConditionDerivation")
envSetVal("lp" "signalPortsForIsoEnableConditionDerivation" 'string "OUT OUT2
IN1")
Related Topics
virtualSuppliesForSwitchFunctionDerivation
exportSwitchFunctionDerivationForAllUsedVirtualSupplies
exportIsoEnableConditionDerivationForAllTopIsolatedPorts
singleRailAttrPropagation
lp singleRailAttrPropagation boolean { t | nil }
Description
GUI Equivalent
None
Example
envGetVal("lp" "singleRailAttrPropagation")
envSetVal("lp" "singleRailAttrPropagation" 'boolean t)
Related Topics
specialCellInfoFile
lp specialCellInfoFile string ""
Description
Provides a mechanism to parse the 1801 special cell definition file to the 1801 extractor
externally, which is outside the Power Manager setup. The 1801 extractor reads the 1801
special cell definition file accordingly and reads the modeling information from the same.
GUI Equivalent
None
Example
envGetVal("lp" "specialCellInfoFile")
envSetVal("lp" "specialCellInfoFile" 'string "./spcells.upf")
Related Topics
stopViewList
lp stopViewList string "symbol symbol_xform auCdl auLvs hspiceD spectre"
Description
Specifies a space-separated list of cellview names that is used while elaborating the design
under test to identify the view at which the traversal has to be stopped. While traversing a
design hierarchy, the tool stops moving further when it finds any one of the cellviews given in
this list. Power Manager uses the stop view list for design traversal during the power intent
extraction phase and also to create the required design objects during the 1801 import flow.
GUI Equivalent
None
Example
envGetVal("lp" "stopViewList")
envSetVal("lp" "stopViewList" 'string "symbol symbol_xform aucdl")
Related Topics
switchPinForNoPortAtSwitchablePower
lp switchPinForNoPortAtSwitchablePower boolean { t | nil }
Description
Prints the switchPin attribute for enable pin even if there is no port for power switch output,
when set to t, which is the default value.
GUI Equivalent
None
Examples
If value is nil:
pin(Enable) {
direction : input;
related_power_pin : vdd;
related_ground_pin : I0__net7;
}
If value is t:
pin(Enable) {
direction : input;
switch_pin : true;
related_power_pin : vdd;
related_ground_pin : I0__net7;
}
Related Topics
switchViewList
lp switchViewList string "viewnames"
Description
Specifies a space-separated list of cellview names that is used while reviewing the design
under test to control the order in which the design hierarchy is traversed. Power Manager
uses the switch view list for design traversal during the power intent extraction phase and also
to create the required design objects during the 1801 import flow.
GUI Equivalent
None
Example
envGetVal("lp" "switchViewList")
envSetVal("lp" "switchViewList" 'string "cmos_sch cmos.sch schematic symbol")
Related Topics
updateRelatedSuppliesForNorNandIsoPorts
lp updateRelatedSuppliesForNorNandIsoPorts boolean { t | nil }
Description
Updates the related supplies for the ports connected to NAND and NOR isolation cells. The
default is nil, which means that related supplies are not updated.
GUI Equivalent
None
Example
envGetVal("lp" "updateRelatedSuppliesForNorNandIsoPorts")
envSetVal("lp" "updateRelatedSuppliesForNorNandIsoPorts" 'boolean t)
Related Topics
updateShortAttribute
lp updateShortAttribute boolean { t | nil }
Description
Controls printing the short attribute for supply and logic ports. The default is t, which means
the short attribute will not be printed.
GUI Equivalent
None
Example
envGetVal("lp" "updateShortAttribute")
envSetVal("lp" "updateShortAttribute" 'boolean nil)
Related Topics
updateUnconnPortsforAD
lp updateUnconnPortsforAD boolean { t | nil }
Description
Controls printing the is_connected attribute for noconn, ignore cell, diode instance, and
esd ports. The default is nil, which means the is_connected attribute will not be printed.
GUI Equivalent
None
Example
envGetVal("lp" "updateUnconnPortsforAD")
envSetVal("lp" "updateUnconnPortsforAD" 'boolean t)
Related Topics
Connectors
useANDForMultipleSupplies
lp useANDForMultipleSupplies boolean { t | nil }
Description
Prints the multiple supplies in the output Liberty file as ExtVDD&VDD, when set to t. When
the cdsenv is set to nil, multiple supplies are printed as ExtVDD+VDD.
GUI Equivalent
None
Example
envGetVal("lp" "useANDForMultipleSupplies")
envSetVal("lp" "useANDForMultipleSupplies" 'boolean nil)
Related Topics
useNandNorBaseIsolationTypes
lp useNandNorBaseIsolationTypes boolean { t | nil }
Description
Generates a NAND or NOR function when creating a functional expression for the output pin
of an isolation or level shifter cell. The default value is nil, which means that the variable
generates an AND or OR function.
GUI Equivalent
None
Example
envGetVal("lp" "useNandNorBaseIsolationTypes")
envSetVal("lp" "useNandNorBaseIsolationTypes" 'boolean t)
Related Topics
vbHierScopeLevel
lp vbHierScopeLevel cyclic {"Current Cellview Only" | "Current Cellview To Depth"
| "Top Cellview To Depth"}
Description
Specifies the level in a design until which the in-design checks are to be run. The available
options are:
■ Top Cellview To Depth (default): Checks only the top cellview hierarchy.
■ Current Cellview To Depth: Checks only the current cellview hierarchy.
■ Current Cellview Only: Checks the current cellview without descending.
GUI Equivalent
None
Examples
envGetVal("lp" "vbHierScopeLevel")
envSetVal("lp" "vbHierScopeLevel" 'cyclic "Current Cellview Only")
Related Topics
vbMaxHierDepth
lp vbMaxHierDepth int leveldepth
Description
Sets the depth of level in numbers until which the in-design checks are to be run. The default
value is 32 and it can be changed to any value between 0 and 32.
GUI Equivalent
None
Examples
envGetVal("lp" "vbMaxHierDepth")
envSetVal("lp" "vbMaxHierDepth" 'int 10)
Related Topics
virtualSuppliesForSwitchFunctionDerivation
lp virtualSuppliesForSwitchFunctionDerivation string "virtual supply_net_names"
Description
Registers the names of virtual supply nets that need the switch_function derivation. The
default value is "", which means no derivation is printed in the CIW.
GUI Equivalent
None
Example
envGetVal("lp" "virtualSuppliesForSwitchFunctionDerivation")
envSetVal("lp" "virtualSuppliesForSwitchFunctionDerivation" 'string "VVDD VVDD_CPU
VVDD_LDO")
Related Topics
signalPortsForIsoEnableConditionDerivation
exportSwitchFunctionDerivationForAllUsedVirtualSupplies
exportIsoEnableConditionDerivationForAllTopIsolatedPorts
writeMixedFormatPST
lp writeMixedFormatPST boolean { t | nil }
Description
Enables the use of syntax or semantics for writing mixed power states in the exported
1801power model file. This allows the printing of a mix of Unified Power Format 2.0 and
Unified Power Format 1.5 for specifying the power states in the extracted 1801 power model.
The default value is nil. If the environment variable is set to nil, the power states are written
using the add_power_state command only. The multiple supplies are printed as
ExtVDD+VDD. When set to t, power states are written by using the following commands:
■ add_power_state
■ create_pst
■ add_pst_state
When set to t
##### Power States ##################################################
add_power_state ss__vddA__vssA -supply -state { on_1p0 -supply_expr { (power == {
FULL_ON 1.000000 }) && (ground == { OFF }]}}
add_power_state ss__vddA__vssB -supply -state { on_1p0 -supply_expr { (power == {
FULL_ON 1.000000 }) && (ground == { OFF }]}}
add_power_state ss__vddB__vssB -supply -state { on_1p5 -supply_expr { (power == {
FULL_ON 1.500000 }) && (ground == { OFF }]}}
add_power_state ss__vddB_init__vssB -supply -state { on_1p5 -supply_expr { (power
== { FULL_ON 1.500000 }) && (ground == { OFF }]}} -state { off_0p0 \
-supply_expr { (power == { OFF }) && (ground == { OFF })}}
add_power_state pd__vddA__vssA -domain -state { mode0 -logic_expr {ss__vddB__vssB
== on_1p5 && ss__vddA__vssB == on_1p0 && ss__vddA__vssA == on_1p0 && \
ss__vddB_init__vssB == on_1p5 }} -state { mode1 -logic_expr { ss__vddB__vssB ==
on_1p5 && ss__vddA__vssB == on_1p0 && ss__vddA__vssA == on_1p0 && \
ss__vddB_init__vssB == off_0p0}}
GUI Equivalent
None
Examples
envGetVal("lp" "writeMixedFormatPST")
envSetVal("lp" "writeMixedFormatPST" 'boolean t)
Related Topics
B
Virtuoso Power Manager SKILL
Functions
vpmDefinePowerSwitchInstance
vpmDefinePowerSwitchInstance(
t_cellName
t_instName
g_type
g_stage1Enable
[ ?stage2Enable g_stage2Enable ]
[ ?stage1Output g_stage1Output ]
[ ?stage2Output g_stage2Output ]
[ ?power g_power ]
[ ?powerSwitchable g_powerSwitchable ]
[ ?ground g_ground ]
[ ?groundSwitchable g_groundSwitchable ]
)
=> t / nil
Description
Arguments
t_cellName The name of the parent cell name of power switch instance.
t_instName The name of the power switch instance.
g_type Specifies header for power switch or footer for ground
switch.
g_stage1Enable The stage 1 enable expression for power switch instance.
?stage2Enable g_stage2Enable
The stage 2 enable expression for power switch instance.
?stage1Output g_stage1Output
The stage 1 output expression for power switch instance.
?stage2Output g_stage2Output
The stage 2 output expression for power switch instance.
g_power The power pin of power switch instance.
?powerSwitchable g_powerSwitchable
The switchable pin of power switch instance.
g_ground The ground pin of ground switch instance.
?groundSwitchable g_groundSwitchable
The switchable pin of ground switch instance.
Value Returned
Example
vpmDefinePowerSwitchInstance("analog_blk" "M0" type "header" ?power "S"
?powerSwitchable "D" stage1Enable "!G")
Related Topic
vpmExportDotLib
vpmExportDotLib(
x_session_id
t_file_dot_lib
)
=> t / nil
Description
Arguments
x_session_id The ID of the window for which you want to export the power
intent.
t_file_dot_lib The name of the file for exporting the power intent.
Value Returned
Example
vpmImportPowerIntentSetup( "test_pg" "pass_gate_SC" "schematic" "lpSetup.il")
session = (vpmExtractPowerIntent "test_pg" "pass_gate_SC" "schematic")
vpmExportDotLib (session "libModel.lib")
Exports the power intent as the Liberty Power Model libModel.lib file.
Related Topic
vpmExportPowerIntent
vpmExportPowerIntent(
x_session_id
t_file_1801
)
=> t / nil
Description
Exports the 1801 Design Model for a design. Ensure that the design has been extracted by
using vpmExtractPowerIntent or the GUI options in Virtuoso Schematic Editor. This function
requires a session ID, which is generated upon successful power intent extraction for the
design.
Arguments
x_session_id The ID of the window for which you want to export the power
intent.
t_file_1801 The name of the file for exporting the power intent.
Value Returned
Example
vpmImportPowerIntentSetup( "test_pg" "pass_gate_SC" "schematic" "lpSetup.il")
session = (vpmExtractPowerIntent "test_pg" "pass_gate_SC" "schematic")
vpmExportPowerIntent (session "designmodel.upf")
Related Topic
vpmExportPowerModel
vpmExportPowerModel(
x_sessionID
t_output_file_name
)
=> t
Description
Exports the 1801 power model for a design. Ensure that the design has been extracted by
using vpmExtractPowerIntent, or using the GUI options in Virtuoso Schematic Editor.
This function requires a session ID, which is generated upon successful power intent
extraction for the design.
Arguments
Value Returned
Example
vpmImportPowerIntentSetup( "test_pg" "pass_gate_SC" "schematic" "lpSetup.il")
session = (vpmExtractPowerIntent "test_pg" "pass_gate_SC" "schematic")
vpmExportPowerModel (session "designmodel.upf")
Related Topic
vpmExportPowerIntentSetup
vpmExportPowerIntentSetup(
t_setup_file_name
[ ?overwriteExisting g_overwriteExisting ]
[ ?filter g_filter ]
[ ?lpDBLibName g_lpDBLibName ]
[ ?lpDBCellName g_lpDBCellName ]
[ ?lpDBViewName g_lpDBViewName ]
)
=> t / nil
Description
Exports the loaded setup to a specified file. This file can be verified for the setup options that
the Power Manager has used during import/export of power intent.
Arguments
Value Returned
Example
vpmExportPowerIntentSetup( "test_pg" "pass_gate_SC" "schematic" "lpSetup.il"
?overwriteExisting t ?filter "allSetupOptions")
Related Topic
vpmExtractPowerIntent
vpmExtractPowerIntent(
t_lib
t_cellName
t_viewName
)
=> session_id / nil
Description
Extracts the power intent from the given design. It also identifies sub-hierarchical blocks in the
top-level design, which need macro model extraction or are associated with a 1801 file.
Argument
Value Returned
Example
vpmExtractPowerIntent ("test_pg" "pass_gate_SC" "schematic")
Related Topic
vpmGenerateSigInfo
vpmGenerateSigInfo(
t_libName
t_cellName
t_viewName
t_sigInfoFilePath
)
=> session_id / nil
Description
Adds the signal type and voltage values for all the canonical nets in the design. If a design
net spans across multiple levels in the hierarchy, the net at the highest level of the hierarchy
is considered as canonical.
Argument
Value Returned
Example
Related Topic
vpmImportPowerIntent
vpmImportPowerIntent(
t_libname
t_cellname
t_viewname
t_viewlist
t_file1801Path
[ ?resolveTopNets g_resolveTopNets ]
)
=> t / nil
Description
Imports the power intent for any cellview. It also creates the netSet properties and resolves
tie connections in the design hierarchy and creates supply pins corresponding to the power
domain nets and global nets.
Note: This function requires a Virtuoso Schematic Editor XL license, which is released when
the import is complete.
Arguments
Value Returned
Example
vpmImportPowerIntent( "test_pg" "pass_gate_SC" "schematic" "schematic symbol"
"import.upf" ?resolveTopNets t)
Related Topics
Power Intent Import
vpmImportPowerIntentSetup
vpmImportPowerIntentSetup(
t_libname
t_cellname
t_viewname
t_setup_file_name
[ ?lpDBLibName g_lpDBLibName ]
[ ?lpDBCellName g_lpDBCellName ]
[ ?lpDBViewName g_lpDBViewName ]
)
=> t / nil
Description
Imports a SKILL file that contains the user-defined setup. This has the attributes required to
extract the desired information from the design cellview for importing or exporting the power
intent.
Arguments
Value Returned
Example
vpmImportPowerIntentSetup( "test_pg" "pass_gate_SC" "schematic" "lpSetup.il")
Related Topics
Power Intent Import
vpmLoadInDesignViolations
vpmLoadInDesignViolations(
t_libname
t_cellname
t_viewname
t_vdbFilePath
)
=> t / nil
Description
Loads the specified violation database file that contains the violation details for a previous
check on a design. As the SKILL function processes each violation from the violations file, it
creates markers on relevant design objects.
Arguments
Value Returned
Example
ret = vpmLoadInDesignViolations( "testlib" "adcTop" "schematic" "./
testlib.adcTop.vdb")
Related Topics
Loading the Violations Database
vpmRemoveImportedPowerIntent
vpmRemoveImportedPowerIntent(
t_libName
t_cellName
t_viewName
)
=> t_viewlist/ nil
Description
Removes the entire power intent information that was imported for a cellview. This function
also removes the netSet properties, tie connections, supply pins, and so on.
This function is used only when the Schematic XL license is checked out. Therefore, it first
verifies whether the license is already checked out and if it is not, it tries to check out the
license. The function also releases the license before exiting.
The view list specified by t_viewlist is used for processing the removal of imported
objects for the view type instantiated in the top cellview.
Argument
t_libname Name of the library of the cellview for which the power intent
will be removed
t_cellname Name of the cell of the cellview for which the power intent will
be removed
t_viewname Name of the view of the cellview for which the power intent will
be removed
t_viewlist List of the view names to be processed for removing the power
intent information.
Value Returned
Examples
vpmRemoveImportedPowerIntent( "test_pg" "pass_gate_SC" "schematic" "schematic"
"symbol")
Related Topic
vpmRemovePowerSwitchInstance
vpmRemovePowerSwitchInstance(
t_cellName
t_instName
)
=> t / nil
Description
Arguments
t_cellName The name of the parent cell name of power switch instance.
t_instName The name of the power switch instance.
Value Returned
Example
vpmRemovePowerSwitchInstance("analog_blk" "M0" )
M0 is an instance in the analog_blk cell, which had been registered as a power switch using
SKIL API vpmDefinePowerSwitchInstance. This instance will not be treated as a power
switch any more.
Related Topic
vpmRunInDesignChecks
vpmRunInDesignChecks(
t_libName
t_cellName
t_viewName
[ ?instPath t_instPath ]
[ ?logFilePath t_lprcFilePath ]
[ ?vdbFilePath t_vdbFilePath ]
)
=> t / nil
Description
Runs the In-Design Checks on a design specified by library, cell, and view.
Arguments
Value Returned
Example
when(ret
ret = vpmRunInDesignChecks( "testlib" "adcTop" "schematic" )
when(ret
view( "./testlib_adcTop.inDesign.log")
)
)
Related Topic
vpmSetViolationBrowserOptions
vpmSetViolationBrowserOptions(
w_window
t_openMode
t_openLocation
x_hierarchyDepth
[ ?hierarchicalScope b_hierarchicalScope ]
=> t / nil
Description
Sets the Annotation Browser options for viewing the design violations.
Arguments
Value Returned
Example
when(window = hiGetCurrentWindow()
when(vpmSetViolationBrowserOptions(window ?hierarchicalScope t hierarchyDepth
32)
println("Successfully set browser options")
)
)
Related Topic
C
1801 Support in Power Manager
This topic provides the list of commands supported in Virtuoso Power Manager.
■ General 1801 Command Support
■ 1801 Special Cell Definition Command Support
■ Liberty Attributes Support
The following table lists all the general 1801 commands and explains how they are supported
in the 1801 import and export processes of Power Manager. All supported commands are
indicated with an S and the unsupported commands with a U.
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
create_power_domain 2.0 2.1 S S
-elements 2.0 2.1 S S
-include_scope 2.0 2.1 Deprecated S S
in 2.1
-supply 2.0 2.1 S S
-scope 2.0 2.1 Deprecated S S
in 2.1
-update 2.0 2.1 S S
create_supply_port 2.0 2.1 S S
-direction 2.0 2.1 S S
create_supply_net 2.0 2.1 S S
-resolve 2.0 2.1 S S
connect_supply_net 2.0 2.1 S S
-ports 2.0 2.1 S S
create_supply_set 2.0 2.1 S S
-function 2.0 2.1 S S
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
-update 2.0 2.1 S S
associate_supply_set 2.0 2.1 S S
-handle 2.0 2.1 S S
set_port_attributes 2.0 2.1 S S
-applies_to 2.0 2.1 S S
-ports 2.0 2.1 S S
-elements 2.0 2.1 S S
-attribute 2.0 2.1 S S
-driver_supply 2.0 2.1 S S
-receiver_supply 2.0 2.1 S S
-repeater_supply 2.0 2.1 Deprecated S S
in 2.1
add_port_state 2.0 2.1 U S
-state 2.0 2.1 Not needed U S
for 1801
Import
add_pst_state 2.0 2.1 U S
-pst 2.0 2.1 Not needed U S
for 1801
Import
-state 2.0 2.1 Not needed U S
for 1801
Import
create_pst 2.0 2.1 U S
-supplies 2.0 2.1 Not needed U S
for 1801
Import
create_power_switch 2.0 2.1 S S
-output_supply_port 2.0 2.1 S S
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
-input_supply_port 2.0 2.1 S S
-domain 2.0 2.1 S S
-control_port 2.0 2.1 S S
-on_state 2.0 2.1 S S
-off_state 2.0 2.1 S S
-supply_set 2.0 2.1 S S
define_signal_attributes 2.0 2.1 S S
-model 2.0 2.1 S S
-signals 2.0 2.1 S S
-on_sense 2.0 2.1 S S
-off_sense 2.0 2.1 S S
-supplies 2.0 2.1 S S
set_level_shifter 2.0 2.1 S S
-domain 2.0 2.1 S S
-elements 2.0 2.1 S S
-source 2.0 2.1 S S
-sink 2.0 2.1 S S
-applies_to 2.0 2.1 S S
-no_shift 2.0 2.1 S S
-location 2.0 2.1 S S
-update 2.0 2.1 S S
-input_supply_set 2.0 2.1 S S
-output_supply_set 2.0 2.1 S S
-internal_supply_set 2.0 2.1 S S
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
set_isolation 2.0 2.1 S S
-domain 2.0 2.1 S S
-elements 2.0 2.1 U S
-source 2.0 2.1 U S
-sink 2.0 2.1 U S
-diff_supply_only 2.0 2.1 S S
-isolation_supply_net 2.0 2.1 S S
-update 2.0 2.1 S S
-applies_to 2.0 2.1 S S
-clamp_value 2.0 2.1 S S
-no_isolation 2.0 2.1 S S
-isolation_signal 2.0 2.1 S S
-isolation_sense 2.0 2.1 S S
-location self 2.0 2.1 S S
-location parent 2.0 2.1 S S
load_upf 2.0 2.1 S S
-scope 2.0 2.1 S S
set_scope 2.0 2.1 S S
Instance 2.0 2.1 S S
begin_power_model 2.1 U S
power_model_name 2.1 U S
-for model_list 2.1 U S
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
add_power_state 2.1 U S
-state 2.1 U S
-supply_expr 2.1 U S
-logic_expr 2.1 U S
-simstate 2.1 U S
end_power_model 2.1 U S
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
define_isolation_cell 2.0 2.1 S S
-cells 2.0 2.1 S S
-power 2.0 2.1 S S
-ground 2.0 2.1 S S
-enable 2.0 2.1 S S
-power_switchable 2.0 2.1 S S
-ground_switchable 2.0 2.1 S S
Support Support
Valid in IEEE
Command Options Comments for 1801 for 1801
1801 Version
Import Export
define_level_shifter_cell 2.0 2.1 S S
input_voltage_range 2.0 2.1 S S
-output_voltage_range 2.0 2.1 S S
-direction 2.0 2.1 S S
-input_power_pin 2.0 2.1 S S
-output_power_pin 2.0 2.1 S S
-input_ground_pin 2.0 2.1 S S
-output_ground_pin 2.0 2.1 S S
-ground 2.0 2.1 S S
-power 2.0 2.1 S S
-enable 2.0 2.1 S S
define_power_switch_cell 2.0 2.1 S S
-cells 2.0 2.1 S S
-type 2.0 2.1 S S
-stage_1_enable 2.0 2.1 S S
-stage_1_output 2.0 2.1 S S
-power_switchable 2.0 2.1 S S
-power 2.0 2.1 S S
-ground_switchable 2.0 2.1 S S
-ground 2.0 2.1 S S
Customized Commands
Support
for Export
Comments
Attribute Valid in Liberty Versions Liberty
Power
Model
is_macro_cell 2014.09 2017.06 S
voltage_map 2014.09 2017.06 S
Support
for Export
Comments
Attribute Valid in Liberty Versions Liberty
Power
Model
pg_pin 2014.09 2017.06 S
pg_type 2014.09 2017.06 S
direction 2014.09 2017.06 S
switch_function 2014.09 2017.06 S
related_power 2014.09 2017.06 S
is_isolated 2014.09 2017.06 S
isolation_enable_conditi 2014.09 2017.06 S
on
power_down_function 2014.09 2017.06 S
switch_pin 2014.09 2017.06 S
is_analog 2014.09 2017.06 S
D
Virtuoso Power Manager Forms
This appendix describes the Virtuoso Power Manager forms as they appear in the GUI.
Related Topic
Miscellaneous Settings
Related Topic
Related Topic
Related Topic
Related Topic
Related Topic
Related Topic
Related Topic
Related Topic
Related Topic
Related Topics
createExtractionLogFile
Related Topic
Tab Description
Supply Nets Lets you register certain names or regular expressions as names of
power nets or ground nets.
Tab Description
Libraries Lets you register the libraries-related information for reading the
standard and special cells modeling information.
Devices Lets you register the device and terminal related information for
reading the device type and its topology in the design.
In-Design Checks Lets you define the severity of reporting of a set of predefined and
configurable circuit checks and supply states to set multiple voltages
for efficient power management.
Export Lets you register a power net and a ground net from the pair defined
explicitly in the setup as a supply set and the associated power
domain and port attributes.
Miscellaneous Lets you specify some generic settings.
Supply Nets
The following table describes the fields available on the Supply Nets tab of the Power
Manager Setup form.
Section Description
Registered Supply Specifies names as names of power nets or ground nets.
Nets
Regular Expression Specifies regular expressions for nets in the Power Nets,
Based Registration Ground Nets, Pwell Nets, Nwell Nets, Deep Pwell Nets, and
Deep Nwell Nets fields.
Excluded Nets Specifies names or regular expressions for excluded nets in the
Names and Regular Expressions fields.
Monitor Nets Specifies names or regular expressions for monitor nets in the
Names and Regular Expressions fields.
Supply NetSet Specifies netSet properties prefix for nets in the Power Nets,
Properties Prefix Ground Nets, Pwell Nets, Nwell Nets, Deep Pwell Nets, and
Deep Nwell Nets fields.
Libraries
The following table describes the fields available on the Libraries tab of the Power Manager
Setup form.
Section Description
Liberty/Tech Files Specifies a list of Liberty model library files.
1801 File Binding Specifies a list of 1801 special cell definition
library files.
Reference Library Cells Specifies the instances of any library or a
particular cell in a design, apart from the Liberty
cell, as reference libraries.
MLDB Libraries Specifies project library that can be stored in an
Model Library database (MLDB).
Devices
The following table describes the fields available on the Devices tab of the Power Manager
Setup form.
Field Description
Library Name Specifies the library to list the cells that will be
registered as various device types.
Category Specifies the types of cells in the specified library.
Cells Specifies the list of cells that are available to be
registered as various device types.
Device Type Specifies the types of devices that can be used for
registering the cells in a design.
Terminals Specifies the list of device terminals of the cell,
which has been already registered, for
registration.
In-Design Checks
The following table describes the fields available on the In-Design Checks tab of the Power
Manager Setup form.
Field/Section Description
Checks Categories Specifies the severity level of the results reported
for the Level Shifter, Isolation, and Bulk checks
and provides the flexibility to add tolerance for
power and ground rail supply net voltage values
for level shifter checks.
Filters Specifies filter patterns to filter some of the error
and warning messages.
Supply States Specifies supply states in a design. Use the Add
Supply State form.
Use Supply States Provides a choice to use supply states in a
design.
Similar Violations Limit Defines the maximum number of violations that
are similar and should be reported. The default
value is 1. If the value is 0, all similar violations
are reported.
Violations for ports without Performs checks for the boundary ports that do
attributes not have any associated attributes, such as driver
or receiver supply sets. By default, in-design
checks do not report violations at the boundary
ports unless information about the related power
and ground nets of the boundary ports is
specified using the registration information.
Violations for all net voltages Reports violations for all net voltages specified in
various supply states or different voltage values
registered in the Registered Supply Nets table
provided in the setup.
Isolation violations for always-on to Reports violations for a missing isolation cell at
switched supply crossings: the always-on to switched supply crossings.
Export
The following table describes the fields available on the Export tab of the Power Manager
Setup form.
Section/Field Description
Supply Sets Specifies a list of supply sets by making a power
net and a ground net from the pair defined
explicitly in the setup as a supply set.
Power Domains Specifies a list of power domains associated with
the different sections of the design addressed by
a specific supply set.
Domain Name Prefix Specifies the prefix of the names being assigned
to the power domains.
Port Attributes Specifies a list of ports to avoid ambiguities during
the 1801 power intent extraction or the In-Design
checks to associate the boundary ports to a
power domain.
Consider inputOutput terms for Identifies supply nets, meeting the LDO net
internal power criterion detection criteria, even when the nets are
connected to inout pin/term.
Consider inputOutput terms for Identifies supply nets, meeting the monitor net
monitor power criterion detection criteria, even when the nets are
connected to inout pin/term.
Consider symmetrical source and Defines a port with a predefined supply set or
drain for supply tracing power domain that can be checked for the correct
or compatible connection at the receiver side.
Use anonymous supply for top level Enables the use of an anonymous supply for the
ports top-level ports instead of the default supply set.
Miscellaneous
The following table describes the fields available on the Miscellaneous tab of the Power
Manager form.
Field Description
Delimiter Specifies specific notations for redirect netSets
created during the 1801 import flow, automatically
generated supply set and power domain names,
and so on
Switch View List Controls the order of the traversal of a design
hierarchy during power intent extraction.
Stop View List Defines the stop point where the design traversal
must be stopped by the extractor during power
intent extraction
Use Signal Type Uses the sigType attribute of nets for detecting
the supply nets during power intent extraction.
Load Setup From Environment Loads the setup information from the
environment. The project-level settings are
considered as a part of the final setup.
Use Setup Changes From Uses setup changes from the environment setup.
Environment Any changes that are done to the project-level
settings are read and updated.
Related Topics
Registering Libraries
Miscellaneous Settings
Related Topic
Related Topic
Related Topic
Related Topic