[comp.lsi] SPICE time step too small

greenberg@decsim.DEC.COM.UUCP (04/13/87)

Just about every case of time step too small that we have fixed was a bug in a
model.

All the suggestions for works arounds have the effect of getting away from the
region where the glitch in the model is.  Changing the printing time step works
just be shifting the points the simulator chooses to stop on.  It probably has
little to do with the time constants of the circuit.

The discontinuities are not in the second derivative, but in the first
derivative.  For instance, if you carefully work through the equations for the
reverse biased diode as implemented in SPICE, you will see that there is a
glitch when it goes into its straight line approximation.  Reverse biased
diodes are pretty pervasive in MOS simulation although the diode glitch may be
too small to cause problems.  Never the less, it is indicative of the types of
bugs that creep in.  There are also bugs in the BJT model.

SPICE does detect when its pivot strategy needs to be changed.  The check is
not as accurate as when the pivots are first chosen, but the check is there.
Putting in big resistors or small capacitors does sometimes work because it is
just a way of masking the glitches in the model equations.

/Steve