Product Documentation
Virtuoso Voltage Dependent Rules Flow Guide
Product Version IC23.1, November 2023

2


Environment Variables

The list below provides information on the names, descriptions, and graphical user interface equivalents for the Virtuoso® Layout Suite L layout editor environment variables used in the voltage dependent rules flows.

Only the environment variables listed below are supported for public use. All other environment variables, and undocumented aspects of the environment variables described below, are private and subject to change at any time.

List of VDR-related Environment Variables

vdrConstraintGroupName

vdrCreateLabelsForOpenNet

vdrCreateLabelOnHighestMetal

vdrDebugHierSharedCellsOnly

vdrEnableHierStopField

vdrEnableHierStopField

vdrGenerateLabelsOn

vdrGenerateMarkers

vdrHierarchyStopLevel

vdrHighVoltagePurpose

vdrHighVoltagePurposes

vdrLabelHeight

vdrLogFile

vdrLayerPurposeFile

vdrLowVoltagePurpose

vdrLowVoltagePurposes

vdrNetVoltageMode

vdrOverrideMode

vdrPostLabelCreationCallback

vdrPrecision

vdrReportLowerHierMarkerTouchingTopLevelNet

vdrSanityCheckerCheckAgainst

vdrSanityCheckerCompleteHierarchy

vdrSanityCheckerCsvFileName

vdrSanityCheckerDatasets

vdrSanityCheckerGenLogFile

vdrSanityCheckerLogFile

vdrSanityCheckerObjectType

vdrSanityCheckerTolerance

vdrSanityCheckerToleranceType

vdrSharedCellList

vdrSharedCellListForInternalNetsOnly

vdrSnapLabelMfgGrid

vdrUseDatasetsOnlyForLabelCreation

vdrValidLayersList

vdrVerbose

vdrVoltagePurposeFile

vdrVoltageRounding

vdrVSyncCreateCheckLayer

vdrVSyncIgnorePurposes

vdrVSyncSanityCheckLayer

vdrZeroShapeNets

vdrZeroVoltageNets

vdrConstraintGroupName

layout vdrConstraintGroupName string "cgName"

Description

Specifies the name of a constraint group that contains layer-purpose pair (LPP) information for VDR labels and markers. The specified constraint group must in turn contain voltageLabelMapping or voltageMarkerMapping constraints, which define the LPPs on which labels or markers will be drawn.

When set, the environment variable automatically enables the constrained label generation flow, which lets you create and edit labels manually in the layout view.

It also enables the Voltage Synced Nets flow in Layout EXL, which lets you mark and check the voltages of nets that must always transition in phase with each other.

The default is an empty string, meaning that LPP information is not read from the technology file and the constrained label flow is not enabled.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrConstraintGroupName")
envSetVal("layout" "vdrConstraintGroupName" 'string "myVDRLppCg")

Related Topics

Types of VDR Labels

Defining and Checking Voltage Synced Nets

vdrCreateLabelsForOpenNet

layout vdrCreateLabelsForOpenNet cyclic { "none" | "virtual" | "all" }

Description

Specifies whether to create labels for disjoint nets.

This value is stored between two consecutive simulation runs and it is used to decide whether to delete labels. If mode of label creation is changed in the next run, labels are deleted.

GUI Equivalent

The Label for Open Nets field in the Voltage Dependent Rules form.

Examples

envGetVal("layout" "vdrCreateLabelsForOpenNet")
envSetVal("layout" "vdrCreateLabelsForOpenNet" 'cyclic "none")
envSetVal("layout" "vdrCreateLabelsForOpenNet" 'cyclic "virtual")
envSetVal("layout" "vdrCreateLabelsForOpenNet" 'cyclic "all")

Related Topics

Types of VDR Labels

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

Simulation Driven VDR Flow

Voltage Dependent Rules

vdrCreateLabelOnHighestMetal

layout vdrCreateLabelOnHighestMetal boolean { t | nil }

Description

Specifies whether to create labels for nets on the topmost metal shape having the highest mask.

The default value is nil, which indicates that labels are created on the lowest mask shape.

When this environment variable is set to t, in addition to metal, layer functions poly and li are also considered to get the highest mask shape for nets.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrCreateLabelOnHighestMetal")
envSetVal("layout" "vdrCreateLabelOnHighestMetal" 'boolean t)

vdrDebugHierSharedCellsOnly

layout vdrDebugHierSharedCellsOnly boolean { t | nil }

Description

Specifies whether to search hierarchically only the shared cells for voltage labels, VSync shapes, and Userdv shapes.

The default value is nil, which indicates that all cells are searched hierarchically for voltage labels, VSync shapes, and Userdv shapes.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrDebugHierSharedCellsOnly")
envSetVal("layout" "vdrDebugHierSharedCellsOnly" 'boolean t)

vdrDeltaVIgnorePurposes

layout vdrDeltaVIgnorePurposes string "listOfPurposes"

Description

Specifies a list of purposes on which shapes in the design are ignored when creating Userdv shapes or performing checks on Userdv shapes.

The default value is an empty string, which means that no shapes in the design are ignored when creating Userdv shapes or performing sanity checks.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrDeltaVIgnorePurposes")
envSetVal("layout" "vdrDeltaVIgnorePurposes" 'string "fill pin")

vdrEnableHierStopField

layout vdrEnableHierStopField boolean { t | nil }

Description

Controls the availability of the Hierarchy Stop Level field in the Voltage Dependent Rules form. The default is t, which means that the form field can be edited by the end user. When set to nil, the field is disabled, meaning that the end user cannot change the value.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules

Field:

Hierarchy Stop Level

Examples

envGetVal("layout" "vdrEnableHierStopField")
envSetVal("layout" "vdrEnableHierStopField" 'boolean t)
envSetVal("layout" "vdrEnableHierStopField" 'boolean nil)

Related Topics

Voltage Dependent Rules (form)

vdrHierarchyStopLevel

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

Generating Voltage Markers from Simulation Data for All Nets

Generating Voltage Markers for Manually Entered Voltages

vdrGenerateLabels

layout vdrGenerateLabels boolean { t | nil }

Description

Specifies that the VDR flow is to be run in label generation mode. The default is nil.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules –

  • Create Labels/Markers From Simulation Voltages
  • Create Labels/Markers From Net Voltages

Field:

Generate Voltage Labels

Examples

envGetVal("layout" "vdrGenerateLabels")
envSetVal("layout" "vdrGenerateLabels" 'boolean t)
envSetVal("layout" "vdrGenerateLabels" 'boolean nil)

Related Topics

Voltage Dependent Rules (form)

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrGenerateLabelsOn

layout vdrGenerateLabelsOn cyclic "netType"

Description

Specifies the scope of nets for which labels are to be generated.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules

Field:

Generate Labels On

Examples

envGetVal("layout" "vdrGenerateLabelsOn")
envSetVal("layout" "vdrGenerateLabelsOn" 'cyclic "External Nets Only")
envSetVal("layout" "vdrGenerateLabelsOn" 'cyclic "Internal Nets Only")

Related Topics

Voltage Dependent Rules (form)

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrGenerateMarkers

layout vdrGenerateMarkers boolean { t | nil }

Description

Specifies that the VDR flow is to be run in marker generation mode. The default is nil.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules –

  • Create Labels/Markers From Simulation Voltages
  • Create Labels/Markers From Net Voltages

Field:

Generate Voltage Markers

Examples

envGetVal("layout" "vdrGenerateMarkers")
envSetVal("layout" "vdrGenerateMarkers" 'boolean t)
envSetVal("layout" "vdrGenerateMarkers" 'boolean nil)

Related Topics

Voltage Dependent Rules (form)

Generating Voltage Markers from Simulation Data for All Nets

Generating Voltage Markers for Manually Entered Voltages

vdrHierarchyStopLevel

layout vdrHierarchyStopLevel int stopLevel

Description

Specifies how many hierarchy levels the software searches to find the nets on which to generate labels. Specify an integer value between 0 and 32, where for example:

GUI Equivalent

Command:

Tools – Voltage Dependent Rules

Field:

Hierarchy Stop Level

Examples

envGetVal("layout" "vdrHierarchyStopLevel")
envSetVal("layout" "vdrHierarchyStopLevel" 'int 2)

Related Topics

Voltage Dependent Rules (form)

vdrEnableHierStopField

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

Generating Voltage Markers from Simulation Data for All Nets

Generating Voltage Markers for Manually Entered Voltages

vdrHighVoltagePurpose

layout vdrHighVoltagePurpose string "purposeName"

Description

Specifies the layer purpose on which to draw the maximum voltage label for a net when generating labels using the VDR flow.

The default is "vhi".

GUI Equivalent

Command:

Tools – Voltage Dependent Rules

Field:

High Voltage Purpose

Examples

envGetVal("layout" "vdrHighVoltagePurpose")
envSetVal("layout" "vdrHighVoltagePurpose" 'string "vhi")

Related Topics

vdrLowVoltagePurpose

Voltage Dependent Rules (form)

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrHighVoltagePurposes

layout vdrHighVoltagePurposes string "listOfpurposeNames"

Description

Specifies a list of the high voltage layer purposes in the order of increasing priority. Sanity Checker validates the voltage labels of a net that are created on the layer purpose with the highest priority while ignoring the voltage labels on other payer purposes with lower priority.

The default is "".

Sanity Checker first retrieves the LPP (layer-purpose pair) information from the constraint group specified by the environment variable vdrConstraintGroupName. If vdrConstraintGroupName is set to nil, it extracts the LPP information from voltage purpose file specified by the environment variable vdrVoltagePurposeFile. If vdrVoltagePurposeFile is also set to nil, it retrieves the layer-purpose information from the environment variables, vdrHighVoltagePurposes and vdrLowVoltagePurposes.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrHighVoltagePurposes")
envSetVal("layout" "vdrHighVoltagePurposes" 'string "net slot vhi")

Note that the layer purpose vhi has the highest priority and net has the lowest priority.

Related Topics

vdrHighVoltagePurpose

vdrLowVoltagePurpose

vdrLowVoltagePurposes

Voltage Dependent Rules (form)

vdrConstraintGroupName

vdrVoltagePurposeFile

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrLabelHeight

layout vdrLabelHeight float heightValue

Description

Specifies the default height for labels or markers generated by the VDR flow.

The default is 0.0.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules

Field:

Size

Examples

envGetVal("layout" "vdrLabelHeight")
envSetVal("layout" "vdrLabelHeight" 'float 0.05)

Related Topics

Voltage Dependent Rules (form)

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

Generating Voltage Markers for Manually Entered Voltages

vdrLayerPurposeFile

layout vdrLayerPurposeFile string "fileName"

Description

Specifies the name of a special layer purpose file, which lets you override the default vdrHighVoltagePurpose and vdrLowVoltagePurpose settings if your process requires it.

The default is "" (an empty string).

GUI Equivalent

Command:

Tools – Voltage Dependent Rules –

  • Create Labels/Markers From Simulation Voltages

Create Labels/Markers From Net Voltages

Field:

Special Voltage LPP File

Examples

envGetVal("layout" "vdrLayerPurposeFile")
envSetVal("layout" "vdrLayerPurposeFile" 'string "vdrLayerPurpose.map")

Related Topics

Voltage Dependent Rules (form)

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrLogFile

layout vdrLogFile string "fileName"

Description

Specifies the name of a log file in which messages are saved when generating labels from a voltage information file in verbose mode.

The default is "" (an empty string).

GUI Equivalent

None

Examples

envGetVal("layout" "vdrLogFile")
envSetVal("layout" "vdrLogFile" 'string "messageLog")

Related Topics

VSync Constraints Visualizer

vdrLowVoltagePurpose

layout vdrLowVoltagePurpose string "purposeName"

Description

Specifies the layer purpose on which to draw the minimum voltage label for a net when generating labels using the VDR flow.

The default is "vlo".

GUI Equivalent

Command:

Tools – Voltage Dependent Rules

Field:

Low Voltage Purpose

Examples

envGetVal("layout" "vdrLowVoltagePurpose")
envSetVal("layout" "vdrLowVoltagePurpose" 'string "vlo")

Related Topics

vdrHighVoltagePurpose

Voltage Dependent Rules (form)

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrLowVoltagePurposes

layout vdrLowVoltagePurposes string "listOfPurposeNames"

Description

Specifies a list of the low voltage layer purposes in the order of increasing priority. Sanity Checker validates the voltage labels of a net that are created on the layer purpose with the highest priority while ignoring the voltage labels on other payer purposes with lower priority.

The default is "".

Sanity Checker first retrieves the LPP (layer-purpose pair) information from the constraint group specified by the environment variable vdrConstraintGroupName. If vdrConstraintGroupName is set to nil, it extracts the LPP information from voltage purpose file specified by the environment variable vdrVoltagePurposeFile. If vdrVoltagePurposeFile is also set to nil, it retrieves the layer-purpose information from the environment variables, vdrHighVoltagePurposes and vdrLowVoltagePurposes.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrLowVoltagePurposes")
envSetVal("layout" "vdrLowVoltagePurposes" 'string "pin fill vlo")

Note that the layer purpose vlo has the highest priority and pin has the lowest priority.

Related Topics

vdrLowVoltagePurposes

vdrHighVoltagePurpose

vdrHighVoltagePurposes

vdrConstraintGroupName

vdrVoltagePurposeFile

Voltage Dependent Rules (form)

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrNetVoltageMode

layout vdrNetVoltageMode cyclic { "maxVoltage" | "minVoltage" | "bothVoltage" }

Description

Specifies whether markers are to be created for maximum, minimum, or all voltage values.

The default is "maxVoltage".

GUI Equivalent

Command:

Tools – Voltage Dependent Rules –

  • Create Labels/Markers From Simulation Voltages
  • Create Labels/Markers From Net Voltages

Field:

Net Voltage Mode

Examples

envGetVal("layout" "vdrNetVoltageMode")
envSetVal("layout" "vdrNetVoltageMode" 'cyclic "maxVoltage")

Related Topics

Voltage Dependent Rules (form)

Generating Voltage Markers from Simulation Data for All Nets

Generating Voltage Markers for Manually Entered Voltages

vdrOverrideMode

layout vdrOverrideMode boolean { t | nil }

Description

Specifies that any manually entered voltage values on nets are overridden by the values from the simulation datasets. The default is nil.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Create Labels/Markers From Simulation Voltages

Field:

Override Manually Entered Voltages

Examples

envGetVal("layout" "vdrOverrideMode")
envSetVal("layout" "vdrOverrideMode" 'boolean t)

Related Topics

Voltage Dependent Rules

Populating Voltages and Generating Labels or Markers

vdrPostLabelCreationCallback

layout vdrPostLabelCreationCallback string "procedureName"

Description

Specifies a user-defined SKILL procedure that can be used to perform any required post-processing tasks on the generated labels. The specified callback must accept a cellview ID as an argument and is run automatically after label generation is complete.

For example, the callback shown below collects all the labels generated by the VDR flow in the specified cellview and creates a property to link them to a dataset called dataset1.

procedure(_myPostVdrCB(cv)
let((shape)
foreach(shape cv~>shapes
if(shape~>objType == "label" then
if(prop = dbFindProp(shape "CDNS_VDR_LABEL") then
dbCreateProp(shape "DataSetName" 'string "dataset1")
)
)
)
)
)

To modify the callback to post-process marker objects instead of labels, change the objType to "rect".

You can also specify the callback function name as an optional argument when using the vdrCreateVoltageLabel SKILL function.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrPostLabelCreationCallback")
envSetVal("layout" "vdrPostLabelCreationCallback" 'string "_myPostVdrCB")

Related Topics

Post-Processing Voltage Labels and Markers

vdrPrecision

layout vdrPrecision int num_decimal_places

Description

Specifies the number of decimal places for net voltage labels or markers being created. Specify an integer value between 0 and 5. If an integer value outside this range is specified, the value is reset to the default value. The default is 2.

Existing labels are not changed unless they are regenerated.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Create Labels/Markers From Simulation Voltages

Field:

Decimal Places

Examples

envGetVal("layout" "vdrPrecision")
envSetVal("layout" "vdrPrecision" 'int 3)

Related Topics

vdrVoltageRounding

Specifying Layers and Purposes for Generic Voltage Labels

Generating Voltage Labels from Simulation Data for All Nets

Generating Voltage Labels for Manually Entered Voltages

vdrReportLowerHierMarkerTouchingTopLevelNet

layout vdrReportLowerHierMarkerTouchingTopLevelNet boolean { t | nil }

Description

Specifies whether to report a lower-level marker as invalid if it touches any top-level shapes. If a marker touches a shape present in the lower hierarchy, it will not be reported as invalid even if touches a top-level net.

The default value is nil, which indicates that Sanity checker reports violations for all invalid markers that are present in the lower hierarchy.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrReportLowerHierMarkerTouchingTopLevelNet")
envSetVal("layout" "vdrReportLowerHierMarkerTouchingTopLevelNet" 'boolean t)

vdrSanityCheckerCheckAgainst

layout vdrSanityCheckerCheckAgainst cyclic { "Schematic" | "Layout" | "CSV" | "Datasets" }

Description

Specifies whether voltage values in labels are checked against schematic net properties, layout net properties or a CSV file.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Sanity Checker

Field:

  • Check Against Schematic
  • Check Against Layout
  • Check Against CSV
  • Check Against Datasets

Examples

envGetVal("layout" "vdrSanityCheckerCheckAgainst")
envSetVal("layout" "vdrSanityCheckerCheckAgainst" 'cyclic "Layout")
envSetVal("layout" "vdrSanityCheckerCheckAgainst" 'cyclic "CSV")
envSetVal("layout" "vdrSanityCheckerCheckAgainst" 'cyclic "Datasets")

Related Topics

Sanity Checking Voltage Values in Constrained Labels

vdrSanityCheckerCompleteHierarchy

layout vdrSanityCheckerCompleteHierarchy boolean { t | nil }

Description

Specifies whether to perform sanity checks on complete hierarchy. The default value is nil, which indicates that sanity checks are performed only on the current hierarchy.

GUI Equivalent

The Complete Hierarchy check box in the VDR Sanity Checker form.

Examples

envGetVal("layout" "vdrSanityCheckerCompleteHierarchy")
envSetVal("layout" "vdrSanityCheckerCompleteHierarchy" 'boolean t)

vdrSanityCheckerCsvFileName

layout vdrSanityCheckerCsvFileName string "fileName"

Description

Specifies a CSV file containing voltage values against which labels are checked when vdrSanityCheckerCheckAgainst is set to CSV.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrSanityCheckerCsvFileName")
envSetVal("layout" "vdrSanityCheckerCsvFileName" 'string "voltages.csv")

Related Topics

Sanity Checking Voltage Values in Constrained Labels

vdrSanityCheckerDatasets

layout vdrSanityCheckerDatasets string "list_of_datasets"

Description

Specifies one or more datasets against which labels are checked when vdrSanityCheckerCheckAgainst is set to Datasets. If several datasets are specified, the labels are checked against the worst case derived from the specified datasets. You can specify several datasets by adding their names to the string in a space-separated format.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrSanityCheckerDatasets")
envSetVal("layout" "vdrSanityCheckerDatasets" 'string "vdr_dataset_0")
envSetVal("layout" "vdrSanityCheckerDatasets" 'string "vdr_dataset_0 vdr_dataset_1")

Related Topics

Sanity Checking Voltage Values in Constrained Labels

vdrSanityCheckerGenLogFile

layout vdrSanityCheckerGenLogFile boolean { t | nil }

Description

Specifies that the sanity checker comparison report is to be captured in a log file. You specify the log filename and location using vdrSanityCheckerLogFile.

When you specify a filename, only a summary message is printed in the CIW. If you do not specify a filename, discrepancies are reported in a table printed in the CIW.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Sanity Checker

Field:

Generate report in text file

Examples

envGetVal("layout" "vdrSanityCheckerGenLogFile")
envSetVal("layout" "vdrSanityCheckerGenLogFile" 'boolean t)

Related Topics

Sanity Checking Voltage Values in Constrained Labels

Defining and Checking Voltage Synced Nets

vdrSanityCheckerLogFile

layout vdrSanityCheckerLogFile string "fileName"

Description

Specifies the path and name of the sanity checker report log file.

When you specify a filename, only a summary message is printed in the CIW. If you do not specify a filename, discrepancies are reported in a table printed in the CIW.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Sanity Checker

Field:

File Name

Examples

envGetVal("layout" "vdrSanityCheckerLogFile")
envSetVal("layout" "vdrSanityCheckerLogFile" 'string "vdrReport.log")

Related Topics

Sanity Checking Voltage Values in Constrained Labels

Defining and Checking Voltage Synced Nets

vdrSanityCheckerObjectType

layout vdrSanityCheckerObjectType cyclic { "Labels" | "VSync" | "Userdv"}

Description

Specifies what is to be checked by the VDR Sanity Checker.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Sanity Checker

Field:

  • Check Labels
  • Check VSync Shapes
  • Check Userdv Shapes

Examples

envGetVal("layout" "vdrSanityCheckerObjectType")
envSetVal("layout" "vdrSanityCheckerObjectType" 'cyclic "Labels")
envSetVal("layout" "vdrSanityCheckerObjectType" 'cyclic "VSync")
envSetVal("layout" "vdrSanityCheckerObjectType" 'cyclic "Userdv")

Related Topics

Sanity Checking Voltage Values in Constrained Labels

Defining and Checking Voltage Synced Nets

vdrSanityCheckerTolerance

layout vdrSanityCheckerTolerance float toleranceValue

Description

Specifies a threshold beyond which voltage mismatches are to be reported by the sanity checker. The default is 0.00.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Sanity Checker

Field:

Tolerance

Examples

envGetVal("layout" "vdrSanityCheckerTolerance")
envSetVal("layout" "vdrSanityCheckerTolerance" 'float 0.05)

Related Topics

Sanity Checking Voltage Values in Constrained Labels

vdrSanityCheckerToleranceType

layout vdrSanityCheckerToleranceType cyclic { "Absolute" | "Relative" }

Description

Specifies whether the sanity checker tolerance value is considered an absolute value or a relative percentage based on the net voltage.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Sanity Checker

Field:

Absolute and Relative

Examples

envGetVal("layout" "vdrSanityCheckerToleranceType")
envSetVal("layout" "vdrSanityCheckerToleranceType" 'cyclic "Relative")

Related Topics

Sanity Checking Voltage Values in Constrained Labels

vdrSharedCellList

layout vdrSharedCellList string list_of_shared_cells

Description

Specifies a list of shared cells. In addition, cells with their design intent profile names as VDR Shared Cell are also considered as shared cells. For more information, see Virtuoso Design Intent User Guide.

You can use regular expressions to specify a list of cells that you want to set as the shared cells. For example:

The following example sets all cells inside the cellview that have library names starting with vdr_ and cell names starting with inv as the shared cells.

envSetVal("layout" "vdrSharedCellList" 'string "(vdr_* inv*)")

The following example sets all cells inside the cellview that have library names starting with v and ending with r, and cell names starting with in and ending with er as the shared cells.

envSetVal("layout" "vdrSharedCellList" 'string "(v*r in*er)")

While evaluating regular expressions, VDR considers instances only in current cellview and checks whether their library and cell names match with the patterns specified in the regular expression.

The default is "" (an empty string), which indicates that no shared cells are defined.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrSharedCellList")
envSetVal("layout" "vdrSharedCellList" 'string "(library1 cell1) (library2 cell2)")
envSetVal("layout" "vdrSharedCellList" 'string "(vdr_* inv*)")
envSetVal("layout" "vdrSharedCellList" 'string "(v*r in*er)")

Related Topics

Rules for Creating Voltage Labels in Shared Cells

vdrSharedCellListForInternalNetsOnly

vdrSharedCellListForInternalNetsOnly

layout vdrSharedCellListForInternalNetsOnly string list_of_shared_cells

Description

Specifies a list of shared cells for which voltage labels are created only on the internal nets. No voltage labels are created on external nets for the cells specified in this environment variable.

If a cell is specified in both the environment variables, vdrSharedCellList and vdrSharedCellListForInternalNetsOnly, the latter takes precedence.

You can use regular expressions to specify a list of cells for which you do not want to create voltage labels on the external nets.

The following example specifies all cells inside the cellview that have library names starting with vdr_ and cell names starting with inv as the shared cells.

envSetVal("layout" "vdrSharedCellListForInternalNetsOnly" 'string "(vdr_* inv*)")

The following example sets all cells inside the cellview that have library names starting with v and ending with r, and cell names starting with in and ending with er as the shared cells.

envSetVal("layout" "vdrSharedCellListForInternalNetsOnly" 'string "(v*r in*er)")

While evaluating regular expressions, VDR considers instances only in current cellview and checks whether their library and cell names match with the patterns specified in the regular expression.

The default is "" (an empty string).

GUI Equivalent

None

Examples

envGetVal("layout" "vdrSharedCellListForInternalNetsOnly")
envSetVal("layout" "vdrSharedCellListForInternalNetsOnly" 'string "(library1 cell1) (library2 cell2)")
envSetVal("layout" "vdrSharedCellListForInternalNetsOnly" 'string "(vdr_* inv*)")
envSetVal("layout" "vdrSharedCellListForInternalNetsOnly" 'string "(v*r in*er)")

Related Topics

Rules for Creating Voltage Labels in Shared Cells

vdrSharedCellList

vdrSnapLabelMfgGrid

layout vdrSnapLabelMfgGrid boolean { t | nil }

Description

Specifies whether the newly created voltage labels are aligned with the manufacturing grid.

The default value is nil, which indicates that the voltages labels are aligned with the database grid, instead of the manufacturing grid.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrSnapLabelMfgGrid")
envSetVal("layout" "vdrSnapLabelMfgGrid" 'boolean t)

vdrUseDatasetsOnlyForLabelCreation

layout vdrUseDatasetsOnlyForLabelCreation boolean { t | nil }

Description

When creating voltage labels using datasets, voltage values captured in the dataset are used. Net voltages are used to create voltage labels for nets that are not found in the dataset

This environment variable specifies whether to use only datasets for creating voltage labels for nets.

The default value is nil, which indicates that net voltages are used for creating voltage labels for nets which are not found in the dataset.

If you set this environment variable to t, voltage labels for nets are created only using datasets. This means that voltage labels are not created for nets that are not found in the dataset.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrUseDatasetsOnlyForLabelCreation")
envSetVal("layout" "vdrUseDatasetsOnlyForLabelCreation" 'boolean t)

vdrValidLayersList

layout vdrValidLayersList string "list_of_layerNames"

Description

Specifies the valid layers for generating labels and markers. The default is "" (an empty string), which means that all layers are considered valid for generating labels and markers.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrValidLayersList")
envSetVal("layout" "vdrValidLayersList" 'string "M1 M2 M3 M4 M5")

Related Topics

Specifying Layers and Purposes for Generic Voltage Labels

vdrGetValidLayers

vdrSetValidLayers

vdrVerbose

layout vdrVerbose boolean { t | nil }

Description

Enables verbose mode when generating labels based on a voltage information file. The software prints one message per entry in the file confirming the action taken for that entry.

The default is nil, which means that no messages are issued. When set to t, messages are printed in the CIW.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrVerbose")
envSetVal("layout" "vdrVerbose" 'boolean t)

Related Topics

VSync Constraints Visualizer

vdrVoltagePurposeFile

layout vdrVoltagePurposeFile string "fileName"

Description

Specifies the name of the voltage purpose file, which determines the layer-purpose pairs on which markers for different voltage values are to be created. The default is "" (an empty string).

GUI Equivalent

Command:

Tools – Voltage Dependent Rules –

  • Create Labels/Markers From Simulation Voltages
  • Create Labels/Markers From Net Voltages

Field:

Voltage Purpose File

Examples

envGetVal("layout" "vdrVoltagePurposeFile")
envSetVal("layout" "vdrVoltagePurposeFile" 'string "volt_LPP.map")

Related Topics

Voltage Dependent Rules (form)

Specifying Layers and Purposes for Voltage Markers

Generating Voltage Markers from Simulation Data for All Nets

Generating Voltage Markers for Manually Entered Voltages

vdrVoltageRounding

layout vdrVoltageRounding cyclic { "roundOff" | "floor" | "ceiling" }

Description

Specifies the rounding rule to follow for voltage values in marker-based VDR flows.

The default is "roundOff".

GUI Equivalent

Command:

Tools – Voltage Dependent Rules –

  • Create Labels/Markers From Simulation Voltages
  • Create Labels/Markers From Net Voltages

Field:

Voltage Rounding

Examples

envGetVal("layout" "vdrVoltageRounding")
envSetVal("layout" "vdrVoltageRounding" 'cyclic "floor")

Related Topics

Voltage Dependent Rules (form)

Generating Voltage Markers from Simulation Data for All Nets

Generating Voltage Markers for Manually Entered Voltages

vdrVSyncCreateCheckLayer

layout vdrVSyncCreateCheckLayer string "vSyncSpec"

Description

Overrides the vsync shape creation specification defined in the process technology file to improve the routability of the design.

The vSyncSpec comprises a list of one or more strings, each separated by a space. Each string specifies one or two input layers and an output layer and purpose on which the vsync shape is to be drawn. The input and output layer specifications are separated by a comma.

t_inputLayer1[:t_inputLayer2],t_outputLayer:t_outputPurpose

For example,

The default is "" (empty string), which means that the vsync layer specification in the technology file is used when creating vsync shapes.

When using the vdrVSyncSanityCheckLayer environment variable, ensure that you set it to the same value as vdrVSyncCreateCheckLayer.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrVSyncCreateCheckLayer")
envSetVal("layout" "vdrVSyncCreateCheckLayer" 'string "Metal1,Metal1:v_sync Metal2,Metal2:v_sync Metal1:Metal2,Metal1:v_sync")

Related Topics

Defining and Checking Voltage Synced Nets

Specifying Layers and Purposes for Synced Nets

vdrVSyncIgnorePurposes

layout vdrDeltaVIgnorePurposes string "listOfPurposes"

Description

Specifies a list of purposes on which shapes in the design are ignored when creating VSync markers or performing sanity checks on those markers.

The default value is an empty string, which means that no shapes in the design are ignored when creating VSync markers or performing sanity checks.

The following examples show the differences between when you run vdrRunVSyncSanityChecker with and without any vdrVSyncIgnorePurposes set.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrVSyncIgnorePurposes")
envSetVal("layout" "vdrVSyncIgnorePurposes" 'string "fill pin")

vdrVSyncSanityCheckLayer

layout vdrVSyncSanityCheckLayer string "vSyncSpec"

Description

Modifies the vsync layer definition in the process technology file to specify which vsync shapes are to be checked by the VDR Sanity Checker.

The vSyncSpec comprises a list of one or more strings, each separated by a space. Each string specifies one or two input layers and an output layer and purpose on which shapes are to be checked. The input and output layer specifications are separated by a comma.

t_inputLayer1[:t_inputLayer2],t_outputLayer:t_outputPurpose

For example,

The default is "" (empty string), which means that the vsync layer specification in the technology file is used by the sanity checker.

When using the vdrVSyncCreateCheckLayer environment variable, ensure that you set it to the same value as vdrVSyncSanityCheckLayer.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrVSyncSanityCheckLayer")
envSetVal("layout" "vdrVSyncSanityCheckLayer" 'string "Metal1,Metal1:v_sync Metal2,Metal2:v_sync Metal1:Metal2,Metal1:v_sync")

Related Topics

Defining and Checking Voltage Synced Nets

Specifying Layers and Purposes for Synced Nets

vdrZeroShapeNets

layout vdrZeroShapeNets boolean { t | nil }

Description

Allows the generation of labels or markers for nets on which no geometry exists. The default is nil.

GUI Equivalent

None

Examples

envGetVal("layout" "vdrZeroShapeNets")
envSetVal("layout" "vdrZeroShapeNets" 'boolean t)
envSetVal("layout" "vdrZeroShapeNets" 'boolean nil)

Related Topics

Voltage Dependent Rules (form)

Generating Voltage Labels from Simulation Data for All Nets

vdrZeroVoltageNets

layout vdrZeroVoltageNets string "list_of_netNames"

Description

Lists the names of nets that have voltage values of (0,0) but for which labels or markers should be generated anyway.

List the net names, with each name separated by a space or a comma and the whole list enclosed by double quotes. The asterisk (*) is supported as a wildcard character.

The default is "" (an empty string), which means that the corresponding form field is seeded with the names of nets that have (0,0) voltage values and signal type ground.

Voltage labels are created for zero-voltage nets specified by the environment variable vdrZeroVoltageNets, irrespective of the value set for the environment variable vdrUseDatasetsOnlyForLabelCreation.

GUI Equivalent

Command:

Tools – Voltage Dependent Rules – Create Labels/Markers From Net Voltages

Navigator – RMB Net Name – Create Voltage Labels/Markers

Field:

Zero Voltage Nets

Examples

envGetVal("layout" "vdrZeroVoltageNets")
envSetVal("layout" "vdrZeroVoltageNets" 'string "VSS VSS1")
envSetVal("layout" "vdrZeroVoltageNets" 'string "VSS VSS*")

Related Topics

Voltage Dependent Rules (from net voltages) (form)

Voltage Dependent Rules (form)

Generating Voltage Labels for Manually Entered Voltages

Layout-centric VDR Flow

vdrUseDatasetsOnlyForLabelCreation


Return to top
 ⠀
X