Product Documentation
Voltus-Fi Custom Power Integrity Solution XL User Guide
Product Version IC23.1, August 2023

18


SKILL Functions

This section provides syntax, description, and examples for the Cadence® SKILL functions associated with the Voltus™-Fi Custom Power Integrity Solution (Voltus-Fi) flow.

Only the functions documented in this chapter are supported for public use. Any other functions, and undocumented aspects of the functions described below, are private and subject to change or removal at any time.

vsaCreateMarker

vsaCreateMarker( 
x x_coordinate
y y_coordinate
message
)
=> t / nil

Description

Creates a point marker with the specified attributes. When this marker is created successfully, it appears in the Misc tab of Annotation Browser.

Arguments

x

Specifies the x-axis coordinate for the marker.

y

Specifies the y-axis coordinate for the marker.

message

Specifies the message associated with the marker.

Values Returned

t

Marker was created at the specified coordinates.

nil

Returns nil when the marker is not created.

Example

vsaCreateMarker(34.45 56.67 "Marker1")
=> t

The above example code shows how to create Marker1 at the specified x-axis and y-axis coordinates.

vsaOpenLayout

vsaOpenLayout( 
libname
cellname
viewname
)

Description

Opens the design in Virtuoso for running Voltus-Fi-XL.

Arguments

libname

Specifies the library name for the design to be opened.

cellname

Specifies the cell name for the design to be opened.

viewname

Specifies the layout view name for the design to be opened.

Values Returned

None.

Example

vsaOpenLayout("testlib" "testcell" "layout")

The above example code shows how to specify the library name, cell name, and layout view name of the design you want to open.

vsaOpenLayoutForRead

vsaOpenLayoutForRead( 
libname
cellname
viewname
)

Description

Opens the design in Virtuoso in the read-only mode.

Arguments

libname

Specifies the library name for the design to be opened.

cellname

Specifies the cell name for the design to be opened.

viewname

Specifies the layout view name for the design to be opened.

Values Returned

None.

Example

vsaOpenLayoutForRead("testlib" "testcell" "layout")

The above example code shows how to specify the library name, cell name, and layout view name of the design you want to open in the read-only mode.

vsaLoadNets

vsaLoadNets( 
netname
)

Description

Specifies the nets to be loaded in the Voltus-Fi GUI.

Argument

netname

Specifies the name of the net to be loaded in the Voltus-Fi GUI. You can specify multiple net names separated by a space.

Values Returned

None.

Example

vsaLoadNets(“VDD VSS”)

The above example code shows how to specify the net names for the nets, VDD and VSS, that you want to load in the Voltus-Fi GUI.

vsaLoadSecondaryLayers

vsaLoadSecondaryLayers()

Description

Enables the loading of data for all layers in the Voltus-Fi GUI.

Argument

None.

Values Returned

None.

Example

vsaLoadSecondaryLayers()

The above example code shows how to enable the loading of data for all layers in the Voltus-Fi GUI.

vsaSetLayersToMergeDuringResultsLoading

vsaSetLayersToMergeDuringResultsLoading(
metal_layer
cut_layer
)

Description

Specifies the name of the metal layer and the corresponding cut-layer to be excluded from highlighting while plotting the EMIR analysis results. This function can be called multiple times to specify different pairs of metal and cut layers. Voltus-Fi honors all these calls. This function must be called before loading results in Voltus-Fi.

Arguments

metal_layer

Specifies the name of the metal layer for which the solid shapes are to be highlighted.

cut_layer

Specifies the name of the corresponding cut-layer to be excluded from highlighting while plotting the results.

Values Returned

None.

Examples

vsaSetLayersToMergeDuringResultsLoading(“M1 CM1A”)
vsaSetLayersToMergeDuringResultsLoading(“PO CPO”)

The above examples show how to specify the cut layers, CM1A and CPO for layers, M1 and PO, respectively.

vsaSetInputType

vsaSetInputType(
inputType
resultsFile 
resultsType 
startTime 
stopTime)
)

Description

Specifies the data base input options, parameter storage format (PSF) or vavo_db, for running IR drop and EM analyses in the Voltus-Fi-L GUI. The resultsType, startTime and stopTime arguments are only valid for the psf-based flow.

Arguments

inputType

Specifies whether PSF or vavo_db is used for the EMIR analysis.

resultsFile

For the psf-based flow, specifies the analysis name for DCOP (dcOp-dc) or transient (tran) analysis.

For the vavo_db flow, specifies the name of the vavo_db simulation results file.

resultsType

For the psf-based flow, specifies the type of analysis, dc or tran.

For the vavo_db- based flow, nil is specified.

startTime

Specifies the analysis start time for the psf-based flow, for both DCOP and transient analysis types.

For the vavo_db-based flow, 0 is specified.

This argument must be specified along with the stopTime argument.

stopTime

Specifies the stop time for analysis for the psf-based flow, for both DCOP and transient analysis types.

For the vavo_db- based flow, 0 is specified.

This argument must be specified along with the startTime argument.

Values Returned

None.

Examples

vsaSetEMIRConfig

vsaSetEMIRConfig( 
config_filename
)

Description

Loads the EMIR configuration file to be used for EMIR analysis in Voltus-Fi-XL. This file is specified before calling the vsaLoadEM() function.

Argument

config_filename

Specifies the name of the EMIR configuration file to be loaded for EMIR analysis in Voltus-Fi-XL.

Values Returned

None.

Example

vsaSetEMIRConfig("abc/emir.conf.variables")
vsaLoadEM()

The above example code shows that the emir.conf.variables file will be loaded for EMIR analysis in Voltus-Fi-XL.

vsaSetEMResultsFile

vsaSetEMResultsFile( 
binfilename
)

Description

Specifies the simulation results file to be used for viewing the EMIR analysis results in Voltus-Fi-XL. This file contains the simulation database generated using the Spectre simulator.

Argument

binfilename

Specifies the name of the simulation results file (emir_bin) to be used for loading and displaying the EMIR analysis results in Voltus-Fi-XL.

Values Returned

None.

Example

vsaSetEMResultsFile("xps.raw/xps.emirtap.emir0_bin")

The above example code shows that the name of the results file specified for loading and displaying EMIR analysis results in Voltus-Fi-XL is xps.emirtap.emir0_bin.

vsaSetEMLayerMapFileName

vsaSetEMLayerMapFileName( 
layermapfile
)

Description

Specifies the name of the layer map file to be used for the EM technology file. This file provides the mapping between layer names in the simulation database and those in the technology file. This function is only used for EM plots.

Argument

layermapfile

Specifies the name of the layer map file. This file provides the mapping between layer names in the simulation database and those in the technology file.

Values Returned

None.

Example

vsaSetEMLayerMapFileName("contactmapfile")

The above example code shows that the layer map filename is specified as contactmapfile.

vsaSetEMTechFileName

vsaSetEMTechFileName( 
techfilename
)

Description

Specifies the name of the EM technology file that contains the EM rule information to be used for plotting EM results in Voltus-Fi.

Argument

techfilename

Specifies the name of technology file with EM rules to be used for viewing EM results in Voltus-Fi. You can specify qrcTechFile,emDataFile, or ICT file as input for performing EM analysis.

Values Returned

None.

Example

vsaSetEMTechFileName("qrcTechFile")

The above example code shows that the technology filename is specified as qrcTechFile.

vsaSetEMTypes

vsaSetEMTypes( 
list (imax iavg irms iacpeak iavgabs)
)

Description

Specifies the types of EM analyses for which you want to plot EM results in Voltus-Fi. At least one analysis type must be selected.

Argument

list (imax iavg irms iacpeak iavgabs)

Specifies the types of EM analyses for which you want to plot EM results. The list can include the following types of analyses:

imax: calculates the current density violations based on maximum DC current

iavg: calculates the current density violations based on the average value of DC current

irms: calculates the current density violations based on the root mean square (RMS) value of AC current

iacpeak: calculates the current density violations based on peak AC current

iavgabs: calculates the current density violations based on the average value of absolute current

Values Returned

None.

Example

vsaSetEMTypes(list("imax" "iavg" "iavgabs"))

The above example code shows that imax, iavg, and iavgabs types of EM analyses are to be performed.

vsaSetDfiiLayerMapFileName

vsaSetDfiiLayerMapFileName( 
df2layermapfile
)

Description

Specifies the DFII layer map filename that provides the mapping between the extractor-generated xDSPF file layer names and the DFII layer names.

Argument

df2layermapfile

Specifies the name of the DFII layer map file that provides the mapping between the xDSPF file layer names and the DFII layer names.

Values Returned

None.

Example

vsaSetDfiiLayerMapFileName("df2layermap")

The above example code shows that the name of the DFII layer map file is df2layermap.

vsaShowAllResistors

vsaShowAllResistors()

Description

When specified, displays all resistors on the Voltus-Fi GUI including those for which there are no layout shapes matching the specified resistor coordinates. These resistors are displayed using stick diagrams.

Argument

None.

Values Returned

None.

Example

vsaSetDfiiLayerMapFileName("df2layermap")
vsaShowAllResistors()
vsaSetIRResultsFile("test/xps.617/xps.raw/xps.emirtap.emir0_bin")
vsaLoadIR();

The above example code shows how to view all resistors including those for which there is no layout shape matching the specified resistor coordinates on the Voltus-Fi GUI.

vsaSetQRCData

vsaSetQRCData(
rundir
runname
)

Description

Sets the Quantus inputs to enable solid shape highlighting for EMIR plots displayed on the Virtuoso layout.

Arguments

rundir

Specifies the Quantus run directory name.

runname

Specifies the run name used while running Quantus.

Values Returned

None.

Example

vsaSetQRCData("./qrc_temp" "testrun")

The above example code shows that Quantus run directory, qrc_temp and run name, testrun will be used to enable solid shape highlighting.

vsaSelectFailedNets

vsaSelectFailedNets()

Description

Specifies that EM analysis results for only those nets that failed the EM check should be plotted. It enables the Show Only Failed option in the GUI.

Arguments

None.

Values Returned

None.

Example

vsaSelectFailedNets ()

The above example code shows the EM analysis results for only those nets that fail the EM check will be plotted.

vsaSetEMOnlyICTFile

vsaSetEMOnlyICTFile(
filename
)

Description

Specifies the name of the ICT file to be used for specifying the EM rules for plotting EM analysis results.

Argument

filename

Specifies the name of the ICT file.

Values Returned

None.

Example

vsaSetEMOnlyICTFile("./myICT.txt")

The above example code shows that myICT.txt file will be used for specifying the EM rules.

vsaSetEMPlot

vsaSetEMPlot(
plot_type
)

Description

Specifies the default plot for EM analysis results in Voltus-Fi.

Argument

plot_type

Sets the default plot for EM analysis results. You can specify any one of the following plot types:

RJ: sets the default plot to DC current density analysis plot

JAVG: sets the default plot to average current density analysis plot

JACPEAK: sets the default plot to AC peak current density analysis plot

JABSAVG: sets the default plot to average absolute current density analysis plot

JACRMS: sets the default plot to RMS current density analysis plot

TC: sets the default plot to peak tap current density analysis plot

RC: sets the default plot to peak resistor current density analysis plot

Values Returned

None.

Example

vsaSetEMPlot("JAVG")

The above example code shows that the default plot for EM analysis results will be average current density analysis data (JAVG) plot.

vsaLoadEM

vsaLoadEM()

Description

Specifies that the EM analysis results should be loaded. Before specifying this function, ensure that the EM results file and the EM technology file are specified.

Arguments

None.

Values Returned

None.

Example

vsaOpenLayout("testlib" "testcell" "layout")
vsaSetEMResultsFile("./xps.raw/xps.emirtap.emir0_bin")
vsaSetEMTechFileName("qrcTechFile")
vsaSetEMLayerMapFileName("contactmapfile")
vsaSetEMTypes(list("imax" "iavg" "irms" "iacpeak" "iavgabs"))
vsaSetDfiiLayerMapFileName("df2layermap")
vsaLoadEM()

The above example code shows the set of functions specified for loading the EM analysis results. The vsaSetEMResultsFile and the vsaSetEMTechFileName functions are required to be specified before specifying vsaLoadEM.

vsaSetIRResultsFile

vsaSetIRResultsFile( 
binfilename
)

Description

Specifies the results file to be used for viewing the EMIR analysis results in Voltus-Fi-XL.

Argument

binfilename

Specifies the name of the emir_bin file to be used for loading and displaying the EMIR analysis results in Voltus-Fi-XL.

Values Returned

None.

Example

vsaSetIRResultsFile("xps.raw/xps.emirtap.emir0_bin")

The above example code shows that the name of the results file to be used for loading and displaying EMIR analysis results in Voltus-Fi-XL is xps.emirtap.emir0_bin.

vsaSetIRThreshold

vsaSetIRThreshold(
threshold_value
)
=> nil

Description

Sets the threshold value for viewing IR drop violations.

Argument

threshold_value

Specifies the threshold value for viewing the IR drop violations in Voltus-Fi.

Value Returned

nil

Returns nil when the value is not specified.

Example

vsaSetIRThreshold(0.01)
The above example code sets the threshold value to 0.01 volts and all IR drop values below 0.01 volts are filtered while plotting the IR drop results.

vsaSetIRPlot

vsaSetIRPlot(
plot_type
)

Description

Specifies the default plot for IR drop analysis results in Voltus-Fi.

Argument

plot_type

Sets the default plot for IR drop analysis results. Specify one of the following plot types:

IR: sets the default plot to peak IR drop analysis plot

IRAVG: sets the default plot to average IR drop analysis plot

RC: sets the default plot to peak current density violation plot

IV: sets the default plot to transistor-based supply voltage data plot

Reffective: sets the default plot to effective resistance analysis plot

PI: sets the default plot to that for currents across resistors when power gates are connected

PV: sets the default plot to that for IR drop across power-switch instances

Values Returned

None.

Example

vsaSetIRPlot("Reffective")

The above example code shows that the default plot for IR drop analysis will be Reffective.

vsaSetLRPShortedLayers

vsaSetLRPShortedLayers(
layer1, layer2,...
)

Description

Specifies the names of layers to be shorted for the least-resistive path (LRP) analysis.

Argument

(layer1, layer2,....)

Specifies the names of layers to be shorted for LRP analysis.

Values Returned

None.

Example

vsaSetLRPShortedLayers("M1, OD")

The above example code shows that layers, M1 and OD will be shorted for LRP analysis.

vsaLoadIR

vsaLoadIR()

Description

Specifies that the IR drop analysis results should be loaded. Before specifying this function, ensure that the IR drop results filename is specified.

Arguments

None.

Values Returned

None.

Example

vsaOpenLayout("testlib" "testcell" "layout")
vsaSetIRResultsFile("./xps.raw/xps.emirtap.emir0_bin")
vsaSetDfiiLayerMapFileName("df2layermap")
vsaLoadIR()

The above example code shows the set of functions specified for loading the IR drop analysis results. The vsaSetIRResultsFile function is required to be specified before specifying vsaLoadIR.

vsaSetFinerDisplayOff

vsaSetFinerDisplayOff()

Description

Disables the finer gradient for the specified layers while displaying the IR/EM plots on the Virtuoso layout. This function is specified after specifying the DFII layermap file and before loading the IR drop or EM analysis results.

Arguments

None.

Values Returned

None.

Example

vsaSetDfiiLayerMapFileName("df2layermap")
vsaSetFinerDisplayOff()
vsaSetIRResultsFile("test/xps.617/xps.raw/xps.emirtap.emir0_bin")
vsaSetIRThreshold(0.01)
vsaLoadIR()

The above example code shows how to specify the DFII layermap file, disable the finer gradient display and then load the IR drop analysis results.

vsaSetParallelLoading

vsaSetParallelLoading()

Description

Enables parallel loading of OpenAccess shapes in the Voltus-Fi application interface.

Arguments

None

Values Returned

None

Example

vsaSetParallelLoading()


Return to top
 ⠀
X