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.
List of VDR-related Environment Variables
vdrReportLowerHierMarkerTouchingTopLevelNet
vdrSanityCheckerCompleteHierarchy
vdrSharedCellListForInternalNetsOnly
vdrUseDatasetsOnlyForLabelCreation
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
Examples
envGetVal("layout" "vdrConstraintGroupName")
envSetVal("layout" "vdrConstraintGroupName" 'string "myVDRLppCg")
Related Topics
Defining and Checking Voltage Synced Nets
vdrCreateLabelsForOpenNet
layout vdrCreateLabelsForOpenNet cyclic { "none" | "virtual" | "all" }
Description
Specifies whether to create labels for disjoint nets.
-
none: Allows only one label to be created per net, regardless of how many disjoint sections the net has. This is the default value. -
virtual: Creates labels for each disjoint section of a net that are marked by common label netname: -
all: Creates a label for each disjoint section of a net
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
Specifying Layers and Purposes for Generic Voltage Labels
Generating Voltage Labels from Simulation Data for All Nets
Generating Voltage Labels for Manually Entered Voltages
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
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
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
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
envGetVal("layout" "vdrEnableHierStopField")
envSetVal("layout" "vdrEnableHierStopField" 'boolean t)
envSetVal("layout" "vdrEnableHierStopField" 'boolean nil)
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
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
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.
-
External and Internal Nets(the default) specifies that labels are generated for all nets in the design. -
External Nets Onlyspecifies that labels are generated only for external nets. A net is considered external if it is connected to any of the terminals of the cellview to which it belongs. When the cell is instantiated at a higher level, these nets are propagated up the hierarchy, allowing you to make connections to the terminals to which they are connected. -
Internal Nets Onlyspecifies that labels are to be generated only for nets that are wholly internal to the cellview in which they belong. When the cellview is instantiated at a higher level, internal nets are not propagated up the hierarchy.
GUI Equivalent
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
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:
-
0means that labels are generated only for top-level nets (this is the default) -
1means top-level nets and nets located one level below in the hierarchy -
2means top-level nets and nets located one and two levels below in the hierarchy
GUI Equivalent
Examples
envGetVal("layout" "vdrHierarchyStopLevel")
envSetVal("layout" "vdrHierarchyStopLevel" 'int 2)
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
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.
GUI Equivalent
Examples
envGetVal("layout" "vdrHighVoltagePurpose")
envSetVal("layout" "vdrHighVoltagePurpose" 'string "vhi")
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
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.
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
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
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
vdrLabelHeight
layout vdrLabelHeight float heightValue
Description
Specifies the default height for labels or markers generated by the VDR flow.
- For labels, this means that the label is automatically sized to match the height of the shape with which it is associated.
- For markers, it prevents the marker from being created at all.
GUI Equivalent
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
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
Examples
envGetVal("layout" "vdrLogFile")
envSetVal("layout" "vdrLogFile" 'string "messageLog")
Related Topics
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.
GUI Equivalent
Examples
envGetVal("layout" "vdrLowVoltagePurpose")
envSetVal("layout" "vdrLowVoltagePurpose" 'string "vlo")
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
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.
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
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
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.
-
maxVoltagecreates markers for maximum voltage values only -
minVoltagecreates markers for minimum voltage values only -
bothVoltagecreates markers for all voltage values
GUI Equivalent
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
|
Tools – Voltage Dependent Rules – Create Labels/Markers From Simulation Voltages |
|
Examples
envGetVal("layout" "vdrOverrideMode")
envSetVal("layout" "vdrOverrideMode" 'boolean t)
Related Topics
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
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.
GUI Equivalent
|
Tools – Voltage Dependent Rules – Create Labels/Markers From Simulation Voltages |
|
Examples
envGetVal("layout" "vdrPrecision")
envSetVal("layout" "vdrPrecision" 'int 3)
Related Topics
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
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.
-
Schematicchecks values against schematic net properties (this is the default) -
Layoutchecks values against layout net properties -
CSVchecks values against the voltage values in the CSV file specified in vdrSanityCheckerCsvFileName -
Datasetschecks values against datasets specified in vdrSanityCheckerDatasets
GUI Equivalent
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
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
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
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
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.
-
Labelsperforms the sanity check on voltage values that are printed as labels in the layout (this is the default) -
VSyncperforms the sanity check on vsync shapes in the layout view (ICADVM20.1 EXL Only) -
Userdvperforms the sanity check on Userdv shapes in the layout view (ICADVM20.1 EXL Only)
GUI Equivalent
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
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
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
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
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
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
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
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
Examples
envGetVal("layout" "vdrValidLayersList")
envSetVal("layout" "vdrValidLayersList" 'string "M1 M2 M3 M4 M5")
Related Topics
Specifying Layers and Purposes for Generic Voltage Labels
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
Examples
envGetVal("layout" "vdrVerbose")
envSetVal("layout" "vdrVerbose" 'boolean t)
Related Topics
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
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.
-
roundOffrounds the voltage value to the nearest 0.01 -
ceilingrounds up the voltage value to the nearest 0.01 -
floorrounds down the voltage value to the nearest 0.01
GUI Equivalent
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
-
"Metal1,Metal1:v_sync"
Specifies a single layer check on layerMetal1with the vsync shape created on LPPMetal1 vsync. -
"Metal1:Metal2,Metal1:v_sync"
Specifies a layer-pair check on layersMetal1andMetal2with the vsync shape created on LPPMetal1 vsync.
The default is "" (empty string), which means that the vsync layer specification in the technology file is used when creating vsync shapes.
vdrVSyncCreateCheckLayer.GUI Equivalent
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.
-
Without
vdrVSyncIgnorePurposesset:envSetVal("layout" "vdrVSyncIgnorePurposes" 'string "")
=> t
vdrRunVSyncSanityChecker(geGetEditCellView())
============================================================================
Layout Design:
Lib/Cell/View: vsyncExample/pathSegIgnorePurpose/layout
============================================================================
VSync Shape on ('Metal1' 'vsync') and bBox ((5.084 0.6905) (5.516 9.4845)) is incorrect and is touching a non-net shape.
VSync Shape missing between 'A' and 'B' because no empty area has been found between the net shapes.
============================================================================
=> t
-
With
vdrVSyncIgnorePurposesset:envSetVal("layout" "vdrVSyncIgnorePurposes" 'string "fill pin")
=> t
vdrRunVSyncSanityChecker(geGetEditCellView())
INFO (VDR-2010): All the VSync nets in the cellview are correctly marked with the VSync shapes.
=> t
GUI Equivalent
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
-
"Metal1,Metal1:v_sync"
Specifies a single layer check on layerMetal1with the vsync shape created on LPPMetal1 vsync. -
"Metal1:Metal2,Metal1:v_sync"
Specifies a layer-pair check on layersMetal1andMetal2with the vsync shape created on LPPMetal1 vsync.
The default is "" (empty string), which means that the vsync layer specification in the technology file is used by the sanity checker.
vdrVSyncSanityCheckLayer.GUI Equivalent
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
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
|
Tools – Voltage Dependent Rules – Create Labels/Markers From Net Voltages |
|
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
vdrUseDatasetsOnlyForLabelCreation
Return to top