# How can I use/model a custom diode in LTSpice?

I would like to simulate the behaviour of a zener diode in LTspice. Consider the following schematic

simulate this circuit – Schematic created using CircuitLab

I'm interested in simulating its performance when Vcc changes from the rated value (say 12V), for example when Vcc varies from 11 to 15 V.

Now, I know how to simulate this behaviour in LTspice for a generic diode or even for a particular diode which is available in the model library, but when it comes to using a custom diode, I have no idea on how to specify the diode parameters.

Looking into the documentation I was able to come up with a setup that is the correct one, that is, I can specify a custom diode model but now I'm having problems in understanding where to find all the parameters since the datasheet of my diode of choice does not provide all of them. In the LTspice model shown below I've picked a 4.7 V zener diode that was available just to have a base model to edit (and a 1k resistor just for reference).

The diode I'd like to use is a 3V BZX55C3V0. How can I simulate, as realistically as possible, the behaviour of this diode given the few parameters available in the datasheet?

• Change BV to bv=3
– G36
Jun 10, 2018 at 10:09
• I'd like to make the simulation as realistic as possible, are there other parameters I can change? Jun 10, 2018 at 10:16
• Buy a real diode and test the circuit in real life. It will be the best simulation you can even imagine.
– G36
Jun 10, 2018 at 10:25
• @mickkk See the manual for LTspice > Circuit Elements > D where there is a table with all the possible parameters, for both ideal and real models. Jun 10, 2018 at 11:12

The usual model (based on Spice 3f5) for breakdown in diodes is influenced by 4 parameters:

• $BV$ - Reverse breakdown voltage in volts
• $IBV$ - Current at reverse breakdown voltage
• $IS$ - Saturation current
• $N$ - Emission coefficient / Ideality factor

From these parameters, Spice will attempt to calculate (iteratively) the "real" breakdown voltage $XBV$ to make the curve go through $(BV, IBV)$. Spice does this once during setup (or whenever the temperature has changed).

In reverse breakdown, the following equation is subsequently used:

$$i_D = -IS_{eff}\cdot e^{-\frac{XBV + v_D}{N\cdot U_T}}$$

$IS_{eff}$ is the reverse saturation current after applying temperature-dependent effects.

LTSpice claims in their documentation that

The other model available is the standard Berkeley SPICE semiconductor diode but extended to handle more detailed breakdown behavior and recombination current.

I believe that they point to the parameters:

• $ISR$ - Recombination current in amps
• $NR$ - $ISR$ injection coefficient
• $IKF$ - High-injection knee current

Unfortunately, I don't know much about these parameters.

APPENDIX

I did found some information about similar parameters here on HSpice.

Most diodes do not behave as ideal diodes. The parameters IK and IKR are called high level injection parameters. They tend to limit the exponential current increase.

$$i_{D,eff} = \frac{i_D}{1 + \left( \frac{i_D}{IKR_{eff}} \right)^{1/2}}$$

$$i_D = IS_{eff}\cdot \left(e^{\frac{v_D}{N\cdot U_T}} - 1 \right) - IS_{eff}\left[e^{-\frac{v_D + XBV}{N\cdot U_T}} - 1\right]$$

In LTspice, go to help topics (F1) and type in "diode" to go to the ".D Diode" topic. In there you can see parameters that you can configure. You can then add a spice directive to your model with Edit->Spice Directive and add one like the example to your model:

.model MyIdealDiode D(Ron=.1 Roff=1Meg Vfwd=.4)

Once you have this in your model you can then add a diode and change "Value" in the diode attributes to the name in the Spice Directive (MyIdealDiode in this example). The help page will give you the full list of parameters that you can add to the spice directive.