13
Variables
- Overview
- Using the set_variable Command in the Voltus-Fi Command File
- Using the emirutil Command in the EMIR Control File
- Setting the Configuration Variable in the Batch Mode
- Using the Variables in the Voltus-Fi-L GUI
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 “
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
- Using the emirutil Command in the EMIR Control File
- Setting the Configuration Variable in the Batch Mode
- Using the Variables in the Voltus-Fi-L GUI
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
|
Specifies the name of the variable for which you want to set the value. |
|
The following command sets the value of the variable, dbu to 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.
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.
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:
- applyRThreshold
- deltaT
- disableLayoutScale
- dynamicACPeak
- emLimitScale
- enableDesignResistorPeakFactor
- enableDesignResistorScaling
- extendPWLMatch
- halfPeakAnalysis
- optimisticEMRuleSelection
- powerRailSupplyNets
- powerRailRules
- powerRailGroundNets
- process_scale
- prioritizedPwlRulesLayers
- pwc_threshold
- reportUnmatchedRuleResistor
- rmsMetalLineNumberSignal
- rmsMultiplierPin
- rmsMultiplierSignal
- simpleSingleViaDefinition
- splitACDCRules
- Tj
- Tlife
- useRecoveryFactor
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.
r=Iabs-avg / Ipeak_dc, by default (“false”)
r=Td/Ttotal, when the dynamicACPeak variable is set.
Td=the time duration in micro second or the total “On Time” period, where abs(I)>(max(abs(I)/2.0) during transient analysis
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:
-
Td=the time duration of maximum peak, whendynamicACPeakis set totrue -
Td=sum of time durations of different peaks,Td1+Td2+TdN....(whendynamicACPeakis set tomultiplePeak)
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.
-
To apply the same scale factor to the parasitic resistors of all the nets in the design, provide the value of the scale factor using this variable. For example,
emLimitScalescale_factor
emLimitScale 0.04 -
To apply different scale factors to different nets in the design, provide the name of the file that contains information about the net names and the corresponding scale factors to be applied to these nets. For example,
emLimitScalescale_factor_netfile
An example of the scale factor file is as follows:net_name1 scale_factor1 net_name2 scale_factor2
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).
-
“”(empty string):This is the default option. The software automatically identifies supply nets. - list of supply nets: Specifies the list of supply nets to be used for power-rail analysis. These nets will override the nets automatically identified by the software.
powerRailSupplyNets=”vdd vddp*”
powerRailRules
Specifies rules for power-rail analysis. The available options are: off, default, and advance.
-
off: The software ignores all the EM rules specified using thepower_railkeyword. -
default: Enables power-rail analysis. This is the default option. -
advance: Specifies the following:
powerRailGroundNets
Specifies the ground nets to be used for power-rail analysis. The available options are list of ground nets and “” (empty string).
-
“”(empty string):This is the default option. The software automatically identifies ground nets. - list of supply nets: Specifies the list of ground nets to be used for power-rail analysis. These nets will override the nets automatically identified by the software.
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:
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:
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
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:
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|)
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