Product Documentation
Virtuoso Electrically Aware Design Flow Guide
Product Version IC23.1, November 2023

B


Environment Variables

The following sections describe the environment variables used in the electromigration flow:

elec.gui

The following environment variables provide default values to the EAD Setup form in Design Environment XL:

createVoltageConstraints

elec.gui createVoltageConstraints boolean { t | nil }

Description

Specifies whether to create voltage constraints. The default value is nil, which indicates that voltage constraints are not created. Set this value to t, if you want to create voltage constraints.

GUI Equivalent

EAD Setup – Voltage Dependent Rules – Create voltage constraints

Examples

envGetVal("elec.gui" "createVoltageConstraints")
envSetVal("elec.gui" "createVoltageConstraints" 'boolean t)

Related Topics

EAD Setup

customVoltageConstraintFunc

elecVdrCreateConstraints

elecVdrCreateDeltaV

customVoltageConstraintFunc

elec.gui customVoltageConstraintFunc string nameOfTheUserDefinedFunction

Description

Specifies the name of the user-defined function to be called to create deltaVoltage and voltageSyncedNet constraints.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "customVoltageConstraintFunc")
envSetVal( "elec.gui" "customVoltageConstraintFunc" 'string "userDefinedElecFunc")

Related Topics

elecVdrCreateConstraints

elecVdrCreateDeltaV

createVoltageConstraints

customVmaxCalc

Specifies the name of a user-defined SKILL procedure to be used in the calculation of the maximum voltage value during simulation.

In .cdsenv:

elec.gui customVmaxCalc string "demoCalcVmax"

In .cdsinit or the CIW:

envSetVal("elec.gui" "customVmaxCalc" 'string "demoCalcVmax")

Valid Values:

Name of a user-defined SKILL procedure to be used to calculate the maximum voltage value

Default Value:

""

GUI Equivalent:

None

If the job control mode is LSCS, define this setting in the .vdsinit file for custom voltage-dependent rules.

For more information, see Customizing the Calculation of Minimum and Maximum Voltages in the Virtuoso Voltage Dependent Rules Flow Guide.

customVminCalc

Specifies the name of a user-defined SKILL procedure to be used in the calculation of the minimum voltage value during simulation.

In .cdsenv:

elec.gui customVminCalc string "My_Vmin"

In .cdsinit or the CIW:

envSetVal("elec.gui" "customVminCalc" 'string "My_Vmin")

Valid Values:

Name of a user-defined SKILL procedure to be used to calculate the minimum voltage value

Default Value:

""

GUI Equivalent:

None

If the job control mode is LSCS, define this setting in the .vdsinit file for custom voltage-dependent rules.

For more information, see Customizing the Calculation of Minimum and Maximum Voltages in the Virtuoso Voltage Dependent Rules Flow Guide.

enableCustomVminVmaxCalc

Enables or disables the feature to use custom SKILL procedures for the calculation of the minimum and maximum voltage values to be used in the voltage dependent rules flow.

In .cdsenv:

elec.gui enableCustomVminVmaxCalc boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "enableCustomVminVmaxCalc" 'boolean t)

Valid Values:

t

Enables the feature to use custom SKILL procedures for the calculation of voltage values.

nil

Disables the feature to use custom SKILL procedures for the calculation of voltage values.

Default Value:

nil

GUI Equivalent:

None

Related Variables:

If the job control mode is LSCS, define this setting in the .vdsinit file for custom voltage-dependent rules.

For more information, see Customizing the Calculation of Minimum and Maximum Voltages in the Virtuoso Voltage Dependent Rules Flow Guide.

enableEADMode

Enables or disables the EAD mode for the current design. When the EAD mode is enabled, the current data is saved with the simulation results. This data is further used in electromigration analysis.

EAD mode can be enabled in SKILL scripts using the following codes:

sess=axlGetWindowSession()
sdb=axlGetMainSetupDB(sess)
elecSetup=axlSDBGetExtension(sdb "ElectricalSetup")
when(elecSetup>0
  design=axlSDBGetChild(elecSetup "Design")
  elecMode=axlSDBGetChild(design "ElectricalMode")
  axlSDBSetValue(elecMode "True")
)

You can use the following command to disable EAD mode:

axlSDBSetValue(elecMode "False")

In .cdsenv:

elec.gui enableEADMode boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "enableEADMode" 'boolean t)

Valid Values:

t

Enables the EAD mode for the current design.

nil

Disables the EAD mode for the current design.

Default Value:

nil

GUI Equivalent:

Command: EAD – EAD Setup

Field: Enable Electrical Data Capture for EAD Flow

saveAll

Specifies if the current data is to be saved for all the signals in the selected design.

In .cdsenv:

elec.gui saveAll boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "saveAll" 'boolean t)

Valid Values:

t

Saves the current data for all the signals.

nil

Specifies that the current data is to be saved only for the selected signals. To know more about how to select signals, refer to Selecting Signals to Save Currents.

Default Value:

t

GUI Equivalent:

Command: EAD – EAD Setup

Field: Signal Selection – Save EAD Data – All Signals

useHierarchyLevel

Specifies if the current data is to be saved only upto a given hierarchy level in the selected design.

In .cdsenv:

elec.gui useHierarchyLevel boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "useHierarchyLevel" 'boolean t)

Valid Values:

t

Saves the current data for all the signals upto a level specified by the hierarchyLevel environment variable.

nil

Saves the current data for all the signals in the complete hierarchy of the selected design.

Default Value:

t

GUI Equivalent:

Command: EAD – EAD Setup

Field: Save Signal Selection – All Signals – Hierarchy Stop Level

hierarchyLevel

Specifies the level of hierarchy upto which the current data is to be saved for all the signals.

In .cdsenv:

elec.gui hierarchyLevel int 5

In .cdsinit or the CIW:

envSetVal("elec.gui" "hierarchyLevel" 'int 4)

Valid Values:

any integer value

Specifies the level of hierarchy.

Default Value:

99

GUI Equivalent:

Command: EAD – EAD Setup

Field: Signal Selection – All Signals – Hierarchy Stop Level

enableIdc

Saves the DC current data for the specified signals with the results database. In this case, ensure that DC analysis has been enabled for the test.

In .cdsenv:

elec.gui enableIdc boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "enableIdc" 'boolean t)

Valid Values:

t

Saves the direct current data for the specified signals with the simulation results.

nil

Does not save the direct current data with the simulation results.

Default Value:

t

GUI Equivalent:

Command: EAD – EAD Setup

Field: Type – DC Current (Idc)

idcScaleFactor

Specifies the scale factor for the DC current data. This scale factor is used to scale the current data only while transferring the currents from schematic to the layout view.

In .cdsenv:

elec.gui idcScaleFactor float 1.0 

In .cdsinit or the CIW:

envSetVal("elec.gui" "idcScaleFactor" 'float 2.0)

Valid Values:

A positive float value.

Default Value:

1.0

GUI Equivalent:

Command: EAD – EAD Setup

Field: Type – DC Current (Idc) – Scale scroll list

enableIavg

Saves the average current data for the specified signals with the simulation results. In this case, ensure that transient analysis has been enabled for the test.

In .cdsenv:

elec.gui enableIavg boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "enableIavg" 'boolean t)

Valid Values:

t

Saves the average current data with the simulation results.

nil

Does not save the average current data with the simulation results.

Default Value:

t

GUI Equivalent:

Command: EAD – EAD Setup

Field: Type – Average Current (Iavg)

iavgScaleFactor

Specifies the scale factor for the average current data.

In .cdsenv:

elec.gui iavgScaleFactor float 1.0 

In .cdsinit or the CIW:

envSetVal("elec.gui" "iavgScaleFactor" 'float 2.0)

Valid Values:

A positive float value.

Default Value:

1.0

GUI Equivalent:

Command: EAD – EAD Setup

Field: Type – Average Current (Iavg) – Scale scroll list

enableIsignal

Saves the transient waveform data for the selected signals so that it can be used for dynamic EM analysis.

In .cdsenv:

elec.gui enableIsignal boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "enableIsignal" 'boolean t)

Valid Values:

t

Saves the transient waveform data for the selected signals.

nil

Does not save the transient waveform data for the selected signals.

Default Value:

nil

GUI Equivalent:

Command: EAD – EAD Setup

Field: Type – Waveforms for RMS and Peak Checks (Isignal)

saveWaveforms

Saves the current waveforms with the simulation data to disk so that it can be processed later while performing electromigration checks.

In .cdsenv:

elec.gui saveWaveforms boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "saveWaveforms" 'boolean t)

Valid Values:

t

Saves the current waveforms with the simulation data.

nil

Does not save the current waveforms with the simulation data.

The GUI equivalent for this value is Process Waveforms Inside Simulator and is currently available only for the Spectre and APS simulators

Default Value:

t

GUI Equivalent:

Command: EAD – EAD Setup

Field: Process Waveforms Post Simulation

clipWaveforms

If you choose to save the current waveforms with the simulation data, this option specifies whether the currents are to be compiled for a specific time interval or for the complete simulation run.

This does not impact the waveforms saved in the results database.

The time interval can be specified using the clipFrom and clipTo environment variables.

In .cdsenv:

elec.gui clipWaveforms boolean nil

In .cdsinit or the CIW:

envSetVal("elec.gui" "clipWaveforms" 'boolean t)

Valid Values:

t

Saves the current waveforms for a specific time period.

nil

Saves the current waveforms for complete simulation run.

Default Value:

nil

GUI Equivalent:

Command: EAD – EAD Setup

Field: Clip Waveforms

clipFrom

Specifies a start time of the time interval for which the waveform clip of the current data is to be saved.

In .cdsenv:

elec.gui clipFrom string ""

In .cdsinit or the CIW:

envSetVal( "elec.gui" "clipFrom" 'string "10u")

Valid Values:

A string value specifying a start time for the waveform clip.

Default Value:

""

GUI Equivalent:

Command: EAD – EAD Setup

Field: From

clipTo

Specifies an end time of the time interval for which the waveform clip of the current data is to be saved.

In .cdsenv:

elec.gui clipTo string "" 

In .cdsinit or the CIW:

envSetVal("elec.gui" "clipTo" 'string "40u")

Valid Values:

A string value specifying an end time for the waveform clip.

Default Value:

""

GUI Equivalent:

Command: EAD – EAD Setup

Field: To

skipLibListForDataset

elec.gui skipLibListForDataset string space-separatedLibraryNames

Description

Specifies the space-separated library names for which you do not want to create datasets. The default value is "", which indicates that datasets are created for all libraries.

You can also use regular expressions. The following example uses regular expressions to skip dataset creation for all libraries whose name start with testLib and myLib:

envSetVal("elec.gui" "skipLibListForDataset" 'string "testLib* myLib*")

GUI Equivalent

None

Examples

envGetVal("elec.gui" "skipLibListForDataset")
envSetVal("elec.gui" "skipLibListForDataset" 'string "myLib1 myLib2")

vdrcPerf

elec.gui vdrcPerf boolean { t | nil }

Description

Specifies whether to select All in the DUT Masters drop-down list.

The default is nil, which indicates that the current DUT is selected in the DUT Masters drop-down list. If a DUT master has constraint cache, viewing results also opens the constraints cache associated with the DUT master. Therefore, opening results may take a lot of time for large datasets.

When you set this environment variable to t, All is selected in the DUT Masters drop-down list and opening results does not open constraint cache. This helps in improving performance. Note that all signals are still saved.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "vdrcPerf")
envSetVal("elec.gui" "vdrcPerf" 'boolean t)

vdrcPerfSigCount

elec.gui vdrcPerfSigCount int numberOfSignals

Description

Specifies the threshold count of signals, exceeding which all instances for a DUT master are listed in DUT Instance drop-down list, even if an instance has no signals saved to them.

When number of signals is very large, it takes time to determine which instances have signals saved to them.

The default value is 10000, which indicates that if there are more than 10000 signals saved, all instances will be listed in the DUT Instance drop-down list, including the ones that do not have any signals.

If the number of signals saved are less than the specified value, only the instance that have at least one signal saved are displayed in the DUT Instance drop-down list.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "vdrcPerfSigCount")
envSetVal("elec.gui" "vdrcPerfSigCount" 'int 30000)

vdrCsvDatasetDir

elec.gui vdrCsvDatasetDir string pathToTheDirectoty

Description

Specifies the path to the directory where the edited simulation dataset is saved as the CSV file. The default is ".", which indicates that the file is saved in the current working directory.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "vdrCsvDatasetDir")
envSetVal("elec.gui" "vdrCsvDatasetDir" 'string "/home/user/simulation")

vdrCsvDatasetFileSuffix

elec.gui vdrCsvDatasetFileSuffix string suffixOfTheCSVFile

Description

Specifies the suffix of the CSV file containing information about the edited simulation dataset that is being saved as the CSV dataset. The default is "csv", which indicates that the CSV file is saved with the suffix csv.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "vdrCsvDatasetFileSuffix")
envSetVal("elec.gui" "vdrCsvDatasetFileSuffix" 'string "testCSV")

vdrCsvDatasetNameSuffix

elec.gui vdrCsvDatasetNameSuffix string suffixOfTheDatasetName

Description

Specifies the suffix to be added to the name of the CSV dataset. The default is "csv", which indicates that the name of the CSV Dataset is saved with the suffix csv.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "vdrCsvDatasetNameSuffix")
envSetVal("elec.gui" "vdrCsvDatasetNameSuffix" 'string "csvDataset")

showOnlyTopLevelNets

elec.gui showOnlyTopLevelNets boolean { t | nil }

Description

Specifies whether to display only top-level nets for Vmin and Vmax calculations in the simulation datasets on the VDR Dataset form. The default is nil, which indicates that all nets are displayed.

GUI Equivalent

None

Examples

envGetVal("elec.gui" "showOnlyTopLevelNets")
envSetVal("elec.gui" "showOnlyTopLevelNets" 'boolean t)

warnOnCacheEdit

Specifies if a warning message is to be displayed before making the constraint view editable while creating a dataset in ADE Assembler.

In .cdsenv:

elec.gui warnOnCacheEdit boolean t 

In .cdsinit or the CIW:

envSetVal("elec.gui" "warnOnCacheEdit" 'boolean t)

Valid Values:

t

A warning message is displayed in the GUI to confirm that ADE Assembler can make the constraint view editable before creating the dataset.

nil

No warning message is displayed in the GUI. ADE Assembler makes the constraint view editable and creates the dataset. In addition, an info message is displayed in the CIW.

For more details, see Creating Datasets.

Default Value:

t

GUI Equivalent:

None

warnOnCacheSave

Specifies if a warning message is to be displayed while saving a dataset in the constraint view.

In .cdsenv:

elec.gui warnOnCacheSave boolean t 

In .cdsinit or the CIW:

envSetVal("elec.gui" "warnOnCacheSave" 'boolean t)

Valid Values:

t

A warning message is displayed to confirm if ADE Assembler can save the dataset in the constraint view.

nil

No warning message is displayed in the GUI. ADE Assembler saves the dataset in the constraint view and displays an info message in the CIW.

For more details, see Creating Datasets.

Default Value:

t

GUI Equivalent:

None

warnOnDatasetOverwrite

Specifies if a warning message needs to be displayed when an existing dataset is being overwritten by the dataset being saved.

In .cdsenv:

elec.gui warnOnDatasetOverwrite boolean t

In .cdsinit or the CIW:

envSetVal("elec.gui" "warnOnDatasetOverwrite" 'boolean t)

Valid Values:

t

A warning popup is displayed

nil

No warning is displayed and the existing dataset is overwritten.

For more details, see Creating Datasets.

Default Value:

t

GUI Equivalent:

None

elec.results

dcResultName

Specifies the result name for DC data that can be passed to the selectResult OCEAN command to access terminal currents. If not set, the EAD first looks for "dcOp". If that too is not found, uses "dc"as the result name.

In .cdsenv:

elec.results dcResultName string ""

In .cdsinit or the CIW:

envSetVal("elec.results" "dcResultName" 'string "")

Valid Values:

A string value specifying the result name for DC data.

Default Value:

""

GUI Equivalent:

None

tranResultName

Specifies the result name for transient data that can be passed to the selectResult OCEAN command to access terminal currents. If not set, the tool uses "tran".

In .cdsenv:

elec.results tranResultName string ""

In .cdsinit or the CIW:

envSetVal("elec.results" "tranResultName" 'string "")

Valid Values:

A string value specifying the result name for transient data.

Default Value:

""

GUI Equivalent:

None

ei.dataSet

excludeCurrentsInCI

Specifies if the current data is to be saved as part of the constraint view where a dataset is being saved. By default, when a dataset is saved in the constraint view, the current data is not saved in it. Instead, only the paths to the simulation results directory are saved.

In .cdsenv:

ei.dataSet excludeCurrentsInCI boolean t

In .cdsinit or the CIW:

envSetVal("ei.dataSet" "excludeCurrentsInCI" 'boolean t)

Valid Values:

t

Saves the current data in the ADE Assembler results database. Path to that directory is saved as a dataset property in the constraint view.

nil

Saves the current data in the constraint view.

Default Value:

t

GUI Equivalent:

None

storeRelativePaths

Saves the paths of the results database and the simulation directory as relative paths. By default, absolute paths are saved for these directories.

In .cdsenv:

ei.dataSet storeRelativePaths boolean t

In .cdsinit or the CIW:

envSetVal("ei.dataSet" "storeRelativePaths" 'boolean t)

Valid Values:

t

Saves relative paths for the results database and the simulation directory

nil

Saves absolute paths for the results database and the simulation directory

Default Value:

nil

GUI Equivalent:

None

transferPerf

Enables you to improve the performance when updating electrical data. By default, this environment variable is set to t so that you do not face any performance-related issues when updating electrical data. However, if this causes any issues in creating datasets, you can set it to nil.

In .cdsenv:

ei.dataSet transferPerf boolean t

In .cdsinit or the CIW:

envSetVal("ei.dataSet" "transferPerf" 'boolean t)

Valid Values:

t

Turns on the performance improvement.

nil

Turns off the performance improvement.

Default Value:

t

GUI Equivalent:

None

ei.setup

enableWorstCaseDatasetForVoltages

ei.setup enableWorstCaseDatasetForVoltages boolean {t | nil}

Description

Specifies whether to create a single worst-case simulation voltage dataset having worst Vmin and Vmax values for all nets. The dataset is saved in the constraint view.

Worst Vmin value is the minimum voltage value across all corners, sweep points, and DUT instances. Worst Vmax value is the maximum voltage value across all corners, sweep points, and DUT instances.

The dataset with the net names and worst voltage values (Vmin and Vmax) are displayed in the Simulation Dataset tab of the VDR Dataset form.

The default value is nil, which indicates that simulation datasets are created for unique combinations of values in the Point, Corner, DUT Masters, and DUT Instance drop-down lists.

This environment variable works only if the environment variable ei.dataSet excludeCurrentsInCI is set to nil.

GUI Equivalent

None

Examples

envGetVal("ei.setup" "enableWorstCaseDatasetForVoltages")
envSetVal("ei.setup" "enableWorstCaseDatasetForVoltages" 'boolean t)

Related Topics

excludeCurrentsInCI

Creating Datasets

Viewing Simulation Datasets

expandIteratedInstancesForCurrents

Specifies whether iterated instances are to be expanded when saving the current data. For example, if there is a hierarchical instance terminal /I1<0:2>/I2<0:1>/OUT, the current data will be saved as described below.

When the expandIteratedInstancesForCurrents variable is set to t, the data would be saved for the terminals of all the iterated instances:

/I1<0>/I2<0>/OUT
/I1<1>/I2<0>/OUT
/I1<2>/I2<0>/OUT
/I1<0>/I2<1>/OUT
/I1<1>/I2<1>/OUT
/I1<2>/I2<1>/OUT

When the expandIteratedInstancesForCurrents variable is set to nil, only the first instance of the iterated instance is taken into account, ignoring the rest. In this example, the current would be saved only for/I1<0>/I2<0>/OUT.

This variable is used only when you choose the All Signals option on the EAD Setup form for signal selection.

In .cdsenv:

ei.setup expandIteratedInstancesForCurrents boolean t

In .cdsinit or the CIW:

envSetVal("ei.setup" "expandIteratedInstancesForCurrents" 'boolean t)

Valid Values:

t

Expands the iterated instances when the instance terminals are selected to save currents.

nil

Does not iterate through the instances. Instead, saves the current data for the terminals of the first instance.

Default Value:

nil

GUI Equivalent:

None

expandIteratedInstancesForVoltages

Specifies whether iterated instances are to be expanded when saving the voltage data. For example, if there is a hierarchical instance voltage /I1<0:2>/I2<0:1>/net4, the voltage data will be saved as described below.

When the expandIteratedInstancesForVoltages variable is set to t, the data would be saved for the nets connected toall the iterated instances:

/I1<0>/I2<0>/net4
/I1<1>/I2<0>/net4
/I1<2>/I2<0>/net4
/I1<0>/I2<1>/net4
/I1<1>/I2<1>/net4
/I1<2>/I2<1>/net4

When the expandIteratedInstancesForVoltages variable is set to nil, only the first instance of the iterated instance is taken into account, ignoring the rest. In this example, the voltage would be saved only for/I1<0>/I2<0>/net4.

This variable is used only when you choose the All Signals option on the EAD Setup form for signal selection.

In .cdsenv:

ei.setup expandIteratedInstancesForVoltages boolean nil

In .cdsinit or the CIW:

envSetVal("ei.setup" "expandIteratedInstancesForVoltages" 'boolean nil)

Valid Values:

t

Expands the iterated instances when the nets are selected to save voltages.

nil

Does not iterate through the instances. Instead, saves the voltage data for the net connected to the first instance.

Default Value:

nil

GUI Equivalent:

None

Also see: expandIteratedInstancesForCurrents

msps.layout

These variables are described in the Parasitic Aware Design User Guide.

individualInstCdfCallbacks

When expanding an m-factor or fingered device in the parasitic/LDE view, the tool executes a CDF callback associated with that device. This variable specifies if the CDF callback is to be executed for each instance of a device or only once for a device.

By default, this variable is set to nil and while building a parasitic/LDE view, Virtuoso does not execute the CDF callback for each instance of a device. Instead, it executes the callback only once for a device and the result is applicable to all the instances. This helps in optimizing the build process.

To execute the callback for each cell instance separately, set this variable to t.

If your design has PODE devices, all devices must be instantiated one by one. For such cases, you must set this environment variable to t.

In .cdsenv:

msps.layout individualInstCdfCallbacks boolean nil

In .cdsinit or the CIW:

envSetVal("msps.layout" "individualInstCdfCallbacks" 'boolean nil)

Valid Values:

t

Executes the CDF callback for each instance of a device separately.

nil

Executes the CDF callback for a device only once.

Default Value:

nil

layoutEAD

auxSearchPaths

Specifies additional directories that are to be searched for EAD setup and process settings files.

Setups and process settings files must be stored under the standard .cadence directory structure in the specified directories. For example, if you set auxSearchPaths to "/home/login/my_ead", EAD looks for setup and process setting files in "/home/login/my_ead/.cadence/dfII/EAD/1".

In .cdsenv:

layoutEAD auxSearchPaths string "path"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "auxSearchPaths" 'string "path")

Valid Values:

string

Paths to search EAD setup and process settings files. Separate multiple paths using a colon.

Default Value:

(empty string)

GUI Equivalent:

None

checkEM

Disables EM checking and display for subsequent changes to the layout. EM checking and all EM-related options are disabled.

In .cdsenv:

layoutEAD checkEM boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "checkEM" 'boolean t)

Valid Values:

t

EM checking and options are enabled.

nil

EM checking and options are disabled.

Default Value:

t

GUI Equivalent:

Command: Run EM Check – Disable EM Checker (EAD Browser toolbar)

defaultJobPolicy

Specifies the default job policy to be used to run extraction.

In .cdsenv:

layoutEAD defaultJobPolicy string "localhost"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "defaultJobPolicy" 'string "localhost")

Valid Values:

localhost

Name of the default job policy

Default Value:

localhost

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: The Job Policy Name field in the EAD Job Policy Editor form

doAutoLayerMapping

Controls whether to automatically map a design layer to a layer in the EAD technology file if both the layers have the same name.

For example, if you set this environment variable to t, and both the design and EAD technology file have a layer named, 'Metal1', these layers will be automatically mapped without any explicit mapping defined in the EAD setup.

In .cdsenv:

layoutEAD doAutoLayerMapping boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "doAutoLayerMapping" 'boolean t)

Valid Values:

t

Layers having same name are automatically mapped.

nil

Layers are not automatically mapped. You need to manually specify the mapping by using either the EAD Process Settings form or the setup file (.ini).

Default Value:

t

GUI Equivalent:

None

excludedNets

Lists the nets that are to be excluded from parasitic extraction. Use this to specify any net (complete, incomplete, power, etc) that you do not want to extract.

In .cdsenv:

layoutEAD excludedNets string "string"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "excludedNets" 'string "string")

Valid Values:

string

String listing the nets that are to be excluded from extraction. Separate the names with a space or a comma. You can use a wildcard to specify net names.

Default Value:

Empty string.

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: Excluded Nets

excludedNetsExceptions

Lists the nets that are exceptions to the list of excluded nets specifed using excludedNets. Basically, the extraction setting is overriden for the nets given in this list and they are displayed or extracted.

In .cdsenv:

layoutEAD excludedNetsExceptions string "string"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "excludedNetsExceptions" 'string "string")

Valid Values:

string

String listing the nets that are exceptions to the list of excluded nets. Separate the names with a space or a comma. You can use a wildcard to specify net names.

Default Value:

Empty string.

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: Except Nets

extractConnectivity

Controls whether layout shapes that are not explicitly assigned to a net, but need to be extracted with a net for accurate extraction results, are assigned the same net as any shape they touch. This assignment is used for parasitic extraction purposes only.

When C extraction is done, any shape with no net is treated as connected to ground.

Important Points to Note

Also see: stampNullNetTiles

extractNetsWithConstraints

Controls extraction of nets displayed in the EAD Browser. If this environment variable is set to t, the EAD Browser shows only those nets that have an EAD constraint defined on them. If the EAD Browser is already open and an EAD constraint is added to or deleted from a net, the Summary Pane is dynamically updated to show or hide that net.

In .cdsenv:

layoutEAD extractNetsWithConstraints boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "extractNetsWithConstraints" 'boolean t)
Currently, if you set this environment variable after initializing the EAD session, the UI is not reloaded with the new setting. Therefore, it is recommended to apply the settings before opening Virtuoso Layout EAD.

Valid Values:

t

Displays only those nets in the EAD Browser that have EAD constraints applied on them.

nil

Displays the nets irrespective of any EAD constraints applied on them.

Default Value:

nil

GUI Equivalent:

None

flattenOtherInstances

Specifies whether the interconnect instances in the layout need to be flattened.

In .cdsenv:

layoutEAD flattenOtherInstances boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "flattenOtherInstances" 'boolean t)

Valid Values:

t

The interconnected shapes are flattened and not extracted as part of a source net.

nil

The interconnected shapes are not flattened. They are extracted as part of a source net.

Default Value:

nil

GUI Equivalent:

None

highlightNetShapes

Controls which types of net shapes (see hierarchyShapeType) are highlighted in the layout canvas when you click a net in the EAD Browser.

In .cdsenv:

layoutEAD highlightNetShapes string "rb"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "highlightNetShapes" 'string "rb")

Valid Values:

string

Any combination of the following letters:

r – regular net shapes

b – background net shapes

i – invisible net shapes

Default Value:

rb

Regular and background net shapes are selected in the canvas when you click a net in the EAD Browser

GUI Equivalent:

None

includeEmptyNets

Enables or disables display of empty nets, that is, the nets without any terminal, instance terminal, shape, or via on them, in the Summary pane of the EAD Browser.

In .cdsenv:

layoutEAD includeEmptyNets boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "includeEmptyNets" 'boolean t)

Valid Values:

t

Displays empty nets in the Summary pane of the EAD Browser.

nil

Does not display empty nets in the Summary pane of the EAD Browser.

Default Value:

t

GUI Equivalent:

None

loadSubconductorLayers

Controls whether to include the sub_conductor layers in the ICT file. When included, the sub_conductor layers are available to create the mapping from Virtuoso layers to ICT layers in the EAD Process Settings form. Any geometry mapped to a sub_conductor layer is extracted according to the corresponding parameters in the ICT file. When not included, only the parent conductor layer is available for mapping and extraction.

In .cdsenv:

layoutEAD loadSubconductorLayers boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "loadSubconductorLayers" 'boolean t)

Valid Values:

t

Includes the sub_conductor layers in the ICT file

nil

Does not include the sub_conductor layers in the ICT file

Default Value:

t

GUI Equivalent:

None

processSettings

Specifies the process settings file to be used in the current session.

In .cdsenv:

layoutEAD processSettings string "file_name"

In .cdsinit or the CIW:

envSetVal( "layoutEAD" "processSettings" 'string "file_name")

Valid Values:

string

Name of the process settings file to use.

Default Value:

Empty string

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: Process Settings

processStrappedMosfets

EAD splits the current across multiple fingers of a transistor except when the transistor Pcell source or drain terminals are strapped together inside the Pcell. In that case, there is only one terminal defined for source and drain, respectively. When transferring the currents for EM analysis, EAD assigns all the current to the device terminal, which may not be correct. Set this variable to t to force EAD to split the current evenly between the fingers.

In .cdsenv:

layoutEAD processStrappedMosfets boolean t

In .cdsinit or the CIW:

envSetVal( "layoutEAD" "processStrappedMosfets" 'boolean t)

Valid Values:

t

Current is divided evenly between the fingers of the device.

nil

Current is assigned to the device terminals.

Default Value:

nil

GUI Equivalent:

None

resistancePathLimit

Specifies the maximum number of resistance paths to evaluate and show in the EAD Browser.

In .cdsenv:

layoutEAD resistancePathLimit int 100

In .cdsinit or the CIW:

envSetVal( "layoutEAD" "resistancePathLimit" 'int 100)

Valid Values:

int

Positive integer value specifying the maximum number of resistance paths to evaluate.

Default Value:

100

GUI Equivalent:

None

stampNullNetTiles

Specifies whether shapes that are not assigned to a net in the layout will be extracted because they physically connect to some shape other that does have a net.

Setting this variable to t is particularly helpful on layouts that contain subcells with only routing shapes (no devices).

During C extraction, any shape with no net is treated as connected to ground.

In .cdsenv:

layoutEAD stampNullNetTiles boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "stampNullNetTiles" 'boolean t)

Valid Values:

t

The unassigned shapes are extracted as part of a source net

nil

The unassigned shapes are not extracted as part of a source net

Default Value:

t

GUI Equivalent:

None

Also see: extractConnectivity

updateMode

Specifies whether the extraction and EM checking results displayed in the EAD Browser are updated automatically as the layout is altered, or manually by clicking the Update Parasitics & EM button in the EAD Browser toolbar.

In .cdsenv:

layoutEAD updateMode cyclic "manual"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "updateMode" 'cyclic "manual")

Valid Values:

manual

Extraction and EM checking are run manually

auto

Extraction and EM checking are run automatically

Default Value:

manual

GUI Equivalent:

Update Parasitics & EMManual Update Mode and Automatic Update Mode (EAD Browser toolbar)

updateStyle

Specifies whether parasitic extraction is performed continuously, in discrete steps, or only after the current action completes.

In .cdsenv:

layoutEAD updateStyle cyclic "discrete"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "updateStyle" 'cyclic "discrete")

Valid Values:

discrete

Extraction is performed in discrete steps.

continuous

Extraction is performed continuously.

actionComplete

Extraction is performed when the current action completes.

Default Value:

discrete

GUI Equivalent:

None

useCorner

Specifies the extraction corner which is mapped to an ICT file or eadTechFile to be used for extraction and the source of the EM models to be used for EM Checking. This variable is used to initialize EAD in non-GUI flows, such as the pre-EM flow.

In .cdsenv:

layoutEAD useCorner string "C0"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "useCorner" 'string "C0")

Valid Values:

string

Corner name

Default Value:

""

GUI Equivalent:

The Extraction Corner field in the Pre-EM Setup form.

useSetup

Specifies the name of the file containing the setup options.

In .cdsenv:

layoutEAD useSetup string "path"

In .cdsinit or the CIW:

envSetVal("layoutEAD" "useSetup" 'string "path")

Valid Values:

string

Path to the setup file to be used when EAD is invoked; for example:

"./cadence/dfII/EAD/1/setup/gpdk45.ini"

Default Value:

""

GUI Equivalent:

The Extraction Setup field in the Pre-EM Setup form.

xlNetsOnly

Specifies that EAD examines only those nets that are part of an OpenAccess design.

In .cdsenv:

layoutEAD xlNetsOnly boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD" "xlNetsOnly" 'boolean t)

Valid Values:

t

EAD examines only nets that are part of an OpenAccess design.

nil

EAD examines all nets.

Default Value:

t

GUI Equivalent:

None

layoutEAD.calc

showEstimatedResistance

showEstimatedResistance

layoutEAD.calc showEstimatedResistance boolean {t | nil}

Description

Specifies whether to display the Est. Resistance column in the results table of the EM Calculator.

The default value is nil, which indicates that the Est. Resistance column is hidden.

The Est. Resistance column displays the estimated resistance of the layer.

Resistance of a metal layer depends on the Length, Width, and EM Temperature fields, whereas resistance of a via layer depends on the Via Type, Cuts, and EM Temperature fields.

If the Length field is specified as a condition, for example:

GUI Equivalent

The Est. Resistance column in the results table of EM Calculator.

Examples

envGetVal("layoutEAD.calc" "showEstimatedResistance")
envSetVal("layoutEAD.calc" "showEstimatedResistance" 'boolean t)

Related Topics

Results Table

layoutEAD.em

autoDatasetCustomProc

layoutEAD.em autoDatasetCustomProc string nameOfTheUserDefinedFunction

Description

Specifies the name of the user-defined function to be called for custom current distribution strategy.

Consider that you have defined a custom procedure named, autoDatasetUserFunc as follows:

(define (autoDatasetUserFunc t_dataSetName d_masterCellViewId d_instId t_deviceTermName t_termName)   aspectRatio = userFuncToComputeAspectRatio( d_InstId)   aspectRatio ; returnValue)

This user-defined function is run for each device terminal connected to the net and returns a floating-point value. The current among the device terminals is distributed in the proportion of the values returned by the user-defined function.

Consider that there are three device terminals, M0:D, M1:D, M2:S, connected to a net N0. Now, if the function returns 1, 2, 3 values for these device terminals respectively, then current is distributed in the proportion of 1/6, 2/6, 3/6, respectively, as described in the following table.

Total current

100mA

Device terminals

M0:D

M1:D

M2:S

Return values for each terminal

1.0

2.0

3.0

Ratio of current distribution

1/6

2/6 = 1/3

3/6 = 1/2

Current distribution

16.66mA

33.33mA

50mA

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "autoDatasetCustomProc")
envSetVal( "layoutEAD.em" "autoDatasetCustomProc" 'string "autoDatasetUserFunc")

Related Topics

Generating EAD Dataset

autoDatasetDeviceLengthPropList

autoDatasetMacroProp

autoDatasetDeviceWidthPropList

autoDatasetDeviceLengthPropList

layoutEAD.em autoDatasetDeviceLengthPropList string "listOfLengthProperties"

Description

Specifies a list of length properties for a device. These properties are used to find out the device length, which is then used to calculate the aspect ratio (width/length) for the device. The aspect ratio can be used as a current distribution strategy in case of automatic dataset creation.

The default value is "l L", which indicates property l is searched first to find the device length. If the property l is not found, then property L is used.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "autoDatasetDeviceLengthPropList")
envSetVal( "layoutEAD.em" "autoDatasetDeviceLengthPropList" 'string "length Length")

Related Topics

Generating EAD Dataset

autoDatasetCustomProc

autoDatasetMacroProp

autoDatasetDeviceWidthPropList

autoDatasetMacroProp

layoutEAD.em autoDatasetMacroProp string "listOfLengthProperties"

Description

Specifies the property name that is read on a macro Pcell to find out aspect ratio of devices inside the Pcell.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "autoDatasetMacroProp")
envSetVal("layoutEAD.em" "autoDatasetMacroProp" 'string "macroCellProp")

Related Topics

Generating EAD Dataset

autoDatasetCustomProc

autoDatasetDeviceLengthPropList

autoDatasetDeviceWidthPropList

autoDatasetDeviceWidthPropList

layoutEAD.em autoDatasetDeviceWidthPropList string "listOfWidthProperties"

Description

Specifies a list of width properties for a device. These properties are used to find out the device width, which is then used to calculate the aspect ratio (width/length) for the device. The aspect ratio can be used as a current distribution strategy in case of automatic dataset creation.

The default value is "w W", which indicates property w is searched first to find the device width. If the property w is not found, then property W is used.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "autoDatasetDeviceWidthPropList")
envSetVal( "layoutEAD.em" "autoDatasetDeviceWidthPropList" 'string "width Width")

Related Topics

Generating EAD Dataset

autoDatasetCustomProc

autoDatasetDeviceLengthPropList

autoDatasetMacroProp

autoDatasetDistributionMethod

layoutEAD.em autoDatasetDistributionMethod cyclic {Aspect ratio| Equal | Custom}

Description

Specifies the current distribution method to use when generating EAD datasets.

Valid values are:

The default value is Aspect ratio.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "autoDatasetDistributionMethod")
envSetVal("layoutEAD.em" "autoDatasetDistributionMethod" 'cyclic "Equal")
envSetVal("layoutEAD.em" "autoDatasetDistributionMethod" 'cyclic "Custom")

Related Topics

Generating EAD Dataset

autoDatasetDeviceLengthPropList

autoDatasetMacroProp

autoDatasetDeviceWidthPropList

adjustedCurrentMsgRelTol

Specifies the relative tolerance limit to determine whether to print the adjusted current message if adjustment is not within the specified relative tolerance.

In .cdsenv:

layoutEAD.em adjustedCurrentMsgRelTol float 0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "adjustedCurrentMsgRelTol" 'float 0)

Valid Values:

float

Floating point value specifying the relative tolerance limit to be applied to filter the terminals.

Default Value:

0

GUI Equivalent:

None

When source and sink currents for a net do not sum up to zero, EAD adjusts these current values to make them KCL compliant and displays a warning message in CIW. The warning message also prints the original and adjusted values for each terminal, if the printAdjustedCurrents environment variable is set to t.

When the number of terminals printed in the message are too high, you may want to selectively view only those terminals for which the difference between the original and adjusted currents is significantly high. Such terminals can be filtered based on a user-specified relative tolerance value.

Consider the following example, where a non-KCL compliant terminal, Ibias, is printed in the warning message:

Adjusted currents for 'Iavg (AVG)' are as follows:
Term Name        Specified Value    Adjusted Value
Ibias                         1A             0.9A

Here, the difference between the specified and adjusted current values is 0.1A (=1A-0.9A), which is 10% of the specified value 1A. If you do not want to print such terminals for which the difference between the specified and adjusted value is within 10% of the specified value, set the relative tolerance value to 0.1, as follows:

envSetVal("layoutEAD.em" "adjustedCurrentMsgRelTol" 'float 0.1)

customSHESetupFile

layoutEAD.em customSHESetupFile string "pathToCustomSHESetupFile"

Description

Specifies the path to the custom setup file that contains constant values and custom equations to be used while calculating delta-T in the custom self-heating effects (SHE) flow.

The default value is an empty string.

When using the custom SHE flow, custom equations are applied on the simDeltaT temperature that is obtained from the simulator.

To use the custom SHE flow, ensure that both the environment variables, sheSetupFile and customSheSetupFile, are defined.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "customSHESetupFile")
envSetVal("layoutEAD.em" "customSHESetupFile" 'string "/servers/user/SHE/custom.sh")

Related Topics

Viewing Delta T Information

sheSetupFile

currentDensityMPVDefault

By default, the unit for current density limit for via layers depends on the value of currentDensityMPV in the EM rules. If the EM rules contain currentDensityMPV=true, the current density unit is mA/via. If the EM rules contain currentDensityMPV=false, the current density unit is mA/um.

If currentDensityMPV is not set in the EM rules, unit to be used for current density limit depends on the value of this environment variable.

This variable is considered only when the EM rules are read from an emDataFile. It does not apply to EM rules read from ICT or ICT-EM files.

In .cdsenv:

layoutEAD.em currentDensityMPVDefault boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "currentDensityMPVDefault" 'boolean t)

Valid Values:

t

If currentDensityMPV is not set in currentDensityMPVDefault EM rules, the current density unit is taken as mA/um.

nil

If currentDensityMPV is not set in the EM rules, the current density unit is taken as mA/via.

Default Value:

nil

GUI Equivalent:

None

cdfPercentage

Defines the value to be used by the cdf_percentage variable for the calculation of CDF (Cumulative Distribution Factor) required for determining the maximum current limit.

If EM rules for a process node depend on the cdf_percentage variable, ensure that the value of the environment variable, cdfPercentage, is set to a value greater than zero.

For more details, refer to Rules for Defining EM Parameters in the Voltus-Fi Custom Power Integrity Solution XL User Guide.

In .cdsenv:

layoutEAD.em cdfPercentage float 0.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "cdfPercentage" 'float 0.0)

Valid Values:

A numerical value between 0.0 and 100.0

Default Value:

0.0

GUI Equivalent:

None

computeIRDropWhenLoadingSetup

When the environment variable writeEMResultsToOA is set to t, electromigration results are saved to the OA database while saving the layout view. When you reopen the design in Virtuoso Layout EAD, the saved results are loaded and IR drop is also calculated for all resistance paths.

For designs that have nets with large number of resistors, this calculation may take time. The environment variable computeIRDropWhenLoadingSetup enables you to choose whether to calculate IR drop along resistance paths in the layout when the EAD Browser is initialized.

In .cdsenv:

layoutEAD.em computeIRDropWhenLoadingSetup boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "computeIRDropWhenLoadingSetup" 'boolean t)

Valid Values:

t

IR drop is calculated when a design is reopened and the EAD browser is initialized.

nil

IR drop is not calculated when a design is reopened and the EAD browser is initialized.

Default Value:

t

GUI Equivalent:

None

checkResWidthAndEMLength

layoutEAD.em checkResWidthAndEMLength boolean {t | nil}

Description

Specifies whether to compute the width for a single-tile resistor in the orthogonal direction of the EM length or in the same direction of the EM length.

The default value is nil, which indicates that width of a single-tile resistor is computed in the orthogonal direction of the EM length.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "checkResWidthAndEMLength")
envSetVal("layoutEAD.em" "checkResWidthAndEMLength" 'boolean t)

defaultCurrent

Specifies the default terminal current to use when computing EM effects.

If you specify 1mA as the default current value, all the terminals will become non-KCL compliant and the currents will be adjusted to value 0. In this case, EM checks will not be run.

In .cdsenv:

layoutEAD.em defaultCurrent float 0.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "defaultCurrent" 'float 0.0)

Valid Values:

float

Floating point value specifying the default current.

Default Value:

0.0

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Default

deltaT

Specifies in degrees Celsius the increase in junction temperature due to joule heating.

In .cdsenv:

layoutEAD.em deltaT float 5

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "deltaT" 'float 5)

Valid Values:

float

Floating point value specifying the increase in junction temperature due to joule heating.

Default Value:

5

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Delta T

distributeTermCurrent

Produces a more accurate modeling of the terminal region, especially with wide source/drain terminals that are strapped by a row of vias. Set this variable to t if there is a suspected false EM violation in or near a terminal geometry.

In .cdsenv:

layoutEAD.em distributeTermCurrent boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "distributeTermCurrent" 'boolean t)

Valid Values:

t

The terminal current is distributed equally among the nodes within a terminal.

nil

The terminal current is assigned to a single node within the terminal geometry.  This node is usually located in the center of the terminal shape and on the lower layer, if there are multiple layers in the terminal geometry.

Default Value:

nil

GUI Equivalent:

None

dynamicAnalysis

Enables dynamic EM analysis.

In .cdsenv:

layoutEAD.em dynamicAnalysis boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "dynamicAnalysis" 'boolean nil)

Valid Values:

t

Dynamic EM analysis is enabled.

nil

Dynamic EM analysis is disabled.

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Dynamic Analysis

eadVerbosityLevel

layoutEAD.em eadVerbosityLevel cyclic {low | high}

Description

Specifies whether to display multiple warning messages for each layer or a single warning message per unsupported rule for all layers.

The default value is low, which indicates that only a single warning message per unsupported layer is displayed for all the layers.

This environment variable works only if the warnOnEmLimit is set to t.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "eadVerbosityLevel")
envSetVal("layoutEAD.em" "eadVerbosityLevel" 'cyclic "high")

Related Topic

warnOnEmLimit

emViolThresholdPercent

Specifies the threshold value of J/Jmax ratio in percentage beyond which the EM analysis reports them as EM violations.

In .cdsenv:

layoutEAD.em emViolThresholdPercent float 100.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "emViolThresholdPercent" 'float 100.0)

Valid Values:

float

Any floating point value.

Default Value:

100.0

GUI Equivalent:

None

enableDynamicRead

Specifies that currents for terminals that do not have datasets are dynamically read and transferred from the schematic source before an EM check is run.

Switch on this option when working with partial layouts that have incomplete nets to ensure that currents are loaded for any new terminals added to the resistor network since the last EM check.

In .cdsenv:

layoutEAD.em enableDynamicRead boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "enableDynamicRead" 'boolean nil)

Valid Values:

t

Dynamic read and transfer are enabled.

nil

Dynamic read and transfer are disabled.

Default Value:

nil

GUI Equivalent:

None

enableSelfHeatingEffects

Enables the self-heating flow in EAD.

In .cdsenv:

layoutEAD.em enableSelfHeatingEffects boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "enableSelfHeatingEffects" 'boolean nil)

Valid Values:

t

Considers self-heating effects.

nil

Does not consider self-heating effects.

Default Value:

nil

GUI Equivalent:

Enable Self Heating Effects check box on the EM tab of the Layout EAD Options form

enableViaElseRule

Controls how EM limits are calculated when applying a PWL-based rule if no exact match of via area is found in the EM rule file.

In .cdsenv:

layoutEAD.em enableViaElseRule boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "enableViaElseRule" 'boolean nil)

Valid Values:

t
  • If an exact match of the via area is not found, the default rule is applied.
  • If there is no default rule, interpolation is carried out to calculate the EM limit.

nil

If an exact match of the via area is not found, interpolation is carried out to calculate the EM limit.

Default Value:

nil

GUI Equivalent:

None

forceSegmentTotal

Overrides the blech length calculation methods defined in the ICT file or specified by the segmentLength variable and sets the calculation method to total. In this method, the blech length is calculated as the accumulated length of all the resistors associated with a contiguous metal geometry.

In .cdsenv:

layoutEAD.em forceSegmentTotal boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "forceSegmentTotal" 'boolean t)

Valid Values:

t

Sets the blech length calculation method to total. In this method, the blech length is calculated as the accumulated length of all the resistors associated with a contiguous metal geometry.

nil

Uses the blech length calculation method as defined in the ICT file or as specified by the segmentLength variable.

Default Value:

nil

GUI Equivalent:

None

ictemLayerMapFile

Specifies the path to EM Layer Map file that contains the layer mapping information.

In .cdsenv:

layoutEAD.em ictemLayerMapFile string "<path_to_the_EM_Layer_Map_file>"

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "ictemLayerMapFile" 'string "<path_to_the_EM_Layer_Map_file>")

Valid Values:

string

Path to the EM Layer Map file.

Default Value:

""

An empty string.

GUI Equivalent:

EM Layer Map File field on the Corners tab of the EAD Process Settings form.

This field is available only when the EM Data Source is set to ICT-EM.

includeDeltaT_Margin

Enables or disables addition of the delta-T value specified on the EAD Options form to the EM temperature while finding the temperature derating factor.

In .cdsenv:

layoutEAD.em includeDeltaT_Margin boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "includeDeltaT_Margin" 'boolean t)

Valid Values:

t

Delta-T value is added to the EM temperature to calculate the temperature derating factor

nil

The temperature derating factor is equal to the EM temperature

Default Value:

nil

GUI Equivalent:

None

lifetime

The lifetime to be used for risk-based EM analysis. In risk-based EM analysis, MTTF (Mean Time To Failure) is first calculated using Black's equation. The calculated value is then used together with the specified lifetime to determine the probability of EM failure. Specify the units using the lifetimeUnits environment variable.

In .cdsenv:

layoutEAD.em lifetime float 10

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "lifetime" 'float 10)

Valid Values:

float

Floating point value specifying the number of lifetimeUnits.

Default Value:

10

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Lifetime

ignoreResistorLimit

Controls the comparison of the resistor count against the specified resistor limit while running EM checks.

In .cdsenv:

layoutEAD.em ignoreResistorLimit boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "ignoreResistorLimit" 'boolean t)

Valid Values:

t

The resistor count is not compared with the resistor limit specified in the Resistor Limit field on the EM tab of the Layout EAD Options form.

nil

The resistor count is compared with the resistor limit specified in the Resistor Limit field on the EM tab of the Layout EAD Options form.

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Ignore Resistor Limit

lifetimeUnits

The units for the lifetime value for EM analysis.

In .cdsenv:

layoutEAD.em lifetimeUnits cyclic "years"

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "lifetimeUnits" 'cyclic "years")

Valid Values:

years

The lifetime value is measured in years.

hours

The lifetime value is measured in hours.

Default Value:

years

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Lifetime units pull-down

metalRegionSearchExtent

Used to identify the extent of the search region around a resistor to find any other resistor that reports the maximum change in temperature (delta T) due to RMS current. To get the dimensions of the search region, EAD multiplies the value specified for this variable with the minimum pitch (minimum width + minimum spacing) for the conductor layer on which the resistor is extracted. If EAD finds any other resistor with a higher delta T value, that value is used in the computation of the final delta T for the conductor.

This variable is used when the Enable Self Heating Effects check box on the EM tab of the EAD Options form is selected. For more details, refer to Viewing Delta T Information.

In .cdsenv:

layoutEAD.em metalRegionSearchExtent float 15

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "metalRegionSearchExtent" 'float 15)

Valid Values:

float

Floating point value specifying the search extent for the metal region.

Default Value:

15

GUI Equivalent:

None

minCurrent

The minimum threshold limit for Idc and Iavg currents of the terminals and instance terminals of a net for using the net in EM calculation. If the current of all terminals and instance terminals of a net is below the threshold, then EM calculation is skipped for that net.

In .cdsenv:

layoutEAD.em minCurrent float 0.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "minCurrent" 'float 0.0)

Valid Values:

float

Floating point value specifying the minimum terminal current for computing EM effects.

Default Value:

0

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Minimum

odRegionSearchExtent

Specifies the dimensions (in microns) by which the bounds of a diffusion shape needs to extended to check the overlap with the metal layer on which resistor is extracted. This variable is considered while calculating the delta T values for the conductor.

This variable is used when the Enable Self Heating Effects check box on the EM tab of the EAD Options form is selected. For more details, refer to Viewing Delta T Information.

In .cdsenv:

layoutEAD.em odRegionSearchExtent float 1.8

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "odRegionSearchExtent" 'float 1.8)

Valid Values:

float

Floating point value specifying the search extent to check for overlap of a diffusion shape with the metal layer.

Default Value:

1.8

GUI Equivalent:

None

preloadWaveforms

Specifies whether all waveforms for dynamic EM analysis are loaded at the start, or are loaded only during the EM analysis and then unloaded again afterwards.

In .cdsenv:

layoutEAD.em preloadWaveforms boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preloadWaveforms" 'boolean t)

Valid Values:

t

All waveforms for dynamic EM analysis are loaded at the start.

nil

Waveforms for dynamic EM analysis are loaded only during the dynamic EM analysis and are unloaded again when the analysis is complete.

Default Value:

nil

GUI Equivalent:

None

preserveResistorCurrents

Preserves intermediate currents for resistors during dynamic EM analysis so that you can plot these in a Virtuoso Visualization and Analysis XL window. The default is nil, which means that currents are not preserved. When set to t, you can view the currents through any resistor in the parasitic network by clicking the right mouse button on one of the values in either the Dynamic-Rms or Dynamic-Peak column and selecting Plot Resistor Currents. For example, you might first run an EM check without preserving currents (the default setting) and then enable this option to rerun the check on selected nets of interest.

In .cdsenv:

layoutEAD.em preserveResistorCurrents boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preserveResistorCurrents" 'boolean t)

Valid Values:

t

Preserves intermediate resistor currents during dynamic EM analysis.

nil

Intermediate resistor currents are not preserved during dynamic EM analysis.

Default Value:

nil

GUI Equivalent:

None

printAdjustedCurrents

Enables printing of messages in CIW that inform about the current adjustments done by the solver to correct KCL non-compliance during EM checking. In case of incomplete routing, or when EM currents are entered manually, EAD adjusts the current values to make them KCL compliant and displays a warning message in the CIW, as shown below:

*WARNING* Current sources or sinks for net outp do not sum to zero (possibly due to incomplete routing). Some currents have been adjusted to present the most accurate information possible for dataset dataset_0.

In addition to this message, the original and adjusted value for each terminal are also displayed when this environment variable is set to t.

Adjusted currents for 'Iavg (AVG)' are as follows:
Term Name Specified Value Adjusted Value
outp -3.24805e-11A 0A
|M18.7:G -3.24805e-11A 0A
|M18.6:G -3.24805e-11A 0A
|M18.5:G -3.24805e-11A 0A
|M12.6:G   8.87067e-10A 0A

In .cdsenv:

layoutEAD.em printAdjustedCurrents boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "printAdjustedCurrents" 'boolean t)

Valid Values:

t

Prints the messages for current adjustments done during EM checking in CIW.

nil

Does not print the messages for current adjustments done during EM checking in CIW.

Default Value:

t

GUI Equivalent:

None

resistorLimit

Specifies the maximum number of resistors that EM checking can handle on a particular net. If the number of resistors exceeds this value, EM checking is not run for the net.

In .cdsenv:

layoutEAD.em resistorLimit int 50000

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "resistorLimit" 'int 50000)

Valid Values:

int

Positive integer value specifying the number of resistors.

Default Value:

50000

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Resistor Limit

Related environment variable: ignoreResistorLimit

resPathsResistorLimit

Specifies the resistor limit up to which the resistance paths are resolved for a net while populating details in the Resistance Paths table on the R tab in EAD Browser For more details, refer to R tab.

In .cdsenv:

layoutEAD.em resPathsResistorLimit int 50000

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "resPathsResistorLimit" 'int 50000)

Valid Values:

int

Positive integer value specifying the maximum resistor limit.

Default Value:

50000

GUI Equivalent:

None

rmsMetalLineNumAC

Specifies the RMS metal line number for signal nets. You can set this value to override the default value of the metal line number taken from the header section of an ICT file.

This number is used to look up the metal line rating tables in the EM models.

In .cdsenv:

layoutEAD.em rmsMetalLineNumAC int 2

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "rmsMetalLineNumAC" 'int 2)

Valid Values:

int

Zero or a positive integer value

Default Value:

0

GUI Equivalent:

None

rmsMetalLineNumDC

Specifies the RMS metal line number for the power or ground nets. You can set this value to override the default value of the metal line number taken from the header section of an ICT file.

This number is used to look up the metal line rating tables in the EM models.

In .cdsenv:

layoutEAD.em rmsMetalLineNumDC int 2

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "rmsMetalLineNumDC" 'int 2)

Valid Values:

int

Zero or a positive integer value

Default Value:

0

GUI Equivalent:

None

scale

Specifies that terminal currents are to be scaled when computing EM effects. You specify the factor using the scalingFactor environment variable.

In .cdsenv:

layoutEAD.em scale boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "scale" 'boolean t)

Valid Values:

t

Terminal currents are to be scaled using the scalingFactor.

nil

Terminal currents are not to be scaled.

Default Value:

t

GUI Equivalent:

None

scalingFactor

Specifies the scaling factor to be used when computing EM effects. All terminal currents are scaled by this value. This factor is considered only when the scale environment variable is set to t.

In .cdsenv:

layoutEAD.em scalingFactor float 1

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "scalingFactor" 'float 1)

Valid Values:

float

Floating point value specifying the scaling factor to be used.

Default Value:

1

GUI Equivalent:

Command: Layout EAD Options – EM tab

Field: Scaling Factor

scratchLib

Specifies the library in which the scratch layout is created when performing EM analysis on power grids. See the Running EM Analysis on Power Grids section for more information.

In .cdsenv:

layoutEAD.em scratchLib string "<name_of_the_scratch_library>"

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "scratchLib" 'string "<name_of_the_scratch_library>")

Valid Values:

string

Name of the library where the scratch layout is created.

Default Value:

""

An empty string.

By default, the scratch layout is created in same library that contains the original layout.

GUI Equivalent:

No

segmentLength

Specifies the default method for EM length calculation to be used when no method is specified in the ICT file. If a method is specified in the ICT file, that is used instead of the default method.

If an EM length calculation method is given in the ICT file, you can override that to use total by setting the forceSegmentTotal variable to t.

In .cdsenv:

layoutEAD.em segmentLength cyclic "centerline"

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "segmentLength" 'cyclic "centerline")

Valid Values:

total

EM length is calculated as the accumulated length of all the resistors associated with a contiguous metal geometry.

centerline

EM length is calculated as the longest path measured across a contiguous geometry from end-to-end along the centerline of the path.

perimeter

EM length is calculated as the longest path measured across a contiguous geometry from end-to-end along the outside edges of the path.

Default Value:

centerline

GUI Equivalent:

None

sheSetupFile

layoutEAD.em sheSetupFile string "pathToSHESetupFile"

Specifies the path to the setup file that contains the constant values to be used wihle calculating delta-T in the self-heating effects flow.

Description

Specifies the path to the setup file that contains constant values to be used while calculating delta-T in the self-heating effects flow.

The default value is an empty string.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.em" "sheSetupFile")
envSetVal("layoutEAD.em" "sheSetupFile" 'string "/servers/user/SHE/sheSetup.sh")

Related Topics

Viewing Delta T Information

customSHESetupFile

setTermNodeAsReference

Specifies whether to set the top-level term as the voltage reference node when running EM analysis.

In .cdsenv:

layoutEAD.em setTermNodeAsReference boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "setTermNodeAsReference" 'boolean nil)

Valid Values:

t

Top-level terms are used as voltage reference nodes.

nil

The default behavior of selecting voltage reference node will continue.

Default Value:

nil

GUI Equivalent:

None

skipViaStackMetalResistor

Specifies whether to skip the minor metal resistor part introduced between the two vias of a stacked via for EM analysis.

In .cdsenv:

layoutEAD.em skipViaStackMetalResistor boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "skipViaStackMetalResistor" 'boolean t)

Valid Values:

t

The metal resistor part between the vias of a stacked via is skipped for EM analysis.

nil

The metal resistor part between the vias of a stacked via is considered for EM analysis.

Default Value:

t

GUI Equivalent:

None

sumThreshold

Specifies the tolerance for the Kirchoff’s Current Law (KCL) compliance check.

This environment variable is used only when there is no voltage source defined in the input electrical dataset, in which case, if the network is either incomplete or not KCL-compliant, the EM checker chooses the best voltage source to use for EM analysis.

In .cdsenv:

layoutEAD.em sumThreshold float 1e-8

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "sumThreshold" 'float 1e-8)

Valid Values:

float

Floating point value specifying the tolerance to be applied when checking KCL compliance.

Default Value:

1e-8

GUI Equivalent:

None

termPinLayersForEMCheck

layoutEAD.em termPinLayersForEMCheck boolean {t | nil}

Description

Specifies whether to enable mapping between nets and pin layers for EM check. The nets or terminals serve as the voltage source only for the pin layers defined in the mapping.

The default value is nil, which indicates that you cannot specify mapping between nets and pin layer for EM check.

If you set this environment variable to t, the PinLayer column is displayed in the EM tab of the EAD Browser where you can specify the name of the metal layer against a net.

GUI Equivalent

The PinLayer column in the EM tab.

Examples

envGetVal("layoutEAD.em" "termPinLayersForEMCheck")
envSetVal("layoutEAD.em" "termPinLayersForEMCheck" 'boolean t)

Related Topics

Specifying Mapping between Nets and Pin Layers for EM Check

useDatasetClipInfo

Specifies if the information about the time interval for which the clipped waveform is to be used for EM analysis is to be taken from the dataset.

In .cdsenv:

layoutEAD.em useDatasetClipInfo boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "useDatasetClipInfo" 'boolean nil)

Valid Values:

t

The information about the time interval for waveform clipping is used from the dataset.

nil

The information about the time interval for waveform clipping is not used from the dataset. Instead, the values specified in the From and To fields in the Dynamic Analysis section of the Layout EAD Options form are used.

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – EM tab – Dynamic Analysis

Field: Use Dataset Value

useDatasetTemperature

Specifies that the temperature specified in the simulation dataset is to be used when computing EM effects.

In .cdsenv:

layoutEAD.em useDatasetTemperature boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "useDatasetTemperature" 'boolean nil)

Valid Values:

t

The simulation dataset temperature is used.

nil

The simulation dataset temperature is not used.

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – EM tab – Temperature

Field: Use Dataset Value

useMaxRule

Specifies whether the rule for which the Jmax value is maximum is used to calculate EM limits, if more than one EM rules are satisfied for that resistor.

In .cdsenv:

layoutEAD.em useMaxRule boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "useMaxRule" 'boolean nil)

Valid Values:

t

The rule for which the Jmax value is maximum is used to calculate EM limits.

nil

The rule for which the Jmax value is minimum is used to calculate EM limits

Default Value:

nil

GUI Equivalent:

None

viaOverlapPercentage

Specifies the threshold value of overlapping area (in percentage) between vias based on which it is decided whether to consider them as stacked vias. If this environment variable is specified, stack_up_via and stack_down_via rules will be applied only to such vias.

For example, if the value of viaOverlapPercentage is set to 30.0, only those vias which have at least 30% of overlapping areas are considered as stacked vias.

In .cdsenv:

layoutEAD.em viaOverlapPercentage float 20.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "viaOverlapPercentage" 'float 20.0)

Valid Values:

float

Floating point value specifying the threshold value of overlapping area (in percentage) between the vias.

Default Value:

20.0

GUI Equivalent:

None

warnOnEmLayer

Displays a warning message when Layout EAD encounters EM rules that are defined on a layer for which there is no matching layer in the ICT-EM file. Messages are displayed by default; set the environment variable to nil to suppress them.

You must set this environment variable before starting EAD.

In .cdsenv:

layoutEAD.em warnOnEmLayer boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "warnOnEmLayer" 'boolean t)

Valid Values:

t

The messages are displayed.

nil

The messages are not displayed.

Default Value:

t

GUI Equivalent:

None

warnOnEmLimit

Displays a warning message when Layout EAD encounters EM limits that are not supported. You can also use this environment variable to control whether to display warning messages related to unsupported power rules in the ICT-EM file. Messages are displayed by default; set the environment variable to nil to suppress them.

You must set this environment variable before starting EAD.

In .cdsenv:

layoutEAD.em warnOnEmLimit boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "warnOnEmLimit" 'boolean t)

Valid Values:

t

The warning messages are displayed.

nil

The warning messages are not displayed.

Default Value:

t

GUI Equivalent:

None

writeEMResultsToOA

Enables writing of the electromigration results to the OA database while saving the layout view. When you reopen the design in Virtuoso Layout EAD, the saved results are also loaded and displayed in the Summary pane of the EAD Browser.

Set this variable before running EM checks.

In .cdsenv:

layoutEAD.em writeEMResultsToOA boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "writeEMResultsToOA" 'boolean t)

Valid Values:

t

Enables writing of the electromigration results to the OA database.

nil

Disables writing of the electromigration results to the OA database.

Default Value:

nil

GUI Equivalent:

None

preEMCheckLayers

Specifies the layer on which pre-EM check is performed.

In .cdsenv:

layoutEAD.em preEMCheckLayers string <name-of-the-layer>

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preEMCheckLayers" 'string "<name-of-the-layer")

Valid Values:

string

Name of the layer. For example:

"Metal1"

Default Value:

""

GUI Equivalent:

The Pre-EM Check Layers field in the Pre-EM Setup form.

preEMDescendIntoPCell

Specifies whether to descend into a Pcell during the pre-EM check.

In .cdsenv:

layoutEAD.em preEMDescendIntoPCell boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preEMDescendIntoPCell" 'boolean nil)

Valid Values:

t

Pcell instances are further descended during the pre-EM checks.

nil

Pcell instances are not descended during the pre-EM checks.

Default Value:

nil

GUI Equivalent:

None

preEMDetailReport

Specifies whether to generate the detailed report of pre-EM analysis.

In .cdsenv:

layoutEAD.em preEMDetailReport boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preEMDetailReport" 'boolean t)

Valid Values:

t

Detailed report is generated.

nil

Detailed report is not generated.

Default Value:

t

GUI Equivalent:

None

preEMLogFile

Name of the log file containing the report of pre-EM analysis.

This file is saved in the simulation results directory path. For example, if you used the maestro view, the log file will be saved in the following location:
/simulation/<LibraryName>/<CellName>/<ViewName>/results/maestro/<SimulationHistoryName>/<PreEMLogFileName>

In .cdsenv:

layoutEAD.em preEMLogFile string preEmCheck.log

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preEMLogFile" 'string "preEmCheck.log")

Valid Values:

string

Name of the log file containing the report of pre-EM analysis. For example:

"preEmCheck.log"

Default Value:

preEmCheck.log

GUI Equivalent:

None

preEMViolThresholdPercent

Specifies the threshold value of J/Jmax ratio in percentage reaching which the pre-EM check starts reporting EM violations.

In .cdsenv:

layoutEAD.em preEMViolThresholdPercent float 100.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "preEMViolThresholdPercent" 'float 100.0)

Valid Values:

float

Any floating point value.

Default Value:

100.0

GUI Equivalent:

None

minResistorCurrent

Specifies the threshold value for the minimum resistor current. If the actual resistor current is less than the specified threshold value, it is considered as ‘zero’ during EM analysis.

In .cdsenv:

layoutEAD.em minResistorCurrent float 1.0e-9

In .cdsinit or the CIW:

envSetVal("layoutEAD.em" "minResistorCurrent" 'float 1.0e-9)

Valid Values:

float

Floating point value specifying the threshold value for the minimum resistor current.

Default Value:

1.0e-9

GUI Equivalent:

None

layoutEAD.pex

autoInjectionPointFile

layoutEAD.pex autoInjectionPointFile string fileName

Description

Specifies the name of the text file that contains the details of the nodes to be inserted with respect to the defined pitch and offset on net shapes for calculation of current. The file is used when extraction is run on nets.

The default value is "" (an empty string).

GUI Equivalent

None

Examples

envGetVal("layoutEAD.pex" "autoInjectionPointFile")
envSetVal("layoutEAD.pex" "autoInjectionPointFile" 'string ./injectionPointFile)

Related Topics

autoInjectionPointDebug

insertResNodes

Modifying EM Analysis for Wide Pins

autoInjectionPointDebug

layoutEAD.pex autoInjectionPointDebug boolean { t | nil }

Description

Specifies whether to enable debugging for the auto-injection points.

The default value is nil, which indicates that debugging is not performed.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.pex" "autoInjectionPointDebug")
envSetVal("layoutEAD.pex" "autoInjectionPointDebug" 'boolean t)

Related Topics

autoInjectionPointFile

insertResNodes

Modifying EM Analysis for Wide Pins

capacitanceMethod

Specifies whether to use the built-in capacitance models (profile) or external tile-based parasitic extraction (tile) when performing capacitance extraction.

To use the high-precision solver to extract capacitance for all nets, set this environment variable to "tile" and the tileExtractor environment variable to "sparce".

In .cdsenv:

layoutEAD.pex capacitanceMethod cyclic "profile"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "capacitanceMethod" 'cyclic "profile")

Valid Values:

profile

Use the built-in capacitance models

tile

Use external tile-based extraction. To use the high-precision solver, you must also set the tileExtractor environment variable to "sparce".

Default Value:

profile

GUI Equivalent:

None

checkInterrupt

Specifies whether Layout EAD needs to check for the Ctrl + C command that you can use to interrupt the extraction process. This check can increase the extraction run time. Therefore, if you are sure that you do not need to interrupt the extraction, disable the check by setting this variable to nil.

In .cdsenv:

layoutEAD.pex checkInterrupt boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "checkInterrupt" 'boolean t)

Valid Values:

t

Enables the check for Ctrl + C command to interrupt extraction

nil

Disables the check for Ctrl + C command to interrupt extraction

Default Value:

t

GUI Equivalent:

None

couplingCThreshold

Specifies a minimum coupling capacitance value in femtoFarad (fF). Capacitance values that fall below the threshold are excluded from parasitic extraction. This lets you filter out small capacitance values that are likely to be inconsequential in any analysis.

In .cdsenv:

layoutEAD.pex couplingCThreshold float 0.1

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "couplingCThreshold" 'float 0)

Valid Values:

float

Floating point value specifying the minimum coupling capacitance threshold.

Default Value:

0

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Minimum Coupling Cap

coupleToBulkNets

Specifies whether High Precision C and Fast C extraction need to extract coupling to any substrate or well shapes that have net assignments. Typically, these shapes are tied to the power or ground nets, and affect the capacitances of these nets the most. Therefore, the ground capacitance (and total capacitance) of the power nets gets reduced because of the presence of these shapes. Set this variable to t for an accurate calculation of capacitance of these nets.

In .cdsenv:

layoutEAD.pex coupleToBulkNets boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "coupleToBulkNets" 'boolean t)

Valid Values:

t

Enables extraction of coupling to any substrate or well shapes

nil

Disables extraction of coupling to any substrate or well shapes

Default Value:

t

GUI Equivalent:

None

doSlotting

Specifies whether Layout EAD needs for slotting shapes and use them to cut holes in the routing shapes to be extracted. By default, EAD does not recognize any slot shape. Set this variable to t to enable search for slotting shapes in specific layers that use the purpose names recognized by EAD for slotting. Related env var: slottingPurposeNames

In .cdsenv:

layoutEAD.pex doSlotting boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "doSlotting" 'boolean t)

Valid Values:

t

Enables the search for slotting shapes

nil

Disables the search for slotting shapes

Default Value:

nil

GUI Equivalent:

None

dspfCapUnits

Specifies the default unit to be used for the capacitance values in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfCapUnits cyclic "ff"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfCapUnits" 'cyclic "ff")

Valid Values:

"f" "ff" "pf"

Default Value:

"f"

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Format For Capacitance Values – Unit

dspfCouplingCapPrefix

Specifies the default prefix to be used for the coupling capacitance values in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfCouplingCapPrefix string "CC"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfCouplingCapPrefix" 'string "CC")

Valid Values:

A string value specifying a prefix

Default Value:

""

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Format For Capacitance Values – Coupling Capacitance Prefix

dspfFileName

Specifies the name of the DSPF file saved with parasitic details.

In .cdsenv:

layoutEAD.pex dspfFileName string "dspfProj1"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfFileName" 'string "dspfProj1")

Valid Values:

A string value specifying a file name

Default Value:

""

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – File Name

dspfGroundCapPrefix

Specifies the default prefix to be used for the ground capacitance values in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfGroundCapPrefix string "CC"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfGroundCapPrefix" 'string "CC")

Valid Values:

A string value specifying a prefix

Default Value:

""

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Format For Capacitance Values – Ground Capacitance Prefix

dspfResistorPrefix

Specifies the default prefix to be used for the resistance values in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfResistorPrefix string "R"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfResistorPrefix" 'string "R")

Valid Values:

A string value specifying a prefix

Default Value:

""

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Format For Capacitance Values – Resistance Prefix

dspfResUnits

Specifies the default unit to be used for the resistance values in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfResUnits cyclic "ohm"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfResUnits" 'cyclic "ohm")

Valid Values:

"ohm" "kohm"

Default Value:

"ohm"

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Format For Resistance Values – Resistance Prefix

dspfSubNodeDelimiter

Specifies the delimiter to be used while writing sub nodes in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfSubNodeDelimiter string "#"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfSubNodeDelimiter" 'string "#")

Valid Values:

A string value specifying a delimiter for sub nodes

Default Value:

"#"

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Subnode Delimiter

dspfWriteInstances

Specifies whether to write instances in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfWriteInstances boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfWriteInstances" 'boolean t)

Valid Values:

t

Writes the instances in the DSPF file

nil

Does not write the instances in the DSPF file

Default Value:

t

GUI Equivalent:

Parasitics & LDE Setup – DSPF tab – Write Instances

dspfWriteSubNodes

Specifies whether to write subnodes in the DSPF file.

In .cdsenv:

layoutEAD.pex dspfWriteSubNodes boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "dspfWriteSubNodes" 'boolean t)

Valid Values:

t

Writes the subnodes in the DSPF file

nil

Does not write the subnodes in the DSPF file

Default Value:

t

GUI Equivalent:

None

enableErosionEffects

Specifies whether erosion effects are applied only to resistances, only to capacitances, to resistances and capacitances, or to neither resistances nor capacitances.

For more information on erosion effects, see the Quantas QRC Techgen Reference Manual.

In .cdsenv:

layoutEAD.pex enableErosionEffects cyclic "none"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "enableErosionEffects" 'cyclic "none")

Valid Values:

none

Erosion effects are not applied

c_only

Erosion effects are applied only for capacitance extraction

r_only

Erosion effects are applied only for resistance extraction

rc

Erosion effects are applied to resistance and capacitance extraction

Default Value:

none

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Erosion Effects

enableLoadingEffects

Controls whether dielectric layer loading effects are applied to capacitance values.

For more information on dielectric layer loading effects, see the Quantas QRC Techgen Reference Manual.

In .cdsenv:

layoutEAD.pex enableLoadingEffects boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "enableLoadingEffects" 'boolean t)

Valid Values:

t

Loading effects are applied to capacitances

nil

Loading effects are not applied to capacitances

Default Value:

t

GUI Equivalent:

None

enableWbeEffects

Controls whether wire bottom etching effects are applied during parasitic extraction at advanced process nodes. You can specify that wire bottom etching effects are applied only to resistances, only to capacitances, to both resistances and capacitances (the default), or to neither resistances nor capacitances.

For more information on wire bottom etching effects, see the Quantas QRC Techgen Reference Manual.

In .cdsenv:

layoutEAD.pex enableWbeEffects cyclic "rc"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "enableWbeEffects" 'cyclic "rc")

Valid Values:

none

Wire bottom etching effects are not applied

c_only

Wire bottom etching effects are applied to capacitances only

r_only

Wire bottom etching effects are applied to resistances only

rc

Wire bottom etching effects are applied to both resistances and capacitances

Default Value:

rc

GUI Equivalent:

None

enableWeeEffects

Controls whether wire edge enlargement (WEE) effects are applied during parasitic extraction. You can specify that WEE effects are applied only to resistances, only to capacitances, to resistances and capacitances (the default), or to neither resistances nor capacitances.

Turning on WEE effects automatically applies any lithoBias rules that are present in the EAD technology file. In the lithoBias flow, base WEE effects are specified in lithoBias rules and a higher order WEE table is specified in the ICT file. The lithoBias rules are based on the drawn wire width and spacing and the higher order WEE effects are based on silicon width and spacing parameters after the lithoBias rules are applied.

For more information on wire edge enlargement effects and lithoBias, see Chapters 3 and 11 of the Quantas QRC Techgen Reference Manual.

In .cdsenv:

layoutEAD.pex enableWeeEffects cyclic "rc"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "enableWeeEffects" 'cyclic "rc")

Valid Values:

none

Wire edge enlargement effects are not applied

c_only

Wire edge enlargement effects are applied only to capacitances

r_only

Wire edge enlargement effects are applied only to resistances

rc

Wire edge enlargement effects are applied to both resistances and capacitances

Default Value:

rc

GUI Equivalent:

None

excludePolyDiffusionCap

This variable is considered by both the High Precision C solver and the fast C models. For the fast C models, it controls the inclusion of both gate-to-diffusion overlap and fringing capacitance. For the High Precision C solver, it controls the inclusion of only the gate-to-diffusion overlap capacitance (also see includePolyFringingCap for High Precision C solver).

In .cdsenv:

layoutEAD.pex excludePolyDiffusionCap boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "excludePolyDiffusionCap" 'boolean t)

Valid Values:

t

Considers the estimated capacitance values given in the device simulation models in the PDK. For fast C models, the gate-to-diffusion overlap and fringing capacitance are ignored.

For High Precision C solver, the gate-to-diffusion overlap capacitance are ignored.

nil

Includes the gate-to-diffusion overlap and fringing capacitance for fast C models.

Includes the gate-to-diffusion overlap capacitance for High Precision C solver.

Default Value:

t

GUI Equivalent:

None

extractDegenerateNets

Specifies that degenerate nets (nets with zero or one instance terminal) are to be extracted.

In .cdsenv:

layoutEAD.pex extractDegenerateNets boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractDegenerateNets" 'boolean t)

Valid Values:

t

Degenerate nets are extracted.

nil

Degenerate nets are skipped by the extractor.

Default Value:

t

GUI Equivalent:

None

extractLocalInterconnectVias

Specifies that the extractor derives via connections between local interconnect layers and other layers by overlap instead of relying on layout data. The EM checker applies the vertical EM limit to these connections.

In .cdsenv:

layoutEAD.pex extractLocalInterconnectVias boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractLocalInterconnectVias" 'boolean t)

Valid Values:

t

The extractor derives via connections between LI layers.

nil

The extractor does not derive via connections and relies instead on the layout data.

Default Value:

t

GUI Equivalent:

None

extractNetsWithOpens

Controls whether the extractor extracts nets that are not fully routed.

In .cdsenv:

layoutEAD.pex extractNetsWithOpens boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractNetsWithOpens" 'boolean t)

Valid Values:

t

The extractor extracts nets that are not fully routed.

nil

The extractor skips nets that are not fully routed.

Default Value:

t

GUI Equivalent:

None

extractNonOrthoNets

Controls whether the extractor extracts non-orthogonal nets.

In .cdsenv:

layoutEAD.pex extractNonOrthoNets boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractNonOrthoNets" 'boolean t)

Valid Values:

t

The extractor extracts non-orthogonal nets.

nil

The extractor skips non-orthogonal nets.

Default Value:

t

GUI Equivalent:

None

extractResOnDiffusion

Controls whether the extractor extracts resistance on diffusion layers.

Any diffusion shape that is not a terminal is treated as a background shape, or a part of substrate, and no resistance is extracted for it. To extract resistance on regular diffusion shapes, set the nonTermDiffusionShapeType environment variable to regular.

In .cdsenv:

layoutEAD.pex extractResOnDiffusion boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractResOnDiffusion" 'boolean nil)

Valid Values:

t

The extractor extracts resistance on diffusion layers.

nil

The extractor does not extract resistance on diffusion layers.

Default Value:

nil

GUI Equivalent:

No

extractToPins

Controls how multiple pins on a resistive network of a net are handled during RC extraction.

In .cdsenv:

layoutEAD.pex extractToPins boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractToPins" 'boolean nil)

Valid Values:

t

In addition to terminals and instance terminals, pins are also considered as network terminal objects and a resistance path is computed to them.

nil

Only terminals and instance terminals are considered as network terminal objects and a resistance path is computed to them.

Default Value:

nil

GUI Equivalent:

No

extractionPrimitives

Specifies the cells to be excluded from parasitic extraction. Parasitics are extracted up to and including the terminals of the excluded cells, but no extraction s performed inside the specified devices.

Use this environment variable to exclude devices such as capacitors and resistors, where you do not want to extract resistance and capacitance twice, or for polygonal standard cells or other instances that are not XL compliant. Device terminals are extracted by default, which means that the resistance on the terminals is computed and all terminal shapes are passed to the extraction engine for capacitance extraction as well (allowing calculation of the coupling capacitance from the terminals to nets outside the Pcell).

In .cdsenv:

layoutEAD.pex extractionPrimitives string "testLib/buffer/layout testLib/hier_buffer/layout"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "extractionPrimitives" 'string "testLib/buffer/layout testLib/hier_buffer/layout")

Valid Values:

string

A list of cellviews (lib/cell/view) each separated by a space

Default Value:

Empty string

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: Primitives & Excluded Cells table

enableCapOnlyModels

Controls whether to extract capacitor-only layers.

Some processes have specially designated capacitor-only layers that are used to create capacitor devices. These capacitor devices have some predetermined estimated capacitance values assigned by the Pcell.

Using this environment variable, you can extract a more accurate capacitance value for the capacitor-only layers in these devices from the actual layout for a given design.

In .cdsenv:

layoutEAD.pex enableCapOnlyModels boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "enableCapOnlyModels" 'boolean t)

Valid Values:

t

Capacitor-only layers are extracted.

nil

Capacitor-only layers are not extracted.

Default Value:

t

fillPurposeNames

Registers the layer purpose names in which Layout EAD needs to search for fill shapes. By default, EAD recognizes the fill shapes on the layer purpose "fill" or "opcFill".

In .cdsenv:

layoutEAD.pex fillPurposeNames string "fill opcFill"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "fillPurposeNames" 'string "fill opcFill")

Valid Values:

A string value containing a space-separated list of layer purpose names

Default Value:

"fill opcFill"

GUI Equivalent:

None

fillType

Controls how the EAD extraction treats fill shapes in the layout.

In .cdsenv:

layoutEAD.pex fillType cyclic "none"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "fillType" 'cyclic "none")

Valid Values:

none

Ignore fill shapes altogether

floating

Treat fill shapes as floating (unassigned to any net)

grounded

Treat fill shapes as if they are connected to ground

Default Value:

none

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Metal Fill Modeling Method

forceExtraction

Forces parasitic extraction for all nets when updating results, even if the nets in question have not been affected since the last extraction was run.

In .cdsenv:

layoutEAD.pex forceExtraction boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "forceExtraction" 'boolean nil)

Valid Values:

t

All nets are extracted.

nil

Only affected nets are extracted.

Default Value:

nil

GUI Equivalent:

None

groundNetName

Specifies the net name to use for the ground net when writing directly from the extractor to a netlist.

In .cdsenv:

layoutEAD.pex groundNetName string "0"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "groundNetName" 'string "0")

Valid Values:

string

String specifying the ground net name

Default Value:

0

GUI Equivalent:

None

hideDummyResistors

layoutEAD.pex hideDummyResistors boolean { t | nil }

Description

Specifies whether to hide dummy resistor having 1m ohm resistance from the detailed parasitics table.

The default value is nil, which indicates that these dummy resistors are displayed in the detailed parasitics table.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.pex" "hideDummyResistors")
envSetVal("layoutEAD.pex" "hideDummyResistors" 'boolean t)

hierarchyLevels

Specifies the layout hierarchy depth from which layout shapes are to be extracted during RC extraction. For example, if you specify 0, only top-level routing is extracted; if you specify 99, all hierarchy levels are extracted (nets that are wholly contained in lower levels are also extracted and reported). Decoupled capacitance is extracted to shapes for levels greater than the Hierarchy Levels setting.

Note: This option also works in conjunction with the promotePorts option.

Also see: instTermHierarchyLevels

In .cdsenv:

layoutEAD.pex hierarchyLevels int 99

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "hierarchyLevels" 'int 99)

Valid Values:

int

Positive integer value specifying the number of hierarchy levels from which layout shapes are to be extracted.

The default value, 99, specifies that all hierarchy levels are extracted. Nets that are wholly contained in lower levels are also extracted and reported.

If you set the value to 0, only top-level routing is extracted.

Default Value:

99

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Hierarchy Levels

hierarchyShapeType

Controls how non-terminal shapes in sub-cells are handled during parasitic extraction. This applies only to hierarchy levels greater than the hierarchyLevels setting.

In .cdsenv:

layoutEAD.pex hierarchyShapeType cyclic "regular"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "hierarchyShapeType" 'cyclic "regular")

Valid Values:

regular

Refers to shapes that have a net assignment. EAD extracts coupled capacitance to these shapes

background

Refers to shapes that do not have a net assignment. EAD extracts grounded capacitance to these shapes (exception: for “background” shapes on device or instance terminals, EAD extracts coupled capacitance)

invisible

Shapes are ignored by the extraction engine

Default Value:

regular

GUI Equivalent:

None

insertResNodeLabelPurpose

Specifies the name of the purpose to be used while creating labels to to insert nodes for R extraction in wide pins.

In .cdsenv:

layoutEAD.pex insertResNodeLabelPurpose string "forLabels"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "insertResNodeLabelPurpose" 'string "forLabels")

Valid Values:

A string value specifying the purpose name.

Default Value:

""

GUI Equivalent:

None

Related Topics

Modifying EM Analysis for Wide Pins

autoInjectionPointFile

autoInjectionPointDebug

insertResNodes

Specifies the name of the text file that provides the details of the nodes to be inserted on wide pins for the purpose of calculation of current.

In .cdsenv:

layoutEAD.pex insertResNodes string "labelDetails.txt"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "insertResNodes" 'string "labelDetails.txt")

Valid Values:

A string value specifying the file name.

Default Value:

""

GUI Equivalent:

None

Related topic: Modifying EM Analysis for Wide Pins

instTermHierarchyLevels

Specifies the layout hierarchy depth from which the instance terminals are to be extracted during RC extraction. By default, the instance terminals at the bottom of the hierarchy are extracted. You can set this variable to extract instance terminals from upto a certain level only.

Also see: hierarchyLevels

In .cdsenv:

layoutEAD.pex instTermHierarchyLevels int 99

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "instTermHierarchyLevels" 'int 99)

Valid Values:

int

Positive integer value specifying the hierarchy level depth from which instance terminals are to be extracted.

The default value, 99, specifies that instance terminals from all hierarchy levels are to be extracted. Instance terminals from nets that are wholly contained in lower levels are also extracted and reported.

If you set the value to 0, instance terminals are extracted only from the top-level.

Default Value:

99

GUI Equivalent:

EAD Options – Extraction – Inst Term Hierarchy Levels

instTermSuperconductive

Specifies whether to consider a top pin or terminal shape as a superconductor that does not have any resistance. If a terminal shape is considered as a superconductor, Layout EAD uses a small resistance value of less than 0.001 ohms to connect it to a non-terminal shape.

In .cdsenv:

layoutEAD.pex instTermSuperconductive boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "instTermSuperconductive" 'boolean t)

Valid Values:

t

Layout EAD uses a shorting resistor as a superconductor resistor to connect a non-terminal shape with a terminal shape.

nil

The resistance of the terminal shape will be extracted same as normal shape.

Default Value:

nil

GUI Equivalent:

None

maxResistorLength

Specifies the maximum length of resistor (in microns) that can be extracted. Resistors that are longer than the specified maximum length are fractured into multiple resistors.

In .cdsenv:

layoutEAD.pex maxResistorLength float 100.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "maxResistorLength" 'float 100.0)

Valid Values:

float

Floating point value >= 0.5 specifying the maximum length of resistor that will extracted. Resistors that are longer than the specified maximum are fractured into multiple resistors.

Default Value:

100.0

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Max Resistor Length

Quantus allows a string value of "infinite" for the CCL parameter extraction_setup -max_fracture_length. This value is triggered by the environment variable layoutEAD.pex maxResistorLength set to 0.0 or by the keyword maxResLen=0 in the setup.ini file. In addition, Quantus allows a numeric value for the CCL parameter max_fracture_length, but a value greater than 800 is considered an error and the extraction stops. However, when running Quantus/Pegasus setup for parasitic extraction in EAD, if the value of the environment variable maxResistorLength is set to greater than 800, it writes -max_fracture_length 800 to the CCL file without printing any error message in the CIW. Therefore, the extraction will run, but the fracturing behavior may not be as expected.

Related Topics

Creating Pegasus/Quantus Setup for Parasitics Extraction

Extracting Parasitics from a Partial Layout

netHierarchyLevels

Controls the layout hierarchy depth for net lookup for parasitic extraction.

In .cdsenv:

layoutEAD.pex netHierarchyLevels int 99

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "netHierarchyLevels" 'int 99)

Valid Values:

int

Positive integer value specifying the number of layout hierarchy levels. This value should be less than or equal to the value specified by the hierarchyLevels environment variable.

Default Value:

99

GUI Equivalent:

None

nonTermDiffusionShapeType

Controls how non-terminal diffusion layer shapes contribute to parasitic extraction.

In .cdsenv:

layoutEAD.pex nonTermDiffusionShapeType cyclic "background"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "nonTermDiffusionShapeType" 'cyclic "background")

Valid Values:

regular

Both the coupling to the shape and the shape itself are extracted

background

Coupling capacitance is calculated to the shapes but extraction of the shape is not performed

invisible

Shapes are ignored by the extraction engine

default

The value of hierarchyShapeType is used

Default Value:

background

GUI Equivalent:

None

promotePorts

Controls whether EAD extracts parasitics for shapes that are part of device terminals; for example, metal shapes in the source/drain regions of a transistor. This applies for instances at the level specified by the hierarchyLevels environment variable.

By default, EAD extracts parasitics for such shapes. But when this option is switched on, extraction stops at the device boundary, which means that terminals on Pcells and instances are treated as background shapes and are not extracted.

In .cdsenv:

layoutEAD.pex promotePorts boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "promotePorts" 'boolean t)

Valid Values:

t

Shapes that are part of terminals are extracted

nil

Shapes that are part of terminals are not extracted.

Default Value:

t

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Stop at Device Boundary

recordCoupledCap

Records how much of the total capacitance was due to coupling (for decoupled capacitance extraction types).

In .cdsenv:

layoutEAD.pex recordCoupledCap boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "recordCoupledCap" 'boolean nil)

Valid Values:

t

Records how much of the total capacitance was due to coupling

nil

Amount of total capacitance due to coupling is not recorded.

Default Value:

nil

None

GUI Equivalent:

None

relativeCThreshold

Specifies a threshold for the ratio of the coupling between the extracted net and a neighbor net divided by the total capacitance of the extracted net. If the ratio is smaller than relativeCThreshold, then coupling capacitances to the neighbor net are not written. This lets you filter out small capacitance values that are likely to be inconsequential in any analysis.

In .cdsenv:

layoutEAD.pex relativeCThreshold float 0.00

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "relativeCThreshold" 'float 0.00)

Valid Values:

float

Floating point value specifying the relative capacitance threshold.

Default Value:

0.00

GUI Equivalent:

None

resScaleFactor

layoutEAD.pex resScaleFactor float scalingFactor

Description

Specifies the scaling factor to be applied on the extracted resistances.

The default value is 1, which indicates that no scaling is applied to the extracted value of the resistance.

GUI Equivalent

The Resistance Scaling Factor field on the Extraction tab of the EAD Options form.

Examples

envGetVal("layoutEAD.pex" "resScaleFactor")
envSetVal("layoutEAD.pex" "resScaleFactor" 'float "2")

gndCapScaleFactor

layoutEAD.pex gndCapScaleFactor float scalingFactor

Description

Specifies the scaling factor to be applied on the extracted ground capacitance.

The default value is 1, which indicates that no scaling is applied to the extracted value of the ground capacitance.

GUI Equivalent

The Gnd Cap Scaling Factor field on the Extraction tab of the EAD Options form.

Examples

envGetVal("layoutEAD.pex" "gndCapScaleFactor")
envSetVal("layoutEAD.pex" "gndCapScaleFactor" 'float "3")

couplingCapScaleFactor

layoutEAD.pex couplingCapScaleFactor float scalingFactor

Description

Specifies the scaling factor to be applied on the extracted coupling capacitance.

The default value is 1, which indicates that no scaling is applied to the extracted value of the coupling capacitance.

GUI Equivalent

The Coupling Cap Scaling Factor field on the Extraction tab of the EAD Options form.

Examples

envGetVal("layoutEAD.pex" "couplingCapScaleFactor")
envSetVal("layoutEAD.pex" "couplingCapScaleFactor" 'float "4")

slottingPurposeNames

Registers the layer purpose names in which Layout EAD needs to search for slotting shapes if the doSlotting environment variable is enabled. By default, EAD searches the purpose "slot" for slotting shapes. Use this environment variable to specify a list of purpose names in which EAD can search for slotting shapes.

In .cdsenv:

layoutEAD.pex slottingPurposeNames string "slotA"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "slottingPurposeNames" 'string "slotA slotB")

Valid Values:

A string value containing a space-separated list of layer purpose names

Default Value:

"slot"

GUI Equivalent:

None

stackViaArrayHandling

Specifies how via arrays are to be handled while calculating EM violations.

In .cdsenv:

layoutEAD.pex stackViaArrayHandling cyclic "none"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "stackViaArrayHandling" 'cyclic "none")

Valid Values:

"mesh"

Builds a mesh network for all vias in a via array. All resistors inside via arrays are considered for EM calculations.

"cluster"

The clustering options specified on the EAD Process Settings form are used to extract resistances.

"none"

Resistors are extracted using minimum spanning tree.

Default Value:

"cluster"

GUI Equivalent:

None

skipPowerGround

Controls whether power and ground nets are extracted or skipped.

In .cdsenv:

layoutEAD.pex skipPowerGround boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "skipPowerGround" 'boolean nil)

Valid Values:

t

Power and ground nets are skipped.

nil

Power and ground nets are extracted.

Default Value:

nil

GUI Equivalent:

None

supportSDRDynamicDataset

layoutEAD.pex supportSDRDynamicDataset boolean { t | nil }

Description

Controls whether or not the peak and RMS current scalar values are visible in EAD browser. These peak and RMS current scalar values are used by SDR for current estimation and for the conversion of design intent information into a dataset. When set to t, design intent scalar peak and RMS values are visible in the EAD browser and can be used by SDR to size the wires according to the current estimation. The default value is nil.

GUI Equivalent

Command

SDR toolbar – Options

Field

Consider scalar dynamic currents

Examples

envGetVal("layoutEAD.pex" "supportSDRDynamicDataset")
envSetVal("layoutEAD.pex" "supportSDRDynamicDataset" 'boolean t)

Related Topics

SDR Options Form

swapLithoBiasDirection

Swaps the edge directions of the shapes when applying lithoBias effects during parasitic extraction. Use this when the layout being extracted will be rotated 90 (or 270) degrees in the final layout, meaning that the horizontal edges of the shapes will be the vertical edges in the final implementation.

For more details on lithoBias, see Chapter 11, “LithoBias Flow” in the Quantas QRC Techgen Reference Manual”.

In .cdsenv:

layoutEAD.pex swapLithoBiasDirection boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "swapLithoBiasDirection" 'boolean t)

Valid Values:

t

Swap edge directions of shapes when applying lithoBias effects during parasitic extraction

nil

Do not swap edge directions when applying lithoBias effects during parasitic extraction

Default Value:

nil

GUI Equivalent:

None

temperature

Specifies the extraction temperature in degrees Celsius.

In .cdsenv:

layoutEAD.pex temperature float 25

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "temperature" 'float 25)

Valid Values:

float

Floating point value specifying a temperature in degrees Celsius.

Default Value:

25

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: Temperature

threads

Specifies the number of threads to use in multi-threaded R and C engines, both Fast and High Precision. It applies only when multiple nets are being processed or for High Precision R extraction.

In .cdsenv:

layoutEAD.pex threads int 1

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "threads" 'int 1)

Valid Values:

int

Positive integer value specifying a number of execution threads.

Default Value:

1

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Threads

type

Controls the type of parasitic networks produced by the EAD extractor.

In .cdsenv:

layoutEAD.pex type cyclic "coupled_rc"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "type" 'cyclic "coupled_rc")

Valid Values:

decoupled_rc

A network with distributed resistances and grounded capacitances, not including coupling capacitors to neighboring nets

GUI option: RC decoupled

The coupling effects to neighboring nets are still taken into account, but that coupling capacitance is grounded.

coupled_rc

A network with distributed resistances and capacitances, including coupling capacitors to neighboring nets

GUI option: RC coupled

lumped_c

A network with resistance values and a single total coupling capacitance value between nets

GUI option: C decoupled

lumped_cc

A network with a single total capacitance value and one coupling capacitor to each neighboring net

GUI option: C lumped coupled

r_only

A network with only resistance values and no capacitances. For EM checking purposes, only resistance is required.

GUI option: R

coupled_c_only

Perform coupled capacitance extraction only

GUI option: C coupled

none

Do not perform any extraction

Default Value:

coupled_rc

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Extraction Mode

unusedInstTermShapeType

The connectivity extractor assigns connectivity from top to bottom through the design hierarchy. While doing this, if it finds a break in the hierarchical net assignment, there can be instance terminals without any net assignment. This variable determines how to handle the shapes of the instance terminals with no net assignment.

In .cdsenv:

layoutEAD.pex unusedInstTermShapeType cyclic "background"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "unusedInstTermShapeType" 'cyclic "invisible")

Valid Values:

"invisible"

The shapes are ignored and not passed to the extraction engine

"background"

The shapes can be stamped by another net touching them

"regular"

The shapes are treated as regular shapes and can be stamped by another net touching them

Default Value:

"background"

GUI Equivalent:

No

viaInstanceMode

Specifies the default via instance mode.

In .cdsenv:

layoutEAD.pex viaInstanceMode cyclic "cluster"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "viaInstanceMode" 'cyclic "cluster")

Valid Values:

cluster

Clustering parameters are applied inside each via instance. No clustering occurs across hierarchical boundaries.

flatten

All via instances (across hierarchy) are flattened and then clustering parameters are applied.

one_resistor

Extracts one resistor for each via instance. Clustering parameters not followed, there is no clustering across hierarchical instance or Pcell boundaries. Flat vias follow cluster parameters.

Default Value:

cluster

GUI Equivalent:

Command: Edit Process Settings – Vias tab

Field: Via Instance Mode

viaShapesScanMode

Controls the way in which via shapes are scanned while creating clusters.

In .cdsenv:

layoutEAD.pex viaShapesScanMode cyclic "edgeToEdge"

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "viaShapesScanMode" 'cyclic "edgeToEdge")

Valid Values:

edgeToEdge

Scanning starts along the left and bottom edges (lower-left corner of the via array) and clusters are formed till the right and top edges (upper-right corner of the via array) are reached.

edgesToCenter

Scanning starts along the left and bottom edges (lower-left corner of via array) and the right and top edges (upper-right corner of via array) and clusters are formed until the center of via array is reached. This approach makes the clusters more symmetric around the center of the via array.

Default Value:

edgeToEdge

GUI Equivalent:

None

warnOnLayerMapping

Displays a warning message when Layout EAD encounters a missing layer and via mappings between OpenAccess technology files and ICT files. Set the environment variable to nil to suppress these warning messages since they are displayed by default.

In .cdsenv:

layoutEAD.pex warnOnLayerMapping boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.pex" "warnOnLayerMapping" 'boolean t)

Valid Values:

t

The messages are displayed.

nil

The messages are suppressed.

Default Value:

t

GUI Equivalent:

None

layoutEAD.solver

autoThreadsPerNetOverride

Overrides the Threads Per Net setting from Auto to an integer value. Override this setting to a non-zero integer value is important if you want to use distributed processing jobs for multi-threaded extraction.

The Threads Per Net setting is defined in the High Precision R Solver section on the Extraction tab of the EAD Options form.

In .cdsenv:

layoutEAD.solver autoThreadsPerNetOverride int 0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "autoThreadsPerNetOverride" 'int 0)

Valid Values:

int

Any integer value greater than zero.

Default Value:

0

GUI Equivalent

Command: Layout EAD Options – Extraction tab – High Precision R Solver section

Field: Threads Per Net

convergenceCThreshold

Specifies the convergence goal (standard deviation) of the high precision C solver.

In .cdsenv:

layoutEAD.solver convergenceCThreshold float 2.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "convergenceCThreshold" 'float 2.0)

Valid Values:

float

Floating point value specifying the convergence goal.

Default Value:

2.0

GUI Equivalent:

Command: Layout EAD Options – Extraction tab

Field: Default Convergence Target

finWidth

(Advanced Nodes Only) Specifies the width of fins used to create fin geometries in high-precision capacitance models. The unit of this value is .To enable finFET modeling, set this variable to a value greater than 0.0.

In .cdsenv:

layoutEAD.solver finWidth float 0.012

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "finWidth" 'float 0.012)

Valid Values:

float

Floating point value specifying the fin width value.

Default Value:

0.0

GUI Equivalent:

None

finSpacing

(Advanced Nodes Only) Specifies the spacing between the fins used to create fin geometries in high-precision capacitance models. The unit of this value is . To enable finFET modeling, set this variable to a value greater than 0.0.

In .cdsenv:

layoutEAD.solver finSpacing float 0.040

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "finSpacing" 'float 0.040)

Valid Values:

float

Floating point value specifying the fin spacing value.

Default Value:

0.0

GUI Equivalent:

None

hpcMetalFillDefFileName

Enables the virtual metal fill modeling capability in the high precision C extraction flow. By default, the value of this variable is an empty string "", and the virtual metal fill modeling capability is disabled.

Set this variable to the name and path of the file that contains the virtual metal fill definition to be used by the flow. For details about the syntax of the virtual metal fill, refer to the Virtual Metal Fill section in the Quantas QRC Techgen Reference manual.

If an ICT file contains virtual metal fill definitions and you want to read the details from that file, specify a single line with "0" in your virtual metal definition file. This implies that no custom virtual fill definition is to be used. Instead, the virtual metal fill modeling parameters are to be read from the ICT file.

If the virtual metal fill modeling parameters of a particular layer are defined in both the ICT file and the metal fill definition file, the latter has higher precedence.

In .cdsenv:

layoutEAD.solver hpcMetalFillDefFileName string ""

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "hpcMetalFillDefFileName" 'string "")

Valid Values:

String

Path to a text file enclosed in double quotes.

If the text file contains a single line, "0", the virtual metal fill information given in the ICT file is used. Otherwise, the text file should contain the details of the virtual metal fill in the standard syntax.

""

Disables the virtual metal fill modeling capacity in the high precision C extraction flow.

Default Value:

""

GUI Equivalent:

None

Also see: Customizing High precision R and C Extraction

hprDisableViaClustering

Specifies whether the High Precision Resistance extraction flow needs to disable via clustering. By default, the value of this variable is nil, and High Precision Resistance extraction flow will observe the via clustering rules defined on the Vias tab of the EAD Process Settings form and perform corresponding via clustering.

In .cdsenv:

layoutEAD.solver hprDisableViaClustering boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "hprDisableViaClustering" 'boolean nil)

Valid Values:

t

High Precision Resistance extraction will not perform via clustering and will ignore the rules defined on the EAD Process Settings form.

nil

High Precision Resistance extraction will perform via clustering and will consider the rules defined on the Vias tab of the EAD Process Settings form.

Default Value:

nil

GUI Equivalent:

None

hprStampDataFileName

Specifies whether cell identification information should be used to construct data or mesh file names along with the resistanceFieldFileName and resistanceMeshFileName environment variables. When this variable is set to t, the cell information is included in the file names in the following format:

<prefix>_<libName>_<cellName>_<viewname>_<seqenceID> where, <prefix> is set by resistanceFieldFileName or resistanceMeshFileName.

For example, if the mesh file name set by variable resistanceMeshFileName is ./HPR/mesh.bin, the mesh file names for the layout view of cell INVX1 in library INV_HIER are named as mesh.bin_INV_HIER_INVX1_layout_000001 , mesh.bin_INV_HIER_INVX1_layout_000002, and so on.

Adding cell information to the file names helps in avoiding files from being overwritten when resistanceFieldFileName and resistanceMeshFileName are not changed while you extract data from multiple cellviews.

In .cdsenv:

layoutEAD.solver hprStampDataFileName boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "hprStampDataFileName" 'boolean nil)

Valid Values:

t

Cell information is used in the mesh or data file names

nil

Cell information is not used in the mesh or data file names

Default Value:

nil

GUI Equivalent:

None

includePolyFringingCap

Specifies that the fringing capacitance between the side walls of polysilicon and diffusion shapes is to be considered by the High Precision C solver. Also see excludePolyDiffusionCap.

In .cdsenv:

layoutEAD.solver includePolyFringingCap boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "includePolyFringingCap" 'boolean nil)

Valid Values:

t

Fringing capacitance is included.

nil

Fringing capacitance is ignored.

Default Value:

nil

GUI Equivalent:

None

modelNonGateFormingPolyCap

Specifies if the high precision C solver needs to include the non-gate forming poly shapes in the modeling for poly to diffusion capacitance extraction.

In .cdsenv:

layoutEAD.solver modelNonGateFormingPolyCap boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "modelNonGateFormingPolyCap" 'boolean nil)

Valid Values:

t

Non-gate forming capacitances are included in the modeling for poly to diffusion capacitance extraction.

nil

Non-gate forming capacitances are not included in the modeling for poly to diffusion capacitance extraction.

Default Value:

nil

GUI Equivalent:

None

modelViaCapacitanceEffect

Specifies if the high precision C solver needs to include vias in the modeling for capacitance extraction. When this variable is set to t, vias are included in capacitance extraction models and vias in the standard cells are clustered using the rules defined on the Vias tab of the EAD Process Settings form. When this variable is set to nil, vias are not included in the capacitance extraction model, therefore, the via clustering rules do not have any effect on high precision C extraction.

In .cdsenv:

layoutEAD.solver modelViaCapacitanceEffect boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "modelViaCapacitanceEffect" 'boolean nil)

Valid Values:

t

Vias are included in the modeling for capacitance extraction.

nil

Vias are not included in the modeling for capacitance extraction.

Default Value:

nil

GUI Equivalent:

None

resistanceMeshDensity

Specifies the default mesh density to be used by the high precision R solver.

To specify separate mesh density values to be used for different layers, use the resistanceMeshDensityFileName variable.

In .cdsenv:

layoutEAD.solver resistanceMeshDensity float 1.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "resistanceMeshDensity" 'float 1.0)

Valid Values:

float

Floating point value specifying the default mesh density for high precision R extraction.

Default Value:

1.0

GUI Equivalent:

Command: Layout EAD Options – Extraction

Field: Default Mesh Density

resistanceMeshDensityFileName

Specifies the name of the file that provides layer-wise mesh density values to be used by the high precision R solver. By default, the mesh density specified by the resistanceMeshDensity variable is used for all the layers. However, you can use different mesh density values for different layers by adding those details in a space-separated text file and providing the name of the file using this environment variable.

In .cdsenv:

layoutEAD.solver resistanceMeshDensityFileName string "./mesh.defs"

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "resistanceMeshDensityFileName" 'string "./mesh.defs")

Valid Values:

string

Name and path of the text file that contains the layer-wise mesh density values. The format of the text file is explained below.

Each line in the text file should contain two space-separated values, layer_name and mesh_density_multiplier.

The mesh density for the specified layers is calculated as:

default_mesh_density * mesh_density_multiplier.

For example, if the default mesh density is 0.4 and the text file mesh.defs contains the following lines:

M3 1.0
M4 0.01

the mesh density used for the two layers is calculated as shown below.

mesh density for M3 = 0.4 * 1.0=0.4

mesh density for M4 = 0.4 * 0.01=0.004

All other layers will use the default mesh density, 0.4, because no specification for those layers is given in the mesh.defs file.

Default Value:

""

GUI Equivalent:

None

resistanceMeshFileName

Specifies the name of the file to be used by the high precision R solver to save the binary mesh data for selected nets. The data from this file is used to overlay mesh on the selected net on the layout canvas.

After this variable is set by using the .cdsinit file or in the CIW, for extraction of each net, a new file is created with a unique file name that consists of the string specified by this environmental variable suffixed by an index number. The file will be overwritten if users re-extract the same net.

Also see:

resistanceMesherThreadCount

Specifies the number of processing threads to be used by the high precision R solver for each net.

The default value of resistanceMesherThreadCount is 0, which means that you want to use as many threads as supported by the current machine. For example, on a 16-core machine, 16 threads will be used.

If you set this variable to a non-zero value, it will use the specified number of threads. The maximum number of threads that can be used will always be equal to the number of cores on the machine, regardless of the user setting.

For example, on a 16-core machine, if you set this variable to 8, only 8 threads will be used. But on the same machine, if you set this variable to 32, a maximum of 16 threads will be used regardless of the user setting.

In .cdsenv:

layoutEAD.solver resistanceMesherThreadCount int 0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "resistanceMesherThreadCount" 'int 0)

Valid Values:

int

Any integer value greater than or equal to zero.

Default Value:

0

resistanceMesherTimeOut

Specifies the threshold time (in minutes) allocated to high precision resistance extraction for one single net.

During field solving for a net, Layout EAD keeps tracking and estimates the run time to finish the high precision R extraction for the current net. If the run time consumed or estimated time is longer than the threshold time specified by this variable, high precision R extraction is stopped. A warning message is displayed and the extraction for the remaining parts (if any) of that net are skipped.

In .cdsenv:

layoutEAD.solver resistanceMesherTimeOut int 5

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "resistanceMesherTimeOut" 'int 10)
Valid Values:

A positive integer value

Default Value:

5

GUI Equivalent:

None

resistancePathThreshold

Specifies the maximum resistance value in ohms that can be reported by the high precision R solver and displayed in the EAD Browser. If this limit exceeds, the high precision R solver does not report any resistance.

If the value of this variable is set to 0.0 (zero), the high precision R solver reports all computed resistance values and R counts without any limitation of the threshold value.

In .cdsenv:

layoutEAD.solver resistancePathThreshold float 1000.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "resistancePathThreshold" 'float 1000.0)

Valid Values:

float

Floating point value specifying the maximum resistance value that can be reported by the high precision R solver.

Default Value:

1000.0

GUI Equivalent:

None

resistanceFieldFileName

Specifies the name of the file to be used by the high precision R solver to save the current density and voltage drop field data for selected nets. The data from this file is used to overlay current density and voltage drop field data on the selected net on the layout canvas.

Once this variable is set in a Virtuoso session, for every subsequent extraction, a new file is created. Unique file names are created by suffixing an incremental number.

Also see:

showVoltageDropViolation

Specifies if voltage drop highlight should show the absolute voltage drop values or the violation levels calculated using the voltage drop tolerance data provided in a reference ASCII text file. The name of the reference file should be <field-data-file-name>.ref_voltage, where <field-data-file-name> is the field data file name specified by the resistanceFieldFileName environment variable.

In .cdsenv:

layoutEAD.solver showVoltageDropViolation boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "showVoltageDropViolation" 'boolean t)

Valid Values:

t

Voltage drop highlight shows the voltage drop violation levels

nil

Voltage drop highlight shows the real voltage drop values

Default Value:

nil

GUI Equivalent:

None

Also see: Viewing Voltage Drop

tileExtractor

Enables the high precision C solver for all nets.

The capacitanceMethod environment variable must be set to "tile". Use tileExtractorThreadCount to specify the number of processing threads to be used.

In .cdsenv:

layoutEAD.solver tileExtractor string "sparce"

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "tileExtractor" 'string "sparce")

Valid Values:

sparce

Enables the high precision solver for all nets (assuming the capacitanceMethod environment variable is set to "tile")

Default Value:

""

Empty string

GUI Equivalent:

Command: Layout EAD Options – Extraction

Field: Use Solver for All Nets

tileExtractorThreadCount

Specifies the number of processing threads per net to be used by the high precision C solver.

The default value of this environment variable is 0, which corresponds to the auto setting of the field Threads Per Net in the High Precision C Solver section of the Extraction tab.

Total number of extraction threads to be used by the high precision C solver depends upon the values of the environment variables layoutEAD.pex threads and layoutEAD.solver tileExtractorThreadCount, as follows:

Total number of extraction threads = Value of layoutEAD.pex threads x Value of layoutEAD.solver tileExtractorThreadCount

Therefore, if the values of the environment variables layoutEAD.pex threads and layoutEAD.solver tileExtractorThreadCount are set to 2 and 4 respectively, the high precision C solver will use a total of 8 (2 x 4) processing threads.

The default number of extraction threads to be used by the high precision C solver = Default value of layoutEAD.pex threads x Default value of layoutEAD.solver tileExtractorThreadCount => 1 x auto, which means that you want to use all the threads on the machine.

In .cdsenv:

layoutEAD.solver tileExtractorThreadCount int 0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "tileExtractorThreadCount" 'int 0)

Valid Values:

int

Positive integer specifying the number of processing threads to be used.

Default Value:

0

Corresponds to the auto setting of the field Threads Per Net, which means that you want to use all the threads on the machine.

GUI Equivalent:

Command: Layout EAD Options – Extraction tab – High Precision C Solver section

Field: Threads Per Net

useNumberOfGPU

Enables Graphical Processing Unit (GPU) computing for high precision C extraction and specifies the number of GPUs to be used. By default, this variable is set to 0, and GPU computing is disabled. When this variable is set to a value greater than 0, GPU computing is enabled for the nets selected for high precision C extraction.

In .cdsenv:

layoutEAD.solver useNumberOfGPU int 0

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "useNumberOfGPU" 'int 0)

Valid Values:

int

Positive integer specifying the number of graphical processing units to be used.

This value should be equal to or smaller than the number of GPUs that exist in the hardware system.

Default Value:

0

GUI Equivalent:

None

qrcTechFileName

Specifies the path to the QRC technology file to be used by the iQuantus FS engine to perform high precision C extraction. This file must be aligned with the EAD technology file.

In .cdsenv:

layoutEAD.solver qrcTechFileName string "<path_to_the_QRC_tech_file>"

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "qrcTechFileName" 'string "<path_to_the_QRC_tech_file>")

Valid Values:

Path to the QRC technology file.

Default Value:

"" (An empty string)

GUI Equivalent:

None

qrcLayerSetupFileName

Specifies the path to the file in which the QRC layer setup data is saved. This file is used by the iQuantus FS engine to perform high precision C extraction.

In .cdsenv:

layoutEAD.solver qrcLayerSetupFileName string "<path_to_the_QRC_layer_setup_file>"

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "qrcLayerSetupFileName" 'string "<path_to_the_QRC_layer_setup_file>")

Valid Values:

Path to the QRC layer setup file.

Default Value:

"" (An empty string)

GUI Equivalent:

None

qrcCapgenFileName

Specifies the path to the Quantus capgen (also called Techgen) command file. Techgen is a Quantus program that creates the QRC technology file.

In .cdsenv:

layoutEAD.solver qrcCapgenFileName string "<path_to_the_QRC_Cap_Gen_File>"

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "qrcCapgenFileName" 'string "<path_to_the_QRC_Cap_Gen_File>>")

Valid Values:

Path to the Quantus capgen command file.

Default Value:

"" (An empty string)

GUI Equivalent:

None

hpcEngine

Specifies the high precision C extraction engine to be used.

In .cdsenv:

layoutEAD.solver hpcEngine cyclic "native"

In .cdsinit or the CIW:

envSetVal("layoutEAD.solver" "hpcEngine" 'cyclic "native")

Valid Values:

native

Native engine is used for high precision C extraction.

quantusFS

iQuantus Fast Solver (iQuantus FS) engined is used for high precision C extraction.

Default Value:

native

GUI Equivalent:

The Engine field in the High Precision C Solver section on the Extraction tab of the EAD Options form.

The Engine field is not displayed by default. It is displayed only when you set this environment variable.

layoutEAD.gui

autoHideParasiticHighlights

Automatically hides any parasitic highlighting in the layout window when the mouse cursor moves away from the parasitic and EM tables in the EAD Browser. By default, parasitic highlighting in the layout canvas is persistent, i.e., it remains visible even if the mouse cursor is moved away from the browser tables.

In .cdsenv:

layoutEAD.gui autoHideParasiticHighlights boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "autoHideParasiticHighlights" 'boolean nil)

Valid Values:

t

Parasitic highlights are automatically hidden in the layout canvas

nil

Parasitic highlights are persistent

Default Value:

nil

GUI Equivalent:

None

applyLayerFilterOnCanvasHighlight

Enables layer-based filtering for IR Drop heat map or EM violation. When this feature is enabled, you can view heat maps for selected layers by selecting layers from the Select which layers are displayed in the table drop-down command list.

In .cdsenv:

layoutEAD.gui applyLayerFilterOnCanvasHighlight boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "applyLayerFilterOnCanvasHighlight" 'boolean nil)

Valid Values:

t

Enables filtering of layers to show the IR drop or EM violation heat map.

nil

Disables filtering of layers to show the IR drop or EM violation heat map.

Default Value:

nil

GUI Equivalent:

None

capacitanceFixedSuffix

Specifies that all capacitance values are displayed in fF. When set to nil, the units vary depending on the magnitude of the capacitance value.

In .cdsenv:

layoutEAD.gui capacitanceFixedSuffix boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "capacitanceFixedSuffix" 'boolean t)

Valid Values:

t

All capacitance values are shown in fF

nil

Units for capacitance values depend on the magnitude of the value

Default Value:

t

GUI Equivalent:

None

clickClickUpdateDelay

Specifies the delay in seconds after a mouse cursor pause before info balloon data is updated. Set this variable to a higher value to prevent any updates while you are moving the mouse to select the second point for info balloon.

In .cdsenv:

layoutEAD.gui clickClickUpdateDelay float 0.5

In .cdsinit or the CIW:

envSetVal( "layoutEAD.gui" "clickClickUpdateDelay" 'float 0.5)

Valid Values:

float

Floating point value specifying a number of seconds

Default Value:

0.5

GUI Equivalent:

None

Also see: Using Point-To-Point Info Balloons

clickClickUseNetCache

Specifies whether to process all the shapes found on a net while selecting points for the creation of point-to-point info balloons. When this variable is set to t, all shapes present on a net are properly stamped and extracted.

When there are a large number of shapes on a net, this can impact the performance of selection of points for info balloon creation. In that case, you can set the variable to nil.

In .cdsenv:

layoutEAD.gui clickClickUseNetCache boolean t

In .cdsinit or the CIW:

envSetVal( "layoutEAD.gui" "clickClickUseNetCache" 'boolean t)

Valid Values:

t

Processes all the shapes found on a net while selecting points for the creation of point-to-point info balloons.

nil

Skips the processing of shapes while selecting points for the creation of point-to-point info balloons.

Default Value:

t

GUI Equivalent:

None

Also see: Using Point-To-Point Info Balloons

detailedParasiticTables

Displays detailed resistance and capacitance tables in the EAD Browser. When enabled, if you select a capacitance value, the browser shows an extra table of individual coupling capacitance values; if you select a resistance value, the browser shows an additional table of individual resistance values along each path. The default is nil.

In .cdsenv:

layoutEAD.gui detailedParasiticTables boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "detailedParasiticTables" 'boolean t)

Valid Values:

t

Displays detailed parasitic tables in the EAD Browser.

nil

Detailed parasitic tables are not displayed.

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – Environment tab

Field: Detailed Parasitic Tables

dualPaneMode

Toggles the dual pane view, with the summary view on top and detailed view underneath it.

In .cdsenv:

layoutEAD.gui dualPaneMode boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "dualPaneMode" 'boolean t)

Valid Values:

t

Dual pane view is enabled.

nil

Dual pane view is disabled.

Default Value:

t

GUI Equivalent:

Toggle dual pane view button on the EAD Browser toolbar

emResultsShowAllResistors

Shows all resistors in the EM results table (by default, the table shows only those resistors with violations; that is, a ratio of  greater than 1 or the minimum violation level whichever is lower).

In .cdsenv:

layoutEAD.gui emResultsShowAllResistors boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "emResultsShowAllResistors" 'boolean nil)

Valid Values:

t

Shows all resistors in the EM violation table

nil

Shows only resistors with J/Jmax greater than 1 or the minimum violation level whichever is lower

Default Value:

nil

GUI Equivalent:

None

emTableResultType

Specifies the default EM result type to show in the EM violation table.

In .cdsenv:

layoutEAD.gui emTableResultType cyclic "J/Jmax"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "emTableResultType" 'cyclic "J/Jmax")

Valid Values:

J/Jmax

Shows the ratio of current to maximum current.

A value greater than or equal to 1.0 is a violation.

(J/Jmax)*W

Shows the ratio of current to maximum current multiplied by the resistor width

This gives an estimated width for this segment required to fix a violation.

(J/Jmax)*N

Shows the ratio of current to maximum current multiplied by the existing number of via cuts.

This gives the number of via cuts that could possibly fix the EM violation reported for the via resistor.

Current

Shows the current from simulation results

Max Current

Shows the maximum current that can flow through this resistor

Percent of Max Current

Shows the value as a percentage of the maximum current

Delta T

Shows the delta T values for RMS currents in the metal resistors

Default Value:

J/Jmax

GUI Equivalent:

Result type button on the EM violation table toolbar

enableFindNet

Specifies that results can be found for a specific net.

In .cdsenv:

layoutEAD.gui enableFindNet boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "enableFindNet" 'boolean nil)

Valid Values:

t

Find results by net is enabled.

nil

Find results by net is disabled.

Default Value:

nil

GUI Equivalent:

Find results for a specific net button on the EAD Browser toolbar

fitToSelected

Automatically pans and zooms to the correct area of the layout view when you select a net or parasitic in the EAD Browser tables.

You can also specify the zoom factor using the fitToSelectedZoomScale variable.

In .cdsenv:

layoutEAD.gui fitToSelected boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "fitToSelected" 'boolean nil)

Valid Values:

t

Automatically pans and zooms to the correct area of the layout view

nil

Does not automatically pan and zoom

Default Value:

t

GUI Equivalent:

Automatically zoom display to selected network or parasitic button on the EAD Browser toolbar

hideCheckLayerMapping

layoutEAD.gui hideCheckLayerMapping boolean {t | nil}

Description

Specifies whether to show the Check Layer Mapping check box in the Options menu of the EAD Browser.

The default value is t, which indicates the Check Layer Mapping options is hidden by default.

GUI Equivalent

The Check Layer Mapping check box in the Options menu of the EAD Browser.

Examples

envGetVal("layoutEAD.gui" "hideCheckLayerMapping")
envSetVal("layoutEAD.gui" "hideCheckLayerMapping" 'boolean nil)

hideHPRCExtraction

layoutEAD.gui hideHPRCExtraction boolean {t | nil}

Description

Specifies whether to show the High Precision C Extraction and High Precision R Extraction options in the context menu when you right-click any net in the Net Summary Table of the EAD Browser.

The default value is t, which indicates the High Precision C Extraction and High Precision R Extraction options are hidden by default.

GUI Equivalent

The High Precision C Extraction and High Precision R Extraction options in the context menu

Examples

envGetVal("layoutEAD.gui" "hideHPRCExtraction")
envSetVal("layoutEAD.gui" "hideHPRCExtraction" 'boolean nil)

fitToSelectedZoomScale

Specifies the zoom factor to be used when you have chosen to zoom the layout display to the selected network or parasitic, that is, when the Automatically zoom display to selected network or parasitic button on the EAD Browser toolbar is selected.

In .cdsenv:

layoutEAD.gui fitToSelectedZoomScale float 0.25

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "fitToSelectedZoomScale" 'float 0.25)

Valid Values:

float

A valid float value between the range of 0.05 to 0.9

Default Value:

0.25

GUI Equivalent:

None

highlightSelectedNets

Automatically highlights nets in the layout when they are selected in the EAD Browser.

In .cdsenv:

layoutEAD.gui highlightSelectedNets boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "highlightSelectedNets" 'boolean nil)

Valid Values:

t

Nets are automatically highlighted

nil

Nets are not automatically highlighted

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – Environment tab

Field: Highlight Selected Nets

layerFilterOnEMCanvas

Specifies whether to use layer filter to selectively display heat map only for the selected layers on the layout canvas.

In .cdsenv:

layoutEAD.gui layerFilterOnEMCanvas boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "layerFilterOnEMCanvas" 'boolean nil)

Valid Values:

t

Displays heat map only for the selected layers on the layout canvas

nil

Displays heat map for all the layers on the layout canvas

Default Value:

nil

GUI Equivalent:

None

loadTablesOnDemand

layoutEAD.gui loadTablesOnDemand boolean {t | nil}

Description

Specifies whether to enable on-demand loading of the capacitance and resistance tables when you select a net in the EAD Browser.

The default value is nil, which indicates that the on-demand loading of the tables in the EAD Browser is disabled by default.

You can use set this environment variable to improve performance when loading resistors and capacitance for the net selected in the EAD Bowser.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.gui" "loadTablesOnDemand")
envSetVal("layoutEAD.gui" "loadTablesOnDemand" 'boolean t)

includeSkippedNets

Specifies that skipped nets are displayed in the summary table.

In .cdsenv:

layoutEAD.gui includeSkippedNets boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "includeSkippedNets" 'boolean nil)

Valid Values:

t

Nets with incomplete routing are extracted

nil

Nets with incomplete routing are not extracted

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – General tab

Field: Exclude Incomplete Nets

maxTooltipLength

Specifies the maximum number of lines to be displayed in the tooltip. This variable is especially helpful in adjusting the size of tooltips that display the constraint results (violations and warnings) for nets. For example, the tooltips for cells in the Total R column on the R tab of the EAD Browser. If the tooltip text gets truncated, you can either increase the number of lines to be displayed in the tooltip or use the View Constraint Data command in the context-sensitive menu of the net to view complete results.

In .cdsenv:

layoutEAD.gui maxTooltipLength int 25

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "maxTooltipLength" 'int 25)

Valid Values:

integer

A positive integer value

Default Value:

20

GUI Equivalent:

None

netGroupsPath

Specifies the path to the net group state .ini files for saving and reading the net group data. The net groups are saved in the <library-name>/<cell-name> directory in the specified path. By default, the net groups are saved in the .cadence directory.

In .cdsenv:

layoutEAD.gui netGroupsPath string "/usr/groupPath"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "netGroupsPath" 'string "/usr/groupPath")

Valid Values:

A string value defining the path to save the net group paths.

Default Value:

""

GUI Equivalent:

None

parasiticHighlightColor

Specifies the color used to dynamically highlight resistance paths in the layout canvas. Dynamic highlights are drawn when the pointer is moved over a resistance value in the parasitic and EM tables in the EAD Browser. By default, these are drawn in a different color than the resistance paths that are selected in the EAD Browser (see selectedParasiticHighlightColor for more information).

In .cdsenv:

layoutEAD.gui parasiticHighlightColor string "white"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "parasiticHighlightColor" 'string "white")

Valid Values:

Any color defined in the display resources file loaded in the current session. For more information, see the Virtuoso Technology Data User Guide.

Default Value:

white

GUI Equivalent:

None

P2PSnapping

Specifies where to snap the points created for point-to-point info balloons.

In .cdsenv:

layoutEAD.gui P2PSnapping cyclic "term"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "P2PSnapping" 'cyclic "node")

Valid Values:

"node"

Snaps the point to the nearest node

"term"

Snaps the point to the nearest terminal

"off"

Does not snap the points. They are created at the selected point.

Default Value:

"node"

GUI Equivalent:

None

resistanceDisplay

Specifies how to highlight resistance paths and resistors on the layout canvas.

In .cdsenv:

layoutEAD.gui resistanceDisplay cyclic "resistor"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "resistanceDisplay" 'cyclic "resistor")

Valid Values:

"resistor"

Uses a resistor symbol to highlight resistance paths and resistors.

"halo"

Uses a halo to highlight resistance paths and resistors.

Default Value:

"resistor"

GUI Equivalent:

None

displayP2PResistancePath

Specifies whether to show resistance paths while displaying a point-to-point info balloon. If the resistance paths are shown, you can choose to show all the paths or only the shortest path containing the limiting resistor.

In .cdsenv:

layoutEAD.gui displayP2PResistancePath cyclic "singlePath"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "displayP2PResistancePath" 'cyclic "singlePath")

Valid Values:

"singlePath"

Only one resistance path between the start and end point is shown. This is the shortest path containing the limiting resistor.

"allPaths"

All resistance paths between the start and end point are shown.

"none"

Does not show any resistance path

Default Value:

"none"

GUI Equivalent:

None

Also see:

resistancePathsTableTimeout

Specifies the time (in second) to be allocated for searching the resistance paths for the net selected in the summary pane. If all the resistance paths are not resolved, you can use the Search feature to explicitly select and resolve the required paths.

In .cdsenv:

layoutEAD.gui resistancePathsTableTimeout float 5.0

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "resistancePathsTableTimeout" 'float 2.0)

Valid Values:

A positive float value specifying the time (in seconds) to be allocated for searching the resistance paths for the selected nets.

Value 0 indicates that there is no time limit.

Default Value:

2.0

GUI Equivalent:

None

saveStateOnClose

Automatically restores EAD to a state in which the design was last exited.

In .cdsenv:

layoutEAD.gui saveStateOnClose boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "saveStateOnClose" 'boolean nil)

Valid Values:

t

Automatically restores the EAD state.

nil

Does not restore the EAD state automatically

Default Value:

nil

GUI Equivalent:

None

saveUserSpecificSetups

Stores setups in user-specified locations instead of the default location in the .cadence directory.

In .cdsenv:

layoutEAD.gui saveUserSpecificSetups boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "saveUserSpecificSetups" 'boolean nil)

Valid Values:

t

Setups are saved in a user-specific .cadence directory

nil

Setups are saved in the default .cadence directory

Default Value:

nil

GUI Equivalent:

None

selectNetsInLayout

Automatically selects nets in the layout when they are selected in the EAD Browser.

In .cdsenv:

layoutEAD.gui selectNetsInLayout boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "selectNetsInLayout" 'boolean nil)

Valid Values:

t

Nets are automatically selected in the layout view

nil

Nets are not automatically selected in the layout view

Default Value:

nil

GUI Equivalent:

Command: Layout EAD Options – Environment tab

Field: Select Nets in Layout

selectedParasiticHighlightColor

Specifies the color used in the layout canvas to highlight resistance paths selected in the EAD Browser. By default, paths that are selected are drawn in a different color than the dynamic highlights that appear when the pointer moves over a value in the EAD Browser tables (see parasiticHighlightColor for more information).

In .cdsenv:

layoutEAD.gui selectedParasiticHighlightColor string "tan"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "selectedParasiticHighlightColor" 'string "tan")

Valid Values:

Any color defined in the display resources file loaded in the current session. For more information, see the Virtuoso Technology Data User Guide.

Default Value:

tan

GUI Equivalent:

None

significantDigits

Specifies the number of significant digits to use throughout the EAD Browser tables.

In .cdsenv:

layoutEAD.gui significantDigits int 4

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "significantDigits" 'int 4)

Valid Values:

int

Positive integer value specifying the number of significant digits to use

Default Value:

4

GUI Equivalent:

None

statePath

Specifies the path to the directory to be used to save or load EAD state data. See the Working with EAD States section for more information.

Ensure that the directory already exists in the specified path and you have the read/write permission to the directory.

In .cdsenv:

layoutEAD.gui statePath string ""

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "statePath" 'string "<path_to_the_directory")

Valid Values:

A string value specifying the directory path to save or load EAD state data.

Default Value:

""

An empty string.

GUI Equivalent:

None

strikeOutDeletedDatasets

Specifies whether the names of datasets deleted from the constraint view should appear in the strikethrough font style in the context-menu of column headers on the EM tab. You can remove such datasets from this list by using the Delete Electrical Data command on the EAD toolbar.

In .cdsenv:

layoutEAD.gui strikeOutDeletedDatasets boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "strikeOutDeletedDatasets" 'boolean t)

Valid Values:

t

The names of deleted datasets appear in the strikethrough font style

nil

The names of deleted datasets do not appear in the strikethrough font style

Default Value:

t

GUI Equivalent:

None

updateP2POnDrag

Enables or disables update of point-to-point info balloons while you move the pointer over a net after selecting the first point.

In .cdsenv:

layoutEAD.gui updateP2POnDrag boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "updateP2POnDrag" 'boolean t)

Valid Values:

t

After the first point is selected, EAD updates the data in info balloons while you move the pointer as per the delay (in seconds) specified using the clickClickUpdateDelay environment variable.

nil

Info balloons are updated only after the second point is selected. They are not updated while you move the pointer towards the second point.

Default Value:

t

GUI Equivalent:

None

Also see: Using Point-To-Point Info Balloons

violationLevels

Specifies the ranges and colors used for EM violation highlighting.

In .cdsenv:

layoutEAD.gui violationLevels string "100:red 75:orange"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "violationLevels" 'string "100:red 75:orange")

Valid Values:

string

List of violation level values and the colors used to represent them in the EAD Browser.

Default Value:

100:red 75:orange

Violations between 76% and 100% of the limit are highlighted in red; violations up to 75% of the limit are highlighted in orange

GUI Equivalent:

Command: Layout EAD Options – Environment tab

Field: EM Violation Highlighting

violationPacketStipple

Specifies the stipple pattern to use when highlighting EM violations.

In .cdsenv:

layoutEAD.gui violationPacketStipple string "solid"

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "violationPacketStipple" 'string "solid")

Valid Values:

string

String specifying the stipple pattern to use

Default Value:

solid

GUI Equivalent:

None

violationTransparency

Specifies the default value for the Highlight Transparency slider in the EM tab toolbar. Choose a percentage value between 1 and 60.

See Highlighting and Fixing Violations in the Layout Window for more information.

In .cdsenv:

layoutEAD.gui violationTransparency int 30

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "violationTransparency" 'int 30)

Valid Values:

int

Integer value between 1 and 60 inclusive specifying the percentage transparency of the violation overlay highlights.

Default Value:

30

GUI Equivalent:

Command: Highlight Transparency (EM tab toolbar)

warnOnTemperatureMismatch

Specifies that a warning popup is displayed if EM, extraction, or dataset temperatures do not match.

In .cdsenv:

layoutEAD.gui warnOnTemperatureMismatch boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "warnOnTemperatureMismatch" 'boolean t)

Valid Values:

t

A warning popup is displayed

nil

No warning popup is displayed

Default Value:

t

GUI Equivalent:

None

warnOnTemperatureOutOfRange

During EM checks, Virtuoso compares the user-specified EM temperature at which the current limit is to be calculated with the reference temperature range specified by the EM rules in eadTechFile or emDataFile. If the user-specified EM temperature is out of the range boundaries specified by the EM rules, a warning pop-up message is displayed with the names of layers for which the temperature values will be readjusted to the nearest reference value. This environment variable enables or disables the display of such warning messages.

When the Use Dataset Value check box on the EM tab of the Layout EAD Options form is selected, the user-specified EM temperature is the temperature value in the dataset saved from ADE Assembler. If the check box is cleared, it is the temperature value specified in the EM Temperature field.

In .cdsenv:

layoutEAD.gui warnOnTemperatureOutOfRange boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "warnOnTemperatureOutOfRange" 'boolean t)

Valid Values:

t

A warning popup is displayed

nil

No warning popup is displayed

Default Value:

t

GUI Equivalent:

None

warnWhenEMDataSourceIsInvalid

When initializing the EAD environment using the given setup information, EAD checks for the existence of the given EM data source file (EM data file, ICT file, or ICT-EM file). If the specified file is not found at the given location or is not readable, a warning message is displayed. This variable enables or disables the display of that warning message.

In .cdsenv:

layoutEAD.gui warnWhenEMDataSourceIsInvalid boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "warnWhenEMDataSourceIsInvalid" 'boolean t)

Valid Values:

t

A warning popup is displayed if the EM data source file is not found or is not readable

nil

No warning popup is displayed if the EM data source file is not found or is not readable

Default Value:

t

GUI Equivalent:

None

warnWhenNoParasiticsForDSPF

EAD displays the following warning message if you try to generate a DSPF file when there are no parasitic results saved in the OA database:

"Cannot generate a DSPF file because parasitics have not been extracted from the layout. Run the 'Extract Parasitics' command to extract the parasitics and then generate a DSPF file."

This variable enables or disables the display of this warning message.

In .cdsenv:

layoutEAD.gui warnWhenNoParasiticsForDSPF
boolean t

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "warnWhenNoParasiticsForDSPF
" 'boolean t)

Valid Values:

t

A warning message is displayed when generating the DSPF file if there are no parasitic results saved in the OA database.

nil

No warning message is displayed.

Default Value:

t

GUI Equivalent:

None

loadStateOnOpen

Automatically loads an EAD state on startup.

In .cdsenv:

layoutEAD.gui loadStateOnOpen boolean nil

In .cdsinit or the CIW:

envSetVal("layoutEAD.gui" "loadStateOnOpen" 'boolean nil)

Valid Values:

t

Automatically loads the EAD state on startup.

nil

Does not load the EAD state automatically

Default Value:

nil

GUI Equivalent:

None

enableEMCalculator

layoutEAD.gui enableEMCalculator boolean {t | nil}

Description

Specifies whether to show the EM Calculator command in the context-sensitive menu when you right-click a net in the summary pane of the EAD Browser.

The default value is nil, which indicates that the EM Calculator command is hidden by default.

GUI Equivalent

Command

Right-click a net in the summary pane of the EAD Browser

Field

EM Calculator

Examples

envGetVal("layoutEAD.gui" "enableEMCalculator")
envSetVal("layoutEAD.gui" "enableEMCalculator" 'boolean t)

showEMPlannerWindow

layoutEAD.gui showEMPlannerWindow boolean {t | nil}

Description

Specifies whether to open the EM Calculator as a floating window or as a docked widget inside the EAD Browser.

The default value is t, which indicates that the EM Calculator opens as a floating window.

GUI Equivalent

None

Examples

envGetVal("layoutEAD.gui" "showEMPlannerWindow")
envSetVal("layoutEAD.gui" "showEMPlannerWindow" 'boolean nil)

Related Topics

enableEMCalculator

showRecommendedTracks

layoutEAD.gui showRecommendedTracks boolean {t | nil}

Description

Specifies whether to display the Tracks column in the EM Results table.

The default value is nil, which indicates that the Tracks column is not displayed in the EM Results table.

The Track column in the EM Results table shows the addition number of tracks recommended to fix the reported EM violations.

The total number of recommended tracks is calculated using the following formula.

Where:

If the expression of the recommended tracks evaluates to a floating point number, the value is rounded to the next integer. For example, if the expression evaluates to 10.45, it is rounded to the next integer, 11. The value displayed in the Tracks column is one less than the calculated value of the recommended number of tracks.

GUI Equivalent

The Tracks column in the EM Results table

Examples

envGetVal("layoutEAD.gui" "showRecommendedTracks")
envSetVal("layoutEAD.gui" "showRecommendedTracks" 'boolean t)

showTracksWithoutWSP

layoutEAD.gui showTracksWithoutWSP boolean {t | nil}

Description

Specifies whether to display the Tracks column in the results table of the EM Calculator.

The default value is nil, which indicates that the Tracks column is not displayed in the results table of the EM Calculator.

GUI Equivalent

Command

None

Field

The Tracks column in the results table of the EM Calculator

Examples

envGetVal("layoutEAD.gui" "showTracksWithoutWSP")
envSetVal("layoutEAD.gui" "showTracksWithoutWSP" 'boolean t)

Related Topics

enableEMCalculator

Results Table

useWSPGroupNames

layoutEAD.gui useWSPGroupNames boolean {t | nil}

Description

Specifies whether to use widths from a WSP group or from an RSP group when calculating EM limits for a net.

The default value is nil, which indicates that the widths are used from the RSP group.

GUI Equivalent

Command

None

Field

The drop-down list displayed next to the RSP/WSP check box in the EM Calculator

Examples

envGetVal("layoutEAD.gui" "useWSPGroupNames")
envSetVal("layoutEAD.gui" "useWSPGroupNames" 'boolean t)

Related Topics

enableEMCalculator

User-Specified Fields

p2t

EMStackTwigs

Adjusts the width of a twig that has an EM violation by performing stacked stranding.

In .cdsenv:

p2t EMStackTwigs boolean t

In .cdsinit or the CIW:

envSetVal("p2t" "EMStackTwigs" 'boolean t)

Valid Values:

t

Stacked stranding is performed for twigs with EM violations.

nil

Twigs with EM violations are ignored.

Default Value:

nil

GUI Equivalent:

Stack Twigs

EMFillStackedTrunksWithVias

Applies to trunks that are optimized using the Stacked Stranding trunk optimization style.

In .cdsenv:

p2t EMFillStackedTrunksWithVias boolean t

In .cdsinit or the CIW:

envSetVal("p2t" "EMFillStackedTrunksWithVias" 'boolean t)

Valid Values:

t

Additional vias are inserted along the entire stack of trunks after stacked stranding is done.

nil

Via addition after stacked stranding is ignored.

Default Value:

nil

GUI Equivalent:

Fill Stack trunks with Vias

EMAllowDRCViolations

Allows DRC violations (shorts and spacing errors) when trunks, twigs, and vias are expanded to remove EM violations.

In .cdsenv:

p2t EMAllowDRCViolations boolean t

In .cdsinit or the CIW:

envSetVal("p2t" "EMAllowDRCViolations" 'boolean t)

Valid Values:

t

Allows DRC violations (shorts, spacing errors) when trunks, twigs, and vias are expanded.

nil

DRC violations are not allowed.

Default Value:

nil

GUI Equivalent:

Prefer DRC Violations to EM Violations

EMOptimizationMode

Specifies the EM trunk optimization command.

In .cdsenv:

p2t EMOptimizationMode cyclic "Expand"

In .cdsinit or the CIW:

envSetVal("p2t" "EMOptimizationMode" 'cyclic "Expand")

Valid Values:

Expand

Expands the width of trunks and increases the number of cuts in via arrays according to the hints provided by EAD.

Shrink

Reduces the width of the oversized trunks and the number of cuts of oversized via arrays.

Shrink And Expand

This option consists of two steps:

  • Shrink trunks and via arrays by running the Shrink Oversized Trunks command.
  • Expand trunks and vias by running the Expand To Fix EM Violations command.

Default Value:

Expand

GUI Equivalent:

Optimize Trunk Width for Complete Network

EMTrunkStrandMode

Selects the style for optimizing a trunk to resolve EM violations.

In .cdsenv:

p2t EMTrunkStrandMode cyclic "Parallel"

In .cdsinit or the CIW:

envSetVal("p2t" "EMTrunkStrandMode" 'cyclic "Parallel")

Valid Values:

None

Widens the trunks to fix EM violations.

Parallel

Inserts additional parallel trunks to fix EM violations.

Stack

Stacks the trunks to fix EM violations.

Default Value:

None

GUI Equivalent:

Select Trunk Optimization Style

EMTrunkTapering

Enables trunk tapering during trunk widening. Trunk tapering works for only the widen style and not for parallel or stacked stranding.

In .cdsenv:

p2t EMTrunkTapering boolean t

In .cdsinit or the CIW:

envSetVal("p2t" "EMTrunkTapering" 'boolean t)

Valid Values:

t

Enables trunk tapering

nil

Disables trunk tapering

Default Value:

nil

GUI Equivalent:

Toggle Trunk Tapering for Complete Network

Related Topics

Fixing Violations Using EM Driven Trunk Optimization

P2T EM Optimization

EAD Toolbar


Return to top
 ⠀
X