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