# Diode

Piecewise or exponential diode

• Library:
• Simscape / Electrical / Semiconductors & Converters

## Description

The Diode block can represent either a piecewise linear diode, an exponential diode, or a diode with tabulated I-V curve.

### Piecewise Linear Diode

The piecewise linear diode model is the same model as the Simscape™ > Foundation Library > Electrical > Electrical Elements > Diode block, with the addition of a fixed junction capacitance and optional charge dynamics. If the diode forward voltage exceeds the value specified in the Forward voltage parameter, the diode behaves as a linear resistor with the resistance specified in the On resistance parameter. Otherwise, the diode behaves as a linear resistor with the small conductance specified in the Off conductance parameter. Zero voltage across the diode results in zero current flowing.

### Exponential Diode

The exponential diode model represents the following relationship between the diode current I and the diode voltage V:

`$\begin{array}{l}I=IS\cdot \left({e}^{\frac{qV}{Nk{T}_{m1}}}-1\right)\text{}\text{}\text{}V>-BV\\ I=-IS\cdot \left({e}^{\frac{-q\left(V+Vz\right)}{k{T}_{m1}}}-{e}^{\frac{qV}{Nk{T}_{m1}}}\right)\text{}\text{}V\le -BV\end{array}$`

where:

• q is the elementary charge on an electron (1.602176e–19 coulombs).

• k is the Boltzmann constant (1.3806503e–23 J/K).

• BV is the Reverse breakdown voltage parameter value.

• N is the emission coefficient.

• IS is the saturation current.

• Tm1 is the temperature at which the diode parameters are specified, as defined by the Measurement temperature parameter value.

When (qV / NkTm1) > 80, the block replaces ${e}^{\frac{qV}{Nk{T}_{m1}}}$ with (qV / NkTm1 – 79)e80, which matches the gradient of the diode current at (qV / NkTm1) = 80 and extrapolates linearly. When (qV / NkTm1) < –79, the block replaces ${e}^{\frac{qV}{Nk{T}_{m1}}}$ with (qV / NkTm1 + 80)e–79, which also matches the gradient and extrapolates linearly. Typical electrical circuits do not reach these extreme values. The block provides this linear extrapolation to help convergence when solving for the constraints during simulation.

When you select `Use parameters IS and N` for the Parameterization parameter, you specify the diode in terms of the Saturation current IS and Emission coefficient N parameters. When you select `Use two I-V curve data points` for the Parameterization parameter, you specify two voltage and current measurement points on the diode I-V curve and the block derives the IS and N values. The block then calculates IS and N as follows:

• $\text{N}=\left(\left({V}_{1}-{V}_{2}\right)/{V}_{t}\right)/\left(\mathrm{log}\left({I}_{1}\right)-\mathrm{log}\left({I}_{2}\right)\right)$

• $\text{IS}=\left({I}_{1}/\left(\mathrm{exp}\left({V}_{1}/\left(\text{N}{V}_{t}\right)\right)-1\right)+{I}_{2}/\left(\mathrm{exp}\left({V}_{2}/\left(\text{N}{V}_{t}\right)\right)-1\right)\right)/2$

where:

• Vt = kTm1 / q.

• V1 and V2 are the values in the Voltages [V1 V2] vector.

• I1 and I2 are the values in the Currents [I1 I2] vector.

When you select `Use an I-V data point and IS` for the Parameterization parameter, then the block calculates N as follows:

`$N={V}_{1}/\left({V}_{t}\mathrm{log}\left(\frac{{I}_{1}}{IS}+1\right)\right)$`

When you select `Use an I-V data point and N` for the Parameterization parameter, then the block calculates IS as follows:

`$IS={I}_{1}/\left(\mathrm{exp}\left({V}_{1}/\left(N{V}_{t}\right)-1\right)\right)$`

### Tabulated Diode

To model a tabulated diode, set the Diode model parameter to `Tabulated I-V curve`. This figure shows the implementation of the tabulated diode option:

When choosing this parameterization, you must provide the data for the forward bias only. If the diode is reverse biased, it is modeled as a constant off-state conductance specified in the Off conductance parameter instead. The value of the Off conductance must be less than the gradient of the forward I-V curve for small positive voltages.

The block implements the diode using a smooth interpolation option. If the diode exceeds the provided tabulated data range, the block uses a linear extrapolation technique at the last voltage-current data point.

Note

The tabulated diode does not model the reverse breakdown.

### Junction Capacitance

The block provides the option to include a junction capacitance:

• When you select `Include fixed or zero junction capacitance` for the Parameterization parameter, the capacitance is fixed.

• When you select `Use parameters CJO, VJ, M & FC` for the Parameterization parameter, the block uses the coefficients CJO, VJ, M, and FC to calculate a junction capacitance that depends on the junction voltage.

• When you select `Use C-V curve data points` for the Parameterization parameter, the block uses three capacitance values on the C-V capacitance curve to estimate CJO, VJ, and M and uses these values with the specified value of FC to calculate a junction capacitance that depends on the junction voltage. The block calculates CJO, VJ, and M as follows:

• $CJ0={C}_{1}{\left(\left({V}_{R2}-{V}_{R1}\right)/\left({V}_{R2}-{V}_{R1}{\left({C}_{2}/{C}_{1}\right)}^{-1/M}\right)\right)}^{M}$

• $VJ=-\left(-{V}_{R2}{\left({C}_{1}/{C}_{2}\right)}^{-1/M}+{V}_{R1}\right)/\left(1-{\left({C}_{1}/{C}_{2}\right)}^{-1/M}\right)$

• $M=\mathrm{log}\left({C}_{3}/{C}_{2}\right)/\mathrm{log}\left({V}_{R2}/{V}_{R3}\right)$

where:

• VR1, VR2, and VR3 are the values in the Reverse bias voltages [VR1 VR2 VR3] vector.

• C1, C2, and C3 are the values in the Corresponding capacitances [C1 C2 C3] vector.

The reverse bias voltages (defined as positive values) should satisfy VR3 > VR2 > VR1. This means that the capacitances should satisfy C1 > C2 > C3 as reverse bias widens the depletion region and hence reduces capacitance. Violating these inequalities results in an error. Voltages VR2 and VR3 should be well away from the Junction potential VJ. Voltage VR1 should be less than the Junction potential VJ, with a typical value for VR1 being 0.1 V.

The voltage-dependent junction capacitance is defined in terms of the capacitor charge storage Qj as:

• For V < FC·VJ:

`${Q}_{j}=CJ0\cdot \left(VJ/\left(M-1\right)\right)\cdot \left({\left(1-V/VJ\right)}^{1-M}-1\right)$`

• For VFC·VJ:

`${Q}_{j}=CJ0\cdot {F}_{1}+\left(CJ0/{F}_{2}\right)\cdot \left({F}_{3}\cdot \left(V-FC\cdot VJ\right)+0.5\left(M/VJ\right)\cdot \left({V}^{2}-{\left(FC\cdot VJ\right)}^{2}\right)\right)$`

where:

• ${F}_{1}=\left(VJ/\left(1-M\right)\right)\cdot \left(1-{\left(1-FC\right)}^{1-M}\right)\right)$

• ${F}_{2}={\left(1-FC\right)}^{1+M}\right)\right)$

• ${F}_{3}=1-FC\cdot \left(1+M\right)$

These equations are the same as used in [2], except that the temperature dependence of VJ and FC is not modeled.

### Charge Dynamics

For applications such as commutation diodes it can be important to model diode charge dynamics. When a forward-biased diode has a reverse voltage applied across it, it takes time for the charge to dissipate and hence for the diode to turn off. The time taken for the diode to turn off is captured primarily by the transit time parameter. Once the diode is off, any remaining charge then dissipates, the rate at which this happens being determined by the carrier lifetime.

The Diode block uses the model of Lauritzen and Ma [3] to capture these effects. These are the defining equations.

 $i=\frac{{q}_{E}-{q}_{M}}{{T}_{M}}$ (1)
 $\frac{d{q}_{M}}{dt}+\frac{{q}_{M}}{\tau }-\frac{{q}_{E}-{q}_{M}}{{T}_{M}}=0$ (2)
 ${q}_{E}=\left(\tau +{T}_{M}\right)i$ (3)
where:

• i is the diode current.

• qE is the junction charge.

• qM is the total stored charge.

• TM is the transit time.

• τ is the carrier lifetime.

• vD is the voltage across the diode.

• vF is the diode forward voltage.

• R is the diode on resistance.

• G is the diode off conductance.

This graphic shows a typical reverse-mode current characteristic for a diode device.

where:

• iRM is the peak reverse current.

• iF is the starting forward current when measuring iRM.

• a is the rate of change of current when measuring iRM.

• trr is the reverse recovery time.

Data sheets for diodes quote values for peak reverse current for an initial forward current and a steady rate of change of current. The data sheet might also provide values for reverse recovery time and total recovery charge.

How the Block Calculates TM and Tau

The block calculates transit time TM and carrier lifetime τ based on the values you enter for the Charge Dynamics parameters. The block uses TM and τ to solve the charge dynamics equations 1, 2, and 3.

During initial current drop in reverse mode, the diode is still on, and the rate of change of current is determined by an external test circuit.

First, the block uses equation 1 to perform this calculation.

 ${i}_{F}+at=\frac{{q}_{E}-{q}_{M}}{{T}_{M}}$ (4)

Then, it substitutes equation 4 into equation 2.

 $\frac{d{q}_{M}}{dt}+\frac{{q}_{M}}{\tau }={i}_{F}+at$ (5)

Then, it solves equation 5 for qM,

 ${q}_{M}={i}_{F}\tau -a{\tau }^{2}+\frac{k}{\mathrm{exp}\left(\frac{t}{\tau }\right)}+a\tau t,$ (6)
where k is a constant.

When t is zero, i = iF and qM = τiF because the system is in steady state.

Substituting these relationships into equation 6 and solving the equation gives k = 2.

Therefore,

 ${q}_{M}={i}_{F}\tau +a{\tau }^{2}\left(\frac{1}{\mathrm{exp}\left(\frac{t}{\tau }\right)}-1\right)+a\tau t.$ (7)
At time t = ts, the current is iRM and the junction charge qE is zero.

The block substitutes these values into equation 1.

 ${i}_{RM}=\frac{-{q}_{M}}{{T}_{M}}$ (8)
The block rearranges equation 8 to solve for qM and substitutes the result into equation 7.
 $-{T}_{M}{i}_{RM}={i}_{F}\tau +a{\tau }^{2}\left(\frac{1}{\mathrm{exp}\left(\frac{{t}_{s}}{\tau }\right)}-1\right)+a\tau {t}_{s}$ (9)

Then, the block expresses time ts in terms of iRM, iF, and a.

 ${t}_{s}=\frac{{i}_{RM}-{i}_{F}}{a}$ (10)

Consider the diode recovery, that is, when t > ts. The diode is reverse biased, and current and junction charge are effectively zero.

The current is defined by this equation.

 $i={i}_{RM}\text{exp[}\frac{-\left(t-{t}_{s}\right)}{{\tau }_{rr}}\right],$ (11)

where:

 $\frac{1}{{\tau }_{rr}}=\frac{1}{\tau }+\frac{1}{{T}_{M}}.$ (12)

The block now relates the expression in equation 12 to the reverse recovery time trr.

When $t=\frac{{i}_{RM}}{a}+{t}_{rr},$ the current is $\frac{{i}_{RM}}{10}.$

Therefore,

 $\mathrm{exp}\left(-\frac{t-{t}_{s}}{{\tau }_{rr}}\right)=0.1$ (13)
and
 ${t}_{rr}={\tau }_{rr}\mathrm{log}\left(10\right)+\frac{{i}_{RM}}{a}.$ (14)

The block uses equations 9 and 14 to calculate values for TM and τ. The calculation uses an iterative scheme because of the exponential term in Equation 9.

Alternatives to Specifying trr Directly

In addition to allowing you to specify reverse recovery time trr directly, the block supports three alternative parameterizations. The block can derive trr from either of these parameters:

• Reverse recovery time stretch factor λ

• Reverse recovery charge Qrr, when the data sheet specifies this value instead of the reverse recovery time.

• Reverse recovery energy Erec, when the data sheet specifies this value instead of the reverse recovery time.

The relationship between reverse recovery time stretch factor λ and trr is expressed by the equation

`$\lambda =\frac{{t}_{rr}a}{{i}_{RM}}.$`

Reverse recovery time must be greater than $\frac{{i}_{RM}}{a}$ and a typical value is $3\left(\frac{{i}_{RM}}{a}\right).$

Therefore, a typical value for λ is 3. λ must be greater than 1.

Reverse recovery charge Qrr is the integral over time of the reverse current from the point where the current goes negative until it decays back to zero.

The initial charge, to time ts (as shown in the figure), is expressed by this equation:

 ${Q}_{s}=\frac{1}{2}\left(-{i}_{RM}\right)\frac{{i}_{RM}}{a}.$ (15)

Integrating equation 11 gives the charge between times ts and inf. This charge is equal to

`${\tau }_{rr}{i}_{RM}.$`

Therefore, total reverse recovery charge is given by this equation:

 ${Q}_{rr}=-\frac{{i}_{RM}^{2}}{2a}+{\tau }_{rr}{i}_{RM}.$ (16)

Rearranging equation 16 to solve for τrr and substituting the result into equation 14 gives an equation that expresses trr in terms of Qrr:

`${t}_{rr}=\left(\frac{{Q}_{rr}}{{i}_{RM}}+\frac{{i}_{RM}}{2a}\right)\mathrm{log}\left(10\right)+\frac{{i}_{RM}}{a}.$`

Alternatively, the block calculates τrr by using the reverse recovery energy, Erec. This equation defines the diode voltage curve:

 ${v}_{d}={v}_{R}-\left({v}_{R}-{v}_{RM}\right)\mathrm{exp}\left(-\left(t-{t}_{1}\right)/{\tau }_{rr}\right),$ (17)
where ${v}_{RM}={v}_{R}-{i}_{RM}\left(R-\frac{L}{{\tau }_{rr}}\right)$ is the maximum diode reverse voltage.

If $\frac{L}{{\tau }_{rr}}\gg R$, which is a common condition for the reverse recovery test circuit, the block calculates the maximum diode reverse voltage as:

`${v}_{RM}={v}_{R}+{i}_{RM}\frac{L}{{\tau }_{rr}}.$`

Since the drop time value is small, the block assumes that the diode current drop is linear:

 ${i}_{F}+didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}\text{t}\text{\hspace{0.17em}}\text{=}\text{\hspace{0.17em}}\frac{{q}_{E}-{q}_{M}}{{T}_{M}}.$ (18)

Then, it substitutes equation 18 into equation 5:

 $\frac{d{q}_{M}}{d}+\frac{{q}_{M}}{\tau }={i}_{F}+didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}t.$ (19)

To obtain the total stored charge, it solves equation 19 :

 ${q}_{M}={i}_{F}\tau +didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}{\tau }^{2}\left(\frac{1}{\mathrm{exp}\left(\frac{t}{\tau }\right)}-1\right)+didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}\tau t,$ (20)
where didt is the gradient of the current.

When $t={t}_{1}=\frac{{i}_{RM}-{i}_{F}}{didt}$, the peak reverse current is:

 ${i}_{RM}=\frac{-{q}_{M}}{{T}_{M}}.$ (21)

The block now substitutes equation 21 into equation 20:

 $\begin{array}{l}-{i}_{RM}{T}_{M}={i}_{F}\tau +\text{\hspace{0.17em}}didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}{\tau }^{2}\left(\mathrm{exp}\left(-\frac{{i}_{RM}-{i}_{F}}{didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}\tau }\right)-1\right)+\tau \left({i}_{RM}-{i}_{F}\right)\\ -\left({T}_{M}+\tau \right){i}_{RM}=didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}{\tau }^{2}\left(\mathrm{exp}\left(-\frac{{i}_{RM}-{i}_{F}}{didt\text{\hspace{0.17em}}·\text{\hspace{0.17em}}\tau }\right)-1\right)\\ {i}_{RM}=F\left(didt,{i}_{F},{T}_{M},\tau \right).\end{array}$ (22)

Finally, the block solves equation 22 to obtain the reverse recovery energy:

 $\begin{array}{l}{E}_{rec}={\int }_{{t}_{1}}^{{t}_{2}}{i}_{d}{v}_{d}dt\\ {E}_{rec}=\frac{{\tau }_{rr}{i}_{RM}\left({v}_{R}+{v}_{RM}\right)}{2}\\ {E}_{rec}=\frac{{i}_{RM}\left(2{v}_{R}{\tau }_{rr}+{i}_{RM}L\right)}{2}.\end{array}$ (23)

Charge dynamics with faults

When the device is faulted, the Diode block calculates the junction charge as

`${q}_{E}=\left(\tau +{T}_{M}\right){i}_{diode},$`

where:

• idiode is the diode current without the charge model.

• qE is the junction charge.

• TM is the transit time.

• τ is the carrier lifetime.

This equation then defines the value of the diode current:

`$\begin{array}{l}\frac{d{q}_{M}}{dt}+\frac{{q}_{M}}{\tau }-\frac{{q}_{E}-{q}_{M}}{{T}_{M}}=0\\ i=\frac{{q}_{E}-{q}_{M}}{{T}_{M}}{Q}_{scale}-\left({Q}_{scale}-1\right){i}_{diode}\end{array}$`

where:

• i is the diode current.

• qM is the total stored charge.

• Qscale is the current value of the charge ratio.

### Temperature Dependence

The default behavior for the Diode block is that dependence on temperature is not modeled, and the device is simulated at the temperature for which you provide block parameters. The exponential diode model contains several options for modeling the dependence of the diode current-voltage relationship on temperature during simulation. Temperature dependence of the junction capacitance is not modeled because it has a much smaller effect.

When including temperature dependence, the diode defining equation remains the same. The measurement temperature value, Tm1, is replaced with the simulation temperature, Ts. The saturation current, IS, becomes a function of temperature according to the following equation:

`$I{S}_{Ts}=I{S}_{Tm1}\cdot {\left({T}_{s}/{T}_{m1}\right)}^{XTI/N}\cdot \mathrm{exp}\left(-\frac{EG}{Nk{T}_{s}}\left(1-{T}_{s}/{T}_{m1}\right)\right)$`

where:

• Tm1 is the temperature at which the diode parameters are specified, as defined by the Measurement temperature parameter value.

• Ts is the simulation temperature.

• ISTm1 is the saturation current at measurement temperature.

• ISTs is the saturation current at simulation temperature. This is the saturation current value used in the standard diode equation when temperature dependence is modeled.

• EG is the energy gap for the semiconductor type measured in joules(J). The value for silicon is usually taken to be 1.11 eV, where 1 eV is 1.602e-19.

• XTI is the saturation current temperature exponent. This is usually set to 3.0 for pn-junction diodes, and 2.0 for Schottky barrier diodes.

• N is the emission coefficient.

• k is the Boltzmann constant (1.3806503e–23 J/K).

Appropriate values for XTI and EG depend on the type of diode and the semiconductor material used. Default values for particular material types and diode types capture approximate behavior with temperature. The block provides default values for common types of diode.

In practice, the values of XTI and EG need tuning to model the exact behavior of a particular diode. Some manufacturers quote these tuned values in a SPICE Netlist, and you can read off the appropriate values. Otherwise, you can determine improved estimates for EG by using a datasheet-defined current-voltage data point at a higher temperature. The block provides a parameterization option for this. It also gives the option of specifying the saturation current at a higher temperature ISTm2 directly.

You can also tune the values of XTI and EG yourself, to match lab data for your particular device. You can use Simulink® Design Optimization™ software to help tune the values for XTI and EG.

Caution

Device temperature behavior is also dependent on the emission coefficient. An inappropriate value for the emission coefficient can give incorrect temperature dependence, because saturation current is a function of the ratio of EG to N.

If defining a finite reverse breakdown voltage (BV), then the value of the reverse BV is modulated by the reverse breakdown temperature coefficient TCV (specified using the Reverse breakdown voltage temperature coefficient, dBV/dT parameter):

 BVTs = BVTm1 – TCV· (Ts – Tm1) (24)

### Faults

The Diode block allows you to model three types of faults:

• `Open` — Failure due to metallization burnout.

• `Short` — Failure due to punch-through.

• `Parameter shift` — Failure due to aging.

The block can trigger fault events:

• At a specific time

• When a current limit, a voltage limit, or a temperature limit are exceeded for longer than a specific time interval

You can enable or disable these trigger mechanisms separately, or use them together if more than one trigger mechanism is required in a simulation. When more than one mechanism is enabled, the first mechanism to trigger the fault takes precedence. In other words, the component fails no more than once per simulation.

You can also choose whether to issue an assertion when a fault occurs by using the Reporting when a fault occurs parameter. The assertion can take the form of a warning or an error. By default, the block does not issue an assertion.

### Modeling Thermal Effects

You can expose the thermal port to model the effects of generated heat and device temperature. To expose the thermal port, set the Modeling option parameter to either:

• `No thermal port` — The block does not contain a thermal port and does not simulate heat generation in the device.

• `Show thermal port` — The block contains a thermal port that allows you to model the heat that conduction losses generate. For numerical efficiency, the thermal state does not affect the electrical behavior of the block.

For more information on using thermal ports and on the Thermal Port parameters, see Simulating Thermal Effects in Semiconductors.

### Variables

Use the Variables section of the block interface to set the priority and initial target values for the block variables prior to simulation. For more information, see Set Priority and Initial Target for Block Variables.

## Assumptions and Limitations

• When you select `Use two I-V curve data points` for the Parameterization parameter, choose a pair of voltages near the diode turn-on voltage. Typically, this is in the range from 0.05 to 1 V. Using values outside of this region may lead to numerical issues and poor estimates for IS and N.

• The block does not account for temperature-dependent effects on the junction capacitance.

• You may need to use nonzero ohmic resistance and junction capacitance values to prevent numerical simulation issues, but the simulation may run faster with these values set to zero.

• You cannot use the `Tabulated I-V curve` parameterization to model the reverse breakdown.

## Ports

### Conserving

expand all

Electrical conserving port associated with the anode.

Electrical conserving port associated with the cathode.

Thermal conserving port.

#### Dependencies

To enable this port, set Modeling option to ```Show thermal port```.

## Parameters

expand all

Whether to enable the thermal port of the block and model the effects of generated heat and device temperature.

### Main

Select one of these diode models:

• `Piecewise Linear` — Use a piecewise linear model for the diode, as described in Piecewise Linear Diode. This is the default method.

• `Exponential` — Use a standard exponential model for the diode, as described in Exponential Diode.

• `Tabulated I-V curve` — Use tabulated forward bias I-V data plus fixed reverse bias off conductance, as described in Tabulated Diode.

Whether to tabulate the current as a function of temperature and voltage or the voltage as a function of temperature and current.

#### Dependencies

To enable this parameter, set Diode model to `Tabulated I-V curve`.

Minimum voltage that needs to be applied for the diode to become forward-biased.

#### Dependencies

To enable this parameter, set Diode model to `Piecewise linear`.

Resistance of the diode when it is forward biased.

#### Dependencies

To enable this parameter, set Diode model to `Piecewise linear`.

Conductance of the diode when it is reverse biased.

#### Dependencies

To enable this parameter, set Diode model to `Piecewise linear` or ```Tabulated I-V curve```.

Select one of the following methods for model parameterization:

• `Use two I-V curve data points` — Specify measured data at two points on the diode I-V curve. This is the default method.

• `Use parameters IS and N` — Specify saturation current and emission coefficient.

• `Use an I-V data point and IS` — Specify measured data at a single point on the diode I-V curve in combination with the saturation current.

• `Use an I-V data point and N` — Specify measured data at a single point on the diode I-V curve in combination with the emission coefficient.

#### Dependencies

To enable this parameter, set Diode model to `Exponential`.

Vector of the current values at the two points on the diode I-V curve that the block uses to calculate IS and N.

#### Dependencies

To enable this parameter, set Diode model to `Exponential` and Parameterization to `Use two I-V curve data points`.

Vector of the voltage values at the two points on the diode I-V curve that the block uses to calculate IS and N.

#### Dependencies

To enable this parameter, set Diode model to `Exponential` and Parameterization to `Use two I-V curve data points`.

Magnitude of the current that the ideal diode equation approaches asymptotically for very large reverse bias levels.

#### Dependencies

To enable this parameter, set Diode model to `Exponential` and Parameterization to `Use parameters IS and N` or ```Use an I-V data point and IS```.

Diode emission coefficient or ideality factor.

#### Dependencies

To enable this parameter, set Diode model to `Exponential` and Parameterization to `Use parameters IS and N` or ```Use an I-V data point and IS```.

Current value at the point on the diode I-V curve that the block uses for calculations. Depending on the Parameterization value, the block uses this parameter to calculate either N or IS.

#### Dependencies

To enable this parameter, set Diode model to `Exponential` and Parameterization to `Use an I-V data point and IS` or ```Use an I-V data point and N```.

Voltage value at the point on the diode I-V curve that the block uses for calculations.

#### Dependencies

To enable this parameter, set Diode model to `Exponential` and Parameterization to `Use an I-V data point and IS` or ```Use an I-V data point and N```.

Series diode connection resistance.

#### Dependencies

To enable this parameter, set Diode model to `Exponential`.

Temperature Tm1 at which IS or the I-V curve was measured.

Forward currents. This parameter must be a vector of at least three nonnegative elements.

#### Dependencies

To enable this parameter, set Table type to ```Table in If(Tj,Vf)```.

Forward voltages. This parameter must be a vector of at least three nonnegative elements.

#### Dependencies

To enable this parameter, set Table type to ```Table in Vf(Tj,If)```.

Vector of junction temperatures.

If the size of the vector is equal to `1`, the diode characteristics does not depend on the temperature.

#### Dependencies

To enable this parameter, set Diode model to `Tabulated I-V curve`.

Vector of forward voltages. This parameter must be a vector of at least three nonnegative values.

#### Dependencies

To enable this parameter, set Table type to ```Table in If(Tj,Vf)```.

Vector of forward currents. This parameter must be a vector of at least three nonnegative values.

#### Dependencies

To enable this parameter, set Table type to ```Table in Vf(Tj,If)```.

Number of diodes connected in series between the + and block ports. Multiple diodes are not modeled. Rather, each diode has all voltage-related quantities scaled by the factor that you specify.

Number of parallel diodes, or number of parallel paths formed by series-connected diodes, between the + and block ports. Multiple diodes are not modeled. Rather, each diode has all current-related quantities scaled by the factor that you specify.

### Breakdown

Resistance of the diode when the voltage is less than the Reverse breakdown voltage value.

#### Dependencies

To enable this parameter, set Diode model to `Piecewise linear`.

Reverse voltage below which to model the rapid increase in conductance that occurs at diode breakdown. The default value is `Inf` `V`, which effectively omits reverse breakdown from the model.

#### Dependencies

To enable this parameter, set Diode model to `Piecewise linear` or `Exponential`.

### Capacitance

Method for modeling the junction capacitance:

• `Fixed or zero junction capacitance` — Model the junction capacitance as a fixed value.

• `Use C-V curve data points` — Specify measured data at three points on the diode C-V curve.

• `Use parameters CJ0, VJ, M & FC` — Specify zero-bias junction capacitance, junction potential, grading coefficient, and forward-bias depletion capacitance coefficient.

Fixed junction capacitance value.

#### Dependencies

To enable this parameter, set Parameterization to `Fixed or zero junction capacitance`.

Vector of the reverse bias voltage values at the three points on the diode C-V curve that the block uses to calculate CJ0, VJ, and M.

#### Dependencies

To enable this parameter, set Parameterization to ```Use C-V curve data points```.

Vector of the capacitance values at the three points on the diode C-V curve that the block uses to calculate CJ0, VJ, and M.

#### Dependencies

To enable this parameter, set Parameterization to ```Use C-V curve data points```.

Value of the capacitance placed in parallel with the conduction current term.

#### Dependencies

To enable this parameter, set Parameterization to ```Use parameters CJ0, VJ, M & FC```.

The junction potential.

#### Dependencies

To enable this parameter, set Parameterization to ```Use parameters CJ0, VJ, M & FC```.

#### Dependencies

To enable this parameter, set Parameterization to ```Use parameters CJ0, VJ, M & FC```.

Fitting coefficient that quantifies the decrease of the depletion capacitance with applied voltage.

#### Dependencies

To enable this parameter, set Parameterization to ```Use parameters CJ0, VJ, M & FC```.

Select one of the following methods for charge dynamics parameterization:

• `Do not model charge dynamics` — Do not include charge dynamics modeling. This is the default method.

• `Use peak reverse current and stretch factor` — Model charge dynamics by providing values for peak reverse current iRM and stretch factor λ plus information on the initial forward current and rate of change of current used in the test circuit when measuring iRM and trr.

• `Use peak reverse current and reverse recovery time` — Model charge dynamics by providing values for peak reverse current iRM and reverse recovery time trr plus information on the initial forward current and rate of change of current used in the test circuit when measuring iRM and trr. Use this option if the manufacturer datasheet does not provide values for transit time TT and carrier lifetime τ.

• `Use peak reverse current and reverse recovery charge` — Model charge dynamics by providing values for peak reverse current iRM and reverse recovery charge Qrr plus information on the initial forward current and rate of change of current used in the test circuit when measuring iRM and trr.

• `Use peak reverse current and reverse recovery energy` — Model charge dynamics by providing values for peak reverse current iRM and reverse recovery energy Erec plus information on the initial forward current and rate of change of current used in the test circuit when measuring iRM.

• `Use transit time and carrier lifetime` — Model charge dynamics by providing values for transit time TT and carrier lifetime τ.

Peak reverse current measured by an external test circuit. This value must be less than zero.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and stretch factor```, ```Use peak reverse current and reverse recovery time```, ```Use peak reverse current and reverse recovery charge```, or ```Use peak reverse current and reverse recovery energy```.

Initial forward current when measuring peak reverse current. This value must be greater than zero.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and stretch factor```, ```Use peak reverse current and reverse recovery time```, ```Use peak reverse current and reverse recovery charge```, or ```Use peak reverse current and reverse recovery energy```.

Rate of change of current when measuring peak reverse current. This value must be less than zero.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and stretch factor```, ```Use peak reverse current and reverse recovery time```, ```Use peak reverse current and reverse recovery charge```, or ```Use peak reverse current and reverse recovery energy```.

Value that the block uses to calculate Reverse recovery time, trr. This value must be greater than `1`. The default value is `3`.

Specifying the stretch factor is an easier way to parameterize the reverse recovery time than specifying the reverse recovery charge. The larger the value of the stretch factor, the longer it takes for the reverse recovery current to dissipate.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and stretch factor```.

Time between the point where the current initially goes to zero when the diode turns off, and the point where the current falls to less than ten percent of the peak reverse current. The default value is `115` `ns`.

The value of the Reverse recovery time, trr parameter must be greater than the value of the Peak reverse current, iRM parameter divided by the value of the Rate of change of current when measuring iRM parameter.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and reverse recovery time```.

Value that the block uses to calculate Reverse recovery time, trr. Use this parameter if the data sheet for your diode device specifies a value for the reverse recovery charge instead of a value for the reverse recovery time.

The reverse recovery charge is the total charge that continues to dissipate when the diode turns off. The value must be less than $-\frac{{i}^{2}{}_{RM}}{2a},$

where:

• iRM is the value specified for Peak reverse current, iRM.

• a is the value specified for Rate of change of current when measuring iRM.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and reverse recovery charge```.

Voltage between the diode in steady-state.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and reverse recovery energy```.

Total unintended inductance in the measurement circuit. The block uses this value to calculate Reverse recovery energy, Erec.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and reverse recovery energy```.

Total switching losses due to the diode reverse recovery.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use peak reverse current and reverse recovery energy```.

Measure of how long it takes carriers to cross the diode junction.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use transit time and carrier lifetime```.

Measure of how long it takes for the carriers to dissipate once the diode is no longer conducting. The default value is `100` `ns`.

#### Dependencies

To enable this parameter, set Charge dynamics to ```Use transit time and carrier lifetime```.

### Temperature Dependence

This section is applicable to `Exponential` and `Tabulated I-V curve` diode models only.

This table shows how the visibility of Temperature Dependence setting depends on how you configure the Diode model parameter in the Main setting and whether you expose the thermal port. To learn how to read this table, see Parameter Dependencies

Visibility of the Temperature Dependence Setting

Parameters, options, and visibility of the setting
Diode model
```Piecewise linear````Exponential````Tabulated I-V curve```
Thermal PortThermal PortThermal Port
`Not exposed``Exposed``Not exposed``Exposed``Not exposed``Exposed`
HiddenHiddenVisibleVisibleVisibleHidden

Select one of the following methods for temperature dependence parameterization:

• ```None - Use characteristics at parameter measurement temperature``` — Temperature dependence is not modeled, or the model is simulated at the measurement temperature Tm1 (as specified by the Measurement temperature parameter on the Main tab). This is the default method.

• `Use an I-V data point at second measurement temperature T2` — If you select this option, you specify a second measurement temperature Tm2, and the current and voltage values at this temperature. The model uses these values, along with the parameter values at the first measurement temperature Tm1, to calculate the energy gap value.

• ```Specify saturation current at second measurement temperature T2``` — If you select this option, you specify a second measurement temperature Tm2, and saturation current value at this temperature. The model uses these values, along with the parameter values at the first measurement temperature Tm1, to calculate the energy gap value.

• `Specify the energy gap EG` — Specify the energy gap value directly.

Specify the diode current I1 value when the voltage is V1 at the second measurement temperature.

#### Dependencies

To enable this parameter, set Parameterization to ```Use an I-V data point at second measurement temperature```.

Specify the diode voltage V1 value when the current is I1 at the second measurement temperature.

#### Dependencies

To enable this parameter, set Parameterization to ```Use an I-V data point at second measurement temperature```.

Specify the saturation current IS value at the second measurement temperature.

#### Dependencies

To enable this parameter, set Parameterization to ```Specify saturation current at second measurement temperature```.

Specify the value for the second measurement temperature.

#### Dependencies

To enable this parameter, set Parameterization to ``` Use an I-V data point at second measurement temperature``` or ```Specify saturation current at second measurement temperature```.

Select a value for the energy gap from a list of predetermined options, or specify a custom value:

• `Use nominal value for silicon (EG=1.11eV)` — This is the default.

• `Use nominal value for 4H-SiC silicon carbide (EG=3.23eV)`

• `Use nominal value for 6H-SiC silicon carbide (EG=3.00eV)`

• `Use nominal value for germanium (EG=0.67eV)`

• `Use nominal value for gallium arsenide (EG=1.43eV)`

• `Use nominal value for selenium (EG=1.74eV)`

• `Use nominal value for Schottky barrier diodes (EG=0.69eV)`

• `Specify a custom value` — If you select this option, the Energy gap, EG parameter appears in the dialog box, to let you specify a custom value for EG.

#### Dependencies

To enable this parameter, set Parameterization to `Specify the energy gap EG`.

Specify a custom value for the energy gap, EG.

#### Dependencies

To enable this parameter, set Energy gap parameterization to `Specify a custom value`.

Select one of the following options to specify the saturation current temperature exponent value:

• `Use nominal value for pn-junction diode (XTI=3)` — This is the default.

• `Use nominal value for Schottky barrier diode (XTI=2)`

• `Specify a custom value` — If you select this option, the Saturation current temperature exponent, XTI parameter appears in the dialog box, to let you specify a custom value for XTI.

#### Dependencies

To enable this parameter, set Parameterization to ```Use an I-V data point at second measurement temperature```, ```Specify saturation current at second measurement temperature```, or ```Specify the energy gap, EG```.

Specify a custom value for the saturation current temperature exponent, XTI.

#### Dependencies

To enable this parameter, set Parameterization to ```Use an I-V data point at second measurement temperature```, ```Specify saturation current at second measurement temperature```, or ```Specify the energy gap, EG``` and Saturation current temperature exponent parameterization to `Specify a custom value`.

Modulate the reverse breakdown voltage BV. If you define the reverse breakdown voltage BV as a positive quantity, a positive value for TCV implies that the magnitude of the reverse breakdown voltage decreases with temperature.

#### Dependencies

To enable this parameter, set Parameterization to ```Use an I-V data point at second measurement temperature```, ```Specify saturation current at second measurement temperature```, or ```Specify the energy gap, EG```.

Specify the value for the temperature Ts, at which the device is to be simulated.

#### Dependencies

To enable this parameter, set Parameterization to ```Use an I-V data point at second measurement temperature```, ```Specify saturation current at second measurement temperature```, or ```Specify the energy gap, EG```.

### Faults

Select `On` to enable faults modeling and expose parameters that allow you to select the reporting method and specify the trigger mechanism.

Simulation reporting when a fault occurs:

• `None` — Does not generate a warning or an error.

• `Warn` — Generates a warning.

• `Error` — The simulation stops and generates an error.

#### Dependencies

To enable this parameter, set Enable faults to `On`.

Specify the failure mode of the Diode block:

• `Open` — Failure due to metallization burnout.

• `Short` — Failure due to punch-through.

• `Parameter shift` — Failure due to aging.

#### Dependencies

To enable this parameter, set Enable faults to `On`.

Time constant for transitioning to faulted state.

#### Dependencies

To enable this parameter, set Enable faults to `On`.

Series resistance in faulted state.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Fault mode to `Open`.

Parallel conductance in faulted state.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Fault mode to `Short`.

Forward voltage in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Piecewise linear```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

On resistance in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Piecewise linear```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Off conductance in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Piecewise linear` or `Tabulated I-V curve`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Off conductance in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Piecewise linear```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Reverse breakdown voltage in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Piecewise linear` or `Exponential`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

I1 and I2 currents in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Parameterization to ```Use two I-V curve data points```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

V1 and V2 voltages in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Parameterization to ```Use two I-V curve data points```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Ohmic resistance in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Saturation current in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Parameterization to ```Use parameters IS and N``` or `Use an I-V data point and IS`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Emission coefficient in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Parameterization to ```Use parameters IS and N``` or `Use an I-V data point and N`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Current in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Parameterization to ```Use an I-V data point and IS``` or `Use an I-V data point and N`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Voltage in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to `Exponential`.

• Parameterization to ```Use an I-V data point and IS``` or `Use an I-V data point and N`.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Forward currents, If(Tj,Vf), in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Tabulated I-V curve```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Forward currents, Vf, in faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Tabulated I-V curve```.

• Enable faults to `On`.

• Fault mode to ```Parameter shift```.

Capacitance and charge in faulted state as percentage of unfaulted.

#### Dependencies

To enable this parameter, set Enable faults to `On`.

Whether to enable a temporal fault trigger.

#### Dependencies

To enable this parameter, set Enable faults to `On`.

Simulation time at which you want the block to enter the faulted state.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Enable temporal fault trigger to `On`.

Whether to enable a behavioral fault trigger.

#### Dependencies

To enable this parameter, set Enable faults to `On`.

Maximum reverse voltage above which a fault may be triggered.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Enable behavioral fault trigger to `On`.

Number of times the diode must exceed the reverse voltage threshold before a fault is triggered.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Enable behavioral fault trigger to `On`.

Maximum permissible current value. If the current exceeds this value for longer than the value of the Time to fail when exceeding current parameter, then the block enters the faulted state.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Enable behavioral fault trigger to `On`.

Amount of time that the current must continuously exceed the maximum permissible current before a behavioral fault is triggered.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Enable behavioral fault trigger to `On`.

Maximum diode recovery.

#### Dependencies

To enable this parameter, set Enable faults to `On` and Enable behavioral fault trigger to `On`.

Maximum permissible temperature value. If the temperature exceeds this value for longer than the value of the Time to fail when exceeding temperature parameter, then the block enters the faulted state.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Piecewise linear```.

• Enable faults to `On`.

• Enable behavioral fault trigger to `On`.

Amount of time that the temperature must continuously exceed the maximum permissible temperature before a behavioral fault is triggered.

#### Dependencies

To enable this parameter, set:

• Diode model to ```Piecewise linear```.

• Enable faults to `On`.

• Enable behavioral fault trigger to `On`.

### Thermal Port

Use the thermal port to simulate the effects of generated heat and device temperature. For more information on using thermal ports and on the Thermal Port parameters, see Simulating Thermal Effects in Semiconductors.

## References

[1] MH. Ahmed and P.J. Spreadbury. Analogue and digital electronics for engineers. 2nd Edition. Cambridge, UK: Cambridge University Press, 1984.

[2] G. Massobrio and P. Antognetti. Semiconductor Device Modeling with SPICE. 2nd Edition. New York: McGraw-Hill, 1993.

[3] Lauritzen, P.O. and C.L. Ma. “A Simple Diode Model with Reverse Recovery.” IEEE® Transactions on Power Electronics. Vol. 6, No. 2, April 1991, pp. 188–191.

## Version History

Introduced in R2008a