LTSpice – Troubleshooting AD8422/AD8221 Simulation Issues

ltspicesimulation

My LTSpice simulation (fresh download from yesterday) always stops (gets super slow) after approx. 12.4 ms, when using the AD8422 or AD8221 (probably also with other amps of this type) in the following configuration, which is to my understanding an allowed operation state:
enter image description here

I checked the validity of this operation with Analog's Diamond Plot Tool, which seems fine as well:
enter image description here

LTSPice gets stuck at this point:

enter image description here

Up to this point (12.4 ms), the circuit works as expected (voltage follower/unity-gain buffer). I also tried activating the option "noopiter", which makes the simulation run some us more, but very slow (0.1 us simulation time per 2 s real time).

I was able to run the simulation, when either:

  • increasing the REF voltage above GND (e.g., +1 V)
  • connecting the V_In- pin to Vout instead of GND (from my understanding this should not be necessary with the AD8422)

Am I missing something? What happens here?

Best Answer

As mentioned in the comments of your question, there is an issue with the model/subcircuit. The easiest way to solve it is to add the following SPICE directive (shortcut key S) onto your schematic:

.options cshunt=1f

enter image description here

This adds a shunt capacitor of 1 femto-farad from every node (including the nodes within the opamp) to ground. If you want to do a more surgical strike, you have to manually edit the AD8422.lib file (or other library files with the same opamp structure) and modify the diode model DZ found at the end of the subcircuit.

Change it from this:

.MODEL DZ D(IS=1e-15 BV=50 RS=1)

to this:

.MODEL DZ D(IS=1e-15 BV=50 RS=1 CJO=1f)

enter image description here

The subcircuit is poorly constructed because all the diode models defined within should have a non-zero CJO to prevent these convergence problems. There are 6 diode .model statements in the file and none of them have a CJO defined. I guess and checked one-by-one to see which was causing your specific problem, but the other ones have the potential to cause different problems in different scenarios. So instead of manually "fixing" ADI's models, it's probably better to just use the cshunt option and call it a day.