## Equivalent Circuit

This page presents a typical large signal model of a p-n junction diode [1] that is similar to that found in circuit simulators such as SPICE. The model is comprised of a voltage controlled current source ($$i_D$$), a series resistance ($$R_D$$) and two nonlinear capacitors ($$C_T$$ and $$C_J$$). The diode equivalant circuit is shown in the figure below.

## Large Signal Model

The VCCS $$i_D$$ is modelled by a nonlinear function of the applied p-n junction voltage $$v_D$$ that is divided into four distinct operating regions:

$$i_D(v_D) = \left\{ \begin{array}{l l l l} I_S\left(e^\frac{v_D}{nv_T}-1\right) + v_DG_{min} & v_D \geq -5v_T \\ -I_S + v_DG_{min} & -BV \lt v_D \lt -5v_T \\ -I_{BV} & v_D = -BV \\ -I_S\left(e^{-\frac{BV+v_D}{nv_T}}-1 + \frac{BV}{v_T}\right) & v_D \lt -BV \\ \end{array} \right.$$ $$v_T = \frac{kT}{q} \\$$

Charge storage effects are modelled by two nonlinear capacitances that are also functions of the applied p-n junction voltage $$v_D$$:

$$C_J(v_D) = \left\{ \begin{array}{l l} \frac{C_{J0}}{\left(1-\frac{v_D}{v_J}\right)^m} & v_D \leq v_JFC \\ F_1C_{JO} + \frac{C_{J0}}{F_2}\left(F_3 + \frac{mv_D}{v_J}\right) & v_D \gt v_JFC\\ \end{array} \right.$$ $$C_T(v_D) = \frac{qi_D(v_D)\tau\tau}{nkT} \\$$

where $$F_1$$, $$F_2$$ and $$F_3$$ are constants whose values are:

$$F_1 = \frac{v_J}{1-m} \left(1 - \left(1-FC\right)^{1-m}\right) \\$$ $$F_2 = \left(1-FC\right)^{1-m} \\$$ $$F_3 = 1 - FC(1+m) \\$$

The table below lists the p-n junction diode model parameters.

Parameter Descripton Units
$$I_S$$ Saturation current A
$$n$$ Emission current
$$BV$$ Reverse breakdown "knee" voltage V
$$I_{BV}$$ Reverse breakdown "knee" current A
$$R_S$$ Parasitic resistance $$\Omega$$
$$C_{J0}$$ Zero bias p-n capacitance coefficient F
$$v_J$$ p-n potential V
$$\tau\tau$$ Transit time s
$$m$$ p-n grading coefficient
$$G_{min}$$ Minimum conductance $$\Omega^{-1}$$
$$k$$ Boltzmann constant $$1.3806503\times10^{-23}$$ $$m^{2}kgs^{-2}K^{-1}$$
$$T$$ Temperature K
$$q$$ Electron charge magnitude $$1.60217646\times10^{-19}$$ C

## Octave Code

	  function F = diode(Vd, Is, N, BV, Ibv, Gmin, Cjo, Vj, m, tt, FC, Rs, temp)
F = zeros(4,1);    % a column vector

I=0;

q = 1.60217646e-19;
k = 1.3806503e-23;
T = 273.15 + temp;
Vt = k*T/q;

if(Vd >= -5*Vt)
I = Is*(exp(Vd/(N*Vt)) - 1) + Vd*Gmin;
elseif ((Vd > -BV) && (Vd < -5*Vt))
I = -Is + Vd*Gmin;
elseif(Vd == -1*BV)
I = -Ibv;
elseif(Vd <= -BV)
I = -Is*( exp(-1*(BV + Vd)/(N*Vt)) -1 + BV/Vt);
endif

if(Vd < FC * Vj)
Cj = Cjo/(1 - (Vd/Vj))^m;
else
F1 = (Vj/(1-m))*(1-(1-FC)^(1-m));
F2 = (1 - FC)^(1+m);
F3 = 1 - FC*(1 + m);
Cj = Cjo*F1 + (Cjo/F2)*(F3 + (m*Vd/Vj));
end

Ct = q*I*tt/(N*k*T);
C = Cj + Ct;

F = [Rs;Cj;Ct;I];


## References

1. Giuseppe Massobrio & Paolo Antognetti (1993). Semiconductor Device Modeling with SPICE. 2nd ed. New York: McGraw-Hill. p1-43.