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

13


Variables

Overview

This chapter provides a list of variables that you can specify in Voltus-Fi-L. You can set these variables in the GUI and in the batch mode.

In the GUI, you can set these variables in the Variables form, which opens when you click Variables in the EM tab of the IR/EM Results form. For details, see “The EM Analysis GUI Flow” in the “EM Analysis Results” chapter.

In the batch mode, you can set these variables using the set_variable and emirutil commands.

Information about how these variables can be set in both the batch mode and in the GUI is provided in the following sections:

Using the set_variable Command in the Voltus-Fi Command File

When using the vfibatch command to run Voltus-Fi-L in batch mode, you can set the variables using the set_variable command. The syntax of the command and an example is provided below.

set_variable

set_variable var_name var_value

Sets the user-specified value for the variable in the batch mode.

Parameters

var_name

Specifies the name of the variable for which you want to set the value.

var_value

Specifies the value that you want to set for the variable.

Example:

The following command sets the value of the variable, dbu to 10000:

set_variable dbu 10000

Using the emirutil Command in the EMIR Control File

When using the EMIR control file to generate textual reports of EMIR results in the batch mode, you can set the variables using the emirutil command in the control file. The command syntax and example are provided below.

emirutil <var_name=var_value>

Example:

The following commands set the values of variables, deltaT, dbu, and dynamicACPeak to 10, 500, and false, respectively.

emirutil deltaT=10.0
emirutil dbu=500
emirutil dynamicACPeak=false

For details of the supported EMIR control file options, see EMIR Control File Options Supported in Voltus-Fi-L in the “Batch Mode Execution” chapter.

Setting the Configuration Variable in the Batch Mode

You can set the configuration variable, dbu or cadGrid using either the set_variable command or the emirutil command.

The configuration variable, dbu, specifies the number of database units (DBU) per micron for the layout view. The default value of dbu is 1000.

The cadGrid variable specifies the resolution of the software in terms of the width and length, and the unit of measurement is micrometer or micron. The default value of cadGrid is 0.001.

The value of the dbu variable is 1/cadGrid. If both dbu and cadGrid are specified, the dbu variable value is given priority.

The above variables are specified only in the batch mode when the view information is not specified in either the vfibatch command file or in the emir configuration file. They are not required to be specified when running the tool in the GUI mode because it is read from the open view. If this variable is not specified, the tool uses the default value.

For more information about how this variable is set in the Virtuoso Layout, see “Layout L Forms” chapter in the Virtuoso Layout Suite L User Guide.

Using the Variables in the Voltus-Fi-L GUI

The following variables can be specified using the Variables form that can be accessed from the EM tab of the IR/EM Results form:

The above variables are described in detail in the subsequent sections.

applyRThreshold

Specifies the threshold ratio “r” for AC-Peak analysis. The default value of the threshold ratio is 0.05.

deltaT

Specifies the maximum rise in temperature in degree Celsius, caused due to Joule heating. It must be a positive value.

If the rise in temperature is not specified, Voltus-Fi-L considers a default temperature of 5 degrees Celsius. This is an ideal condition in which the design must be EM free.

deltaT can be used in defining the Current Density limit: Irms. For example:

em_jmax_ac_rms  EQU (w - 0.004) * 1.24 * deltaT

disableLayoutScale

Disables the layout_scale factor defined in the ICT file. The layout_scale factor is the ratio of the scaled dimensions to the drawn dimensions. The ICT file is defined based on the scaled dimensions. Quantus QRC applies the layout_scale factor to the input design during extraction so that the design dimensions and the ICT file dimensions are consistent.

When the disableLayoutScale variable is set to true, the layout_scale factor specified in the ICT file is ignored in the Voltus-Fi-L EM analysis flow. By default, this variable is set to false.

dynamicACPeak

Specifies that the Current Density violations should be calculated based on the peak AC current for metal lines, vias, and contacts. It is applied to periodic AC or pulsed DC signals. Valid values are true, false, and multiplePeak. When the multiplePeak option is specified, the software considers multiple peaks for the AC peak calculations.

Ipeak_ac=Ipeak_dc/(r)1/2

where duty ratio “r” is:

r=Iabs-avg / Ipeak_dc, by default (“false”)

And

r=Td/Ttotal, when the dynamicACPeak variable is set.

Ttotal=total transient time

Td=the time duration in micro second or the total “On Time” period, where abs(I)>(max(abs(I)/2.0) during transient analysis

Voltus-Fi-L does not exactly calculate Td as the max(abs(I)/2.0) period. Instead, it calculates Td by measuring the pulse at half energy level. This is because of performance reasons. The parameter pwc_threshold defines the current threshold for finding the start of the pulse. The pwc_threshold value is specified using the emirutil command in the EMIR configuration file. The default value is 1e-06(1uA)

When the parameter halfPeakAnalysis is set to true, Voltus-Fi-L exactly calculates the Td as the max(abs(I)/2.0) period.

Td has the following different values depending upon the value of dynamicACPeak:

Note: The software replaces the value of “r” with the value of applyRThreshold if the value of “r” is < than that of applyRThreshold. This is because a small “r” value results in an unreasonable increase in the Ipeak_ac limit. To avoid this scenario, use the applyR keyword to reset the value of “r” in the ICT file, or change the value of the applyRThreshold variable, either in the Variables form or in the batch mode.

emLimitScale

Scales the EM limits of the parasitic resistors in the design before generating the EM reports. You can either apply the same scale factor to all the nets, or specify different scale factors for different nets. Both use models are detailed below.

enableDesignResistorPeakFactor

Specifies the addition of the factor, 1/(r)1/2, in the current limit calculation for the AC-Peak analysis of the design resistor.

By default, the software calculates the current limit for the AC-Peak analysis of the design resistor using the following equation:

Ipeak_ac(limit)= Ipeak_dc(limit)

Apply the factor, 1/(r)1/2,in your calculation, then set the enableDesignResistorPeakFactor variable to true. The current limit will then be calculated in the following manner:

Ipeak_ac(limit)= Ipeak_dc(limit)/(r)1/2

By default, this variable is set to false.

enableDesignResistorScaling

Enables the scaling of the width and length values based on the layout_scale factor specified in the technology file before the EM rules are applied for EM analysis of design resistors. By default, this variable is set to true. In the GUI, you can set this variable in the Variables form.

In the batch mode, you can set this variable in the vfibatch command file by using the following command:

set_variable enableDesignResistorScaling false

You can also set this variable in the EMIR control file by using the following command:

emirutil enableDesignResistorScaling=false

extendPWLMatch

When the EM rules are specified in terms of piece-wise linear (PWL) and the width of metal or the area of via does not match exactly with any width/area of the PWL, the EM limit will not be calculated for this metal resistor/via.

When this variable is set to true, the software interpolates the limit value for the resistor/via from the selected rule PWL as follows:

The minimum of PWL ith value *(metal's width or via's area)/(PWL ith width or PWL area)

halfPeakAnalysis

Defines the time duration, Td as the duration for which the pulse current is greater than half the peak current (Ipeak) value for dynamic AC peak analysis. By default, this variable is set to false.

In the batch mode, you can set this variable in the vfibatch command file by using the following command:

set_variable halfPeakAnalysis true

You can also set this variable in the EMIR control file by using the following command:

emirutil halfPeakAnalysis=true

optimisticEMRuleSelection

Specifies whether optimistic or pessimistic values are selected for the specified rules. This is applicable when multiple rules are selected after all the conditions match.

By default, the variable is set to false. This means that the pessimistic value is selected.

powerRailSupplyNets

Specifies the supply nets to be used for power-rail analysis. The available options are list of supply nets and “” (empty string).

This variable accepts wildcards. For example:
powerRailSupplyNets=”vdd vddp*”

powerRailRules

Specifies rules for power-rail analysis. The available options are: off, default, and advance.

powerRailGroundNets

Specifies the ground nets to be used for power-rail analysis. The available options are list of ground nets and “” (empty string).

This variable accepts wildcards. For example:
powerRailGroundNets=”vss vssp*”

process_scale

Specifies the value by which the width and length values will be multiplied before the EM rules are applied. The default value of this variable is 1. In the GUI, you can set this variable in the Variables form that opens from the EM tab of the IR/EM Results form. In the batch mode, you can set this variable in the vfibatch command file by using the following command:

set_variable process_scale 0.8

You can also set this variable in the EMIR control file by using the following command:

emirutil process_scale=0.8

prioritizedPwlRulesLayers

Specifies the list of layers for which area-based PWL search is performed first. When no match is found, non-PWL rules are used. The default value of this variable is “all”, which means that this behavior is enabled for all layers.

To enable the behavior for specific layers, you can specify a list of layers.

To disable this behavior for all layers, set the value of this variable to "none". In the GUI, you can set this variable in the Variables form.

In the batch mode, you can set this variable in the vfibatch command file by using the following command:

set_variable prioritizedPwlRulesLayers none

You can also set this variable in the EMIR control file by using the following command:

emirutil prioritizedPwlRulesLayers=none

pwc_threshold

Defines the current (I) threshold value for locating the start of the pulse to calculate the time duration, Td for dynamic AC peak analysis. The default value is 1e-06(1uA).

In the batch mode, you can set this variable in the vfibatch command file by using the following command:

set_variable pwc_threshold 1e-06

You can also set this variable in the EMIR control file by using the following command:

emirutil pwc_threshold =1e-06

reportUnmatchedRuleResistor

When set to true, specifies that resistors that do not match any EM rule for the specified analysis in the ICT file will be reported in the “#.rpt_unmatch” file. The default value of this variable is true. Also, the summary report file, summary.rpt, will report a count of such resistors in a separate column. For example, “iacpeak_num_unmatch”.

If you do not want to create the #.rpt_unmatch file, set this variable to false. You can also set this variable in the config file in the following manner:

emirutil reportUnmatchedRuleResistor=false

For details, see EMIR Control File Options Supported in Voltus-Fi-L.

rmsMetalLineNumberSignal

Specifies the value of power on the metal lines for RMS EM analysis of signal nets.

If this option is not specified, the default value of 0 is considered, which means the software uses the em_ac_rms_metal_line_num value specified in the ICT file.

However, if this option is specified, it overrides the em_ac_rms_metal_line_num value specified in the ICT file.

You can also set this variable in the config file in the following manner:

emirutil rmsMetalLineNumberSignal=number

The default value is 0.

rmsMultiplierPin

Specifies the RMS relaxation factor for EM analysis of power grids. The default value is 1.0.

rmsMultiplierSignal

Specifies the RMS relaxation factor for EM analysis of signal nets. The default value is 1.0.

simpleSingleViaDefinition

The keyword, single is used to differentiate between a single square cut via and square via array. It is applicable to a square via, with width only equal to 'vc_width/min_width'. To support the single keyword for all the via sizes, set the simpleSingleViaDefinition variable to true.

By default, this variable is set to false.

You can also set this variable in the config file in the following manner:

emirutil simpleSingleViaDefinition=true

For details, see EMIR Control File Options Supported in Voltus-Fi-L.

splitACDCRules

Specifies different rules for EM analysis of power and signal nets. The default value is false. For details, see Rules for Specifying EM Analysis Type for Power and Ground Nets in the “EM Rules Specification” chapter.

Tj

Specifies the temperature to be used for EM analysis. The default value is Tsim or the temperature used while performing simulation.

Tlife

Specifies the lifetime for which the EM analysis will be performed. The default unit for this variable is years. You can also specify the value in hours. The tool will convert it into years. For example:

Tlife=”20000hours”

useRecoveryFactor

Specifies whether or not layer-wise recovery factor is to be used for calculating the average Current Density.

If the recovery factor is specified, then the average Current Density calculation is as follows:

iavg=max(|iavgpos|,|iavgneg|)- recovery_factor*min(|iavgpos|,|iavgneg|)

If not specified, then

iavg=iavgpos+iavgneg

where iavgpos is the average current in the positive direction and iavgneg is the average current in the negative direction


Return to top
 ⠀
X