17
Variables
This section provides a list of variables that you can specify in Voltus-Fi-XL. You can set these variables both in the GUI and in batch mode.
Variables Setup in Voltus-Fi-XL
The variables in Voltus-Fi-XL can be set in both the GUI and batch mode.
Batch Mode
In batch mode, you can set the variables using the set_variable and emirutil commands.
Using the set_variable Command: When using the vfibatch command to run Voltus-Fi-XL 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 var_name var_value
Sets the user-specified value for the variable in 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 database units per micron:
Using the emirutil Command: When using the EMIR control file to generate textual reports of EMIR results in Voltus-Fi-XL in batch mode, you can set the variables using the emirutil command in the control file. The command syntax and example is 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
Setting the Configuration Variable: 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 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 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 as it is read from the open view. If this variable is not specified, the tool uses the default value.
GUI Mode
In the GUI, you can set the variables in the Variables form, which can be accessed from the EM tab of the IR/EM Results form.
applyRThreshold
Specifies the threshold ratio “r” for AC-Peak analysis.
connectingODLayers
Specifies the list of layers to identify connecting ODs for heat sink effect. The default value is shown below.
connectingODLayers M0_OD M0_OD1 M0_OD2 MVIA0_1 MVIA0_2 M1
You can also set this variable in the EMIR control file by using the following command:
emirutil connectingODLayers=”M0_OD M0_OD1 M0_OD2 MVIA0_1 MVIA0_2 M1”
consolidatedReport
When this variable is set to true, consolidated EM and IR reports are generated for all available bin files. The default value of this variable is false.
coupledSH
When set to true, specifies that the thermal-aware DC EM flow should be enabled. By default, this variable is set to false.
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-XL considers a default temperature of 5 degrees Celsius. This is an ideal condition wherein the design must be EM free.
deltaT can be used for defining the current density limit: Irms. For example:
em_jmax_ac_rms EQU (w - 0.004) * 1.24 * deltaT
The deltaT option can also be specified in the control file by using the following command:
emirutil deltaT=temp_value
deltaTLayers
Specifies layer-specific deltaT values. The layers for which deltaT value is not specified, global deltaT value will be used. The syntax is as follows:
deltaTLayers “(layer=layer_name1 deltaT=temp_value1) (layer=layer_name2 deltaT=temp_value2)”
deltaTLayers “(layer=rhim hi_em=1 deltaT=25) (layer=rhim hi_em=0 deltaT=5) (layer=M7 deltaT=10)”
In the above example, hi_em=1 indicates high current carrying design resistor for which the deltaT value is 25 degree Celsius while hi_em=0 indicates general design resistor for which the deltaT value is 5 degree Celsius. The deltaT value for M7 layer is 10 degree Celsius.
This option can also be specified in the control file by using the following command:
emirutil deltaTLayers=[(layer=rhim hi_em=1 deltaT=25) (layer=rhim hi_em=0 deltaT=5) (layer=M7 deltaT=10)]
disableODSH
When set to true, disables the self-heating effect of devices in the SHE flow. By default, this variable is set to false.
You can also set this variable in the EMIR control file by using the following command:
disableHRSH
When set to true, disables the self-heating effect of design resistors in the SHE flow. By default, this variable is set to false.
You can also set this variable in the EMIR control file by using the following command:
disableLayoutScale
Disables the layout scale factor defined in the ICT file. The layout_scale factor is the ratio of the scaled dimensions divided by the drawn dimensions. The ICT file is defined based on the scaled dimensions. Quantus 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-XL 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 max(abs(I)/ 2.0) period. But it calculates Td by measuring the pulse at half energy level due to performance reason. The variable, pwc_threshold specified using the below command in the EMIR configuration file defines the current threshold for finding the start of the pulse.net analysis=[ipwc] pwc_threshold=1e-6
Td has the following different values depending upon the value of dynamicACPeak:
-
Td=the time duration of maximum peak, whendynamicACPeakis set to “true” -
Td=sum of time durations of different peaks,Td1+Td2+TdN....(whendynamicACPeakis set to “multiplePeak”)
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 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
emVariableValues
emVariableValues “(variable=configA value=#) (variable=configB value=#)”
Specifies the EM variable values for current density limit calculation in the GUI.
emVariableValues “(variable=configA value=20) (variable=configB value=10)”
the values of configA and configB variables are 20 and 10, respectively.
enableContextAwareSrmsRelaxation
enableContextAwareSrmsRelaxation true | false
When set to true, this option enables the context-aware RMS Relaxation flow. By default, the variable is set to false.
enableContextAwareSrmsRelaxation true
You can also set this variable in the EMIR control file by using the following command:
emirutil enableContextAwareSrmsRelaxation=true
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 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
enablePWLDensityInterpolation
Enables the current density calculation from the given PWL using current density and width, or current density and area linear interpolation for either the metal's width or the via's area. The calculation is only done when the metal’s width or the via’s area does not match the PWL width or area values.
By default, this variable is set to false. In the GUI, you can set this variable in the Variables form.
You can also set this variable in the EMIR control file by using the following command:
emirutil enablePWLDensityInterpolation=true
enableReportScaleParam
When set to true, this option reports the layout scale factor in the EM text report. In addition, the scaled dimensions for the path-length, width, needed Width, and viaArea fields are displayed in the EM analysis report and GUI.
When set to false, the drawn dimension values for the path-length, width, needed Width, and viaArea fields are displayed in the EM analysis report and GUI. By default, the variable is set to false. In the GUI, you can set this variable in the Variables form.
You can also set this variable in the EMIR control file by using the following command:
emirutil enableReportScaleParam=true
enableRMSHotSpotWaiving
Enables the RMS EM hot spot waiving analysis. By default, this feature is disabled. In the GUI, you can set this variable in the Variables form. In batch mode, you can set this variable in the vfibatch command file by using the following command:
set_variable enableRMSHotSpotWaiving true
You can also set this variable in the EMIR control file by using the following command:
emirutil enableRMSHotSpotWaiving=true
enableSHHeatSink
When set to true, specifies that the heat sink effect should be included in the SHE analysis. If this variable is set to true, ensure that heat sink models are available.
You can also set this variable in the EMIR control file by using the following command:
emirutil enableSHHeatSink=true
extendHeatSinkRange
Specifies the expanded region of the OD. The heat-sink structure inside this region can only act as heat sink for the specified OD shape.
The default value of this variable is 0.4.
You can also set this variable in the EMIR control file by using the following command:
emirutil extendHeatSinkRange=0.5
extendHRRange
Specifies the range of the design resistor shape expansion. The unit of this variable is um (micro meter).
The default value is 1.8 although it may be different for different process nodes.
You can also set this variable in the EMIR control file by using the following command:
extendJouleHeating
Specifies whether or not metal-shape expansion is to be done for joule-heating calculation. By default, this variable is set to false.
extendODRange
Specifies the range of the OD shape expansion. The unit of this variable is um (micro meter). The default value of this variable is 1.8.
extendMetalRange
Specifies the number of metal pitch for metal expansion. The default value of this variable is 0.
extendedPeakReport
Reports the timestamp of the maximum current for AC-Peak and Max analysis types in the EM analysis report, the .rpt_em file. It adds the Time column in the report. The default value is false.
extendPWLMatch
When the EM rules are specified in terms of PWL and the width of metal or the area of via does not match 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)
extendSHRegion
Specifies whether or not the OD shape extension is to be done. By default, this variable is set to false.
geounit
Defines the scaling of all DSPF geometry parameters (W, L, X, Y). It applies only to the *|NET section, and not to the instance section. The default value is 1.0e-6. The unit of this variable is meter.
geounit_wl
Defines the scaling of DSPF geometry parameters W and L. It applies only to the *|NET section, and not to the instance section. The default value is 1.0e-6. The unit of this variable is meter.
Note: If the geounit_WL and geounit options are specified together, the geounit_WL option takes precedence over the geounit option.
geounit_xy
Defines the scaling of DSPF geometry parameters X and Y. It applies only to the *|NET section, and not to the instance section. The default value is 1.0e-6. The unit of this variable is meter.
Note: If the geounit_xy and geounit options are specified together, the geounit_xy option takes precedence over the geounit option.
layermap
Specifies the mapping between the layer names in the simulation database to those specified in the technology files (qrcTechFile and ICT file) for the EM analysis flow. It maps the layer names in the xDSPF file to the ICT layer names. the syntax is provided below.
layermap (rcxLayer=rcx_layer_name1 ictLayer=ict_layer_name1) (rcxLayer=rcx_layer_name2 ictLayer=ict_layer_name2)
rcxLayer is the layer name in the simulation database
ictLayer is the layer name in the ICT EM file
layermap [(rcxLayer=M1 ictLayer=T1) (rcxLayer=M2 ictLayer=T2)]
This variable can also be set using the emirutil command.
It can also be specified in the command file as follows:
set_variable layermap “(rcxLayer=rcx_layer_name1 ictLayer=ict_layer_name1) (rcxLayer=rcx_layer_name2 ictLayer=ict_layer_name2)”
mdLayers
Specifies the list of metal diffusion layers that need to be combined for EM analysis. For example, to calculate the distance between terminal vias (Lv2v), for thermal analysis (SHE) and so on.
The default value is shown below.
MD_STI MD_OD MD_STI_SRM MD_OD_SRM M0_OD M0_STI MD_STI_CPP85 MD_OD_CPP85
This variable can also be set using the emirutil command.
mergeMDLayers
Enables combining of metal diffusion layers that are specified using the variable, mdLayers, for calculating the effective Blech length. When set to false, no merging of metal diffusion layers is done for Blech length calculation.
This variable can also be set using the emirutil command.
multiplePeakPercentThreshold
Specifies the threshold percentage for the peak current above which the Td for a particular peak is added to the final Td. This variable is applicable only when the dynamicACPeak analysis is set to multiPeak. The default value of this variables is 5.
This variable can also be set using the emirutil command.
optimisticEMRuleSelection
Specifies whether optimistic or pessimistic values are selected for the specified rules. This is applicable when multiple rules are selected after all conditions match.
By default, the variable is set to false. This means that the pessimistic value is selected.
powerRailGroundNets
Specifies the ground nets to be used for power-rail analysis. These nets will override the nets automatically identified by the software. By default, the software automatically identifies ground nets from the simulation database.
powerRailGroundNets is applicable only to EM analysis. IR analysis will not be affected with this variable.
powerRailGroundNets=”vss vssp*”
powerRailRules
Specifies rules for power-rail analysis. The available options are off, default, n5, n7, and advance.
-
off: The software ignores all EM rules specified using thepower_railkeyword. -
default: Enables power-rail analysis. -
n5: Sets the power-rail analysis rules for the N5 process node. -
n7: Sets the power-rail analysis rules for the N7 process node. -
advance: Specifies the following:
powerRailSupplyNets
Specifies the supply nets to be used for power-rail analysis. These nets will override the nets automatically identified by the software. By default, the software automatically identifies supply nets from the simulation database.
powerRailSupplyNets is applicable only to EM analysis. IR analysis will not be affected with this variable.
powerRailSupplyNets=”vdd vddp*”
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.
In 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, then 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 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
removeBulkShorting
When set to true, this variable removes bulk-shorting in the design. Bulk-shorting in the design results in an increase in the EM analysis runtime. This variable is only used as a troubleshooting option.
By Default, this variable is set to false.
removeBulkShorting true | false
You can also set this variable in the EMIR control file by using the following command:
emirutil removeBulkShorting=true
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. For example:
emirutil reportUnmatchedRuleResistor=false
rmsMetalLineNumberPower
Specifies the value of power on the metal lines for RMS EM analysis of power nets.
If this option is not specified, the default value of 0 is considered, which means the software uses the em_dc_rms_metal_line_num value specified in the ICT file.
However, if this option is specified, it overrides the em_dc_rms_metal_line_num value specified in the ICT file.
You can also set this variable in the conf file in the following manner:
emirutil rmsMetalLineNumberPower=number
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 conf 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.
shEMEffect
Specifies the basis for the re-evaluation of EM effect. Valid values are:
-
beolT: specifies that re-evaluation will be done on the basis of individualmetal BEOL_T. -
tiles_no.of divisions in x-direction X no. of divisions in y-direction: specifies that re-evaluation will be done on the basis of
tile BEOL_T.
shParamFile
Specifies the self-heating effect (SHE) analysis parameter file, which is required for plotting the SHE analysis plots. This file is used for deltaT FEOL calculation with finger and fin effect considerations.
shRmsLimitThreshold
Specifies the self-heating current limit for the violating resistors displayed in the jacrm_sh plot. The default value is 1e-10.
shXMLFile
Specifies the XML file to be used in the SHE analysis flow. This file is created by model cards with supporting self-heating as an input file for the final deltaT FEOL value calculation during simulation.
simpleSingleViaDefinition
The keyword, single is used to differentiate between a single square cut via and square via array. It is applicable to square via, with width equal to 'vc_width/min_width', only. 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 conf file in the following manner:
emirutil simpleSingleViaDefinition=true
splitACDCRules
Specifies different rules for EM analysis of power and signal nets. The default value is false.
Tj
Specifies the temperature to be used for EM analysis. The default value is Tsim or the temperature used while performing simulation.
Tambient
Specifies the ambient temperature for self-heating analysis. If this value is not specified, the software calculates it as Tj-deltaT.
You can also set this variable in the EMIR control file by using the following command:
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:
toggleNetFrequency
Specifies the frequency of the nets so that the tool can derive the Td (total on-time period) for multiple clock cycles. You can specify frequencies for different nets as shown below. Wild cards are also supported.
toggleNetFrequency ”(net1,frequency1) (net#,frequency#)”
toggleNetFrequency ”(CLK*,2.3e9) (NET1,4.6e9)”
toggleNetFrequencyFile
Specifies the name of the file that contains the net names and their corresponding frequency values. This file is used to specify the frequency of nets to compute the Td (total on-time period) for multiple clock cycles. This file contains net names separated by commas and the frequency values.
toggleNetFrequencyFile freq_file
A sample freq_file is shown below.
VDD, 2e08
D*, 4e08
GSS, 3e08
useEncryptedWidth
Specifies whether encrypted (silicon) width should be used or not. The default value of this variable is false, in which case, the software does not use the encrypted width from the DSPF. When set to true, the software uses the encrypted width but does not report both the width and the minimum width.
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
viaCountFromResistance
Specifies the number of vias when third-party DSPF with missing via count ($N) is used for EM analysis. The default value of this variable is false.
Return to top