Reliability Analysis (reliability)
Description
This analysis computes the reliability for MOSFETs and the circuit. The three reliability modules are:
1. MOSFET Hot-Carrier Injection(HCI) module:
Predicts transistor and circuit performance degradation due to HCI effects.
2. PMOSFET Negative Bias Temperature Instability(NBTI) module:
Predicts PMOSFET and circuit performance degradation due to NBTI and NBTI recovery effects.
3. NMOSFET Positive Bias Temperature Instability(PBTI) module:
Predicts NMOSFET and circuit performance degradation due to PBTI effects.
name reliability <global options> {
<reliability control statements> ...
<stress simulation statements> ...
<aging testbench statements> ...
<aging/post-stress simulation statements> ...
The other four sections should be listed in the specified order.
Syntax
Name reliability parameter=value ...
Parameters
Detailed Description and Examples:
The duration in the future at which the transistor degradation and degraded SPICE model parameters are to be calculated. The degraded SPICE model parameters are used in aged circuit simulation. The calculated transistor degradation can be transconductance, linear or saturation drain current, degradation, threshold voltage shift, and or any other degradation monitor. While specifying the value, attach the suffix y (year), h (hour) or m (minute). There should be no space between the number and suffix. For example, 10m, 1e-5sec. Note: Currently, specifying multiple time values is not supported.
Requests the calculation of lifetime for each transistor under the circuit operating conditions using the specified degradation value. You can use multiple deltad statements for different types of transistors. The degradation value can be transconductance, linear or saturation drain current degradation, threshold voltage shift, or any other degradation monitor, depending on the definitions of the lifetime parameters H and m. deltad_value can be in decimal notation (xx.xx) or in engineering notation (x.xxe+xx).
maskdev type={include | exclude} {sub=<subckt_list> | mod=<model_list> | dev=<device_list>}
Includes or excludes the specified devices or the devices that belong to the listed subcircuit or model during reliability analysis. Note: Starting from the MMSIM10.1 version, the include and exclude values are mutually exclusive.
report_model_param value={yes | no}(defaults to no)
Determines whether to print the stress and aged parameters in the.bm# file. Possible values are yes and no. When set to yes, the stress and aged parameters are printed to the .bm# file.
accuracy level={1 | 2}(defaults to 1)
Specifies methods used in the reliability simulation when performing integration and substrate current calculation. In other words, specifies trapezoidal integration when performing integrations and calculates Isub for Vgs < Vth. When set to 1, the software uses backward Euler integration and sets Isub=0 when Vgs < Vth. When set to 2, the software uses trapezoidal integration and calculates Isub when Vgs < Vth. Setting accuracy to 2 is more accurate, but increases simulation time when compared to when accuracy is set to 1.
Specifies the smallest Age value for which degraded SPICE model parameters are calculated. This statement speeds up aging calculation by using stress SPICE model parameters if the transistor Age value is smaller than the specified minage_value. minage_value can be in decimal notation (xx.xx) or in engineering notation (x.xxe+xx).
igatemethod type={calc | spice}(defaults to calc)
Specifies the method used for obtaining the gate terminal current of a MOSFET. During MOSFET HCI simulation, the gate terminal current is required for calculating the degradation value. The simulator can either calculate this value or obtain it from the SPICE output rawfile if the SPICE simulator in use provides such an option. If this command is not used, the simulator calculates the gate terminal current by using its own model parameters. Possible values are calc (default) and spice. When calc is specified, the gate terminal current is calculated using the model parameters and when spice is specified, the gate terminal current value is obtained from the SPICE output rawfile.
idmethod type={ids | idrain}(defaults to ids)
Specifies how the simulator obtains the drain current (Id) to perform reliability calculations. The following types of drain currents, which are available from SPICE, are supported by reliability analysis:
* Dynamic drain current (also called AC drain current) - this is the current that flows in to the drain node.
* Static drain current (also called channel drain current, DC drain current, or Ids) Possible values are ids (Ids static current ) or idrain (dynamic drain current). Default: ids.
uri_lib file={"filename"} uri_mode={agemos | appendage} debug={0 | 1}
Loads the Unified Reliability interface (URI) shared library and specifies which method (uri_mode) should be used to perform aging simulation. Note: appendage mode is not supported in the MMSIM10.1 release.
relx_tran start=<start_time> stop=<stop_time>
Specifies the start and stop time for reliability analysis during transient analysis. If stop_time is not specified, the software stops in .tran statement.
isubmethod type={calc | spice}(defaults to calc)
Specifies the method used for obtaining substrate terminal current of a MOSFET. During MOSFET HCI simulation, the substrate terminal current is required for calculating the degradation value. The Spectre RelXpert simulator can either calculate this value or obtain it from the SPICE output rawfile if the SPICE simulator in use provides such an option. If this command is not used, the simulator calculates the substrate terminal current by using its own model parameters. Possible values are calc (default) and spice. When calc is specified, the substrate terminal current is calculated using the model parameters and when spice is specified, the substrate terminal current value is obtained from the SPICE output rawfile.n
opmethod type={calc | spice}(defaults to calc)
Specifies whether the Igate or Isub value should be obtained from the SPICE models (for example, BSIM3 or BSIM4) or the internal Igate or Isub equation should be used. Possible values are calc or spice. calc calculates the gate and substrate terminal current using the Cadence Igate and Isub model equations (Default). spice obtains the gate and substrate terminal current value from the SPICE model.
degsort {threshold=<threshold_value> | number=<number_value>}
Prints MOS transistors based on the threshold value or number settings. The results are sorted in the descending order of degradation. Note: The threshold and number arguments are mutually exclusive. Therefore, only one of them can be specified with degsort to print the sorted device degradation results. When threshold_value is specified, the transistors having degradation values greater than threshold value are printed. The threshold value can be in decimal notation (xx.xx) or in engineering notation (x.xxe+xx). When number_value is specified, only the first <number_value> transistors having the highest degradations are printed. For example, if number=100, the software will print the first 100 transistors with highest degradations.
agelevel_only value=[<level_value> <model_list>, <level_value> <model_list>, ...]
Specifies the age level for performing reliability analysis on the specified model(s). You can specify different age levels for different set of models. Note: This option also supports the URI defined agelevel statement. If model names are not specified, the simulation is performed on all of the devices at the specified age level. The following levels can be used to specify Cadence internal ageMOS models:
* 1: Specifies HCI reliability analysis.
* 2: Specifies NBTI reliability analysis.
* 3: Specifies PBTI reliability analysis.
Example
rel reliability {
// reliability control statements
age time = [10h 20y 30y]
deltad value = 0.1
accuracy level = 2
agelevel_only value=[0 nch, 1 pch]
relx_tran start=1us stop=10us
idmethod type=idrain
maskdev type=include mod=[pch] dev=[mdut6] sub=[inv]
minage value = 0.00001
report_model_param value=yes
uri_lib file="./libURI.so" uri_mode=agemos debug=1
degsort number=100
igatemethod type=spice
isubmethod type=spice
opmethod type=spice
// stress/stress statements.
tran_stress tran start=0 step=1us stop=10us
// aging testbench statements.
change1 alter param=rel_temp value=125
// aging simulation statements.
tran_aged tran start = 0 step = 1us stop = 10us
}
Return to top