From: Jim Thompson
Subject: Re: SPICE and amp stability
References: <3DDBC8B8.16BF2A6D@ieee.org> <3DDD150A.9BBBF272@ieee.org> <3DDE6F35.197BE797@ieee.org>
X-Newsreader: Forte Agent 1.91/32.564
Date: Fri, 22 Nov 2002 18:42:02 GMT
NNTP-Posting-Date: Fri, 22 Nov 2002 13:42:02 EST
Organization: Cox Communications
On Fri, 22 Nov 2002 17:53:59 GMT,
In Newsgroup: sci.electronics.design,
Entitled: "Re: SPICE and amp stability",
Wrote the following:
|Jim Thompson, analog, Jim Thompson, analog wrote:
|>>> You lost me there "analog", what are you driving at? Parameterizing
|>>> behavioral gains proportionate to power supplies??
|> One of the tricks I've used is to give OpAmps a sine-squared transfer
|> function, smoothing the derivatives.
|That probably helps both during the initial solution and transient runs.
|Anything that makes the network approach linearity as either the sources
|or time steps are scaled back should help the matrix solver converge on
|a solution. And to that end, I've found that during the initial solution
|any behavioral expression, no matter how wildly nonlinear, can be made to
|converge simply by multiplying it by a special node set up with a source
|such that the node's voltage is normally one volt dc.
|Obviously, multiplying an ill behaved expression by this "unity node" one
|or more times will not change its value during an analysis, but it *does*
|have the happy effect of forcing even the rudest expression to approach
|zero if Pspice panics during the initial solution and starts cutting back
|all independent sources.
|Does your bad boy expression contain constants in the numerator that
|allow it to "stay up" past its time for going to zero like all the other
|well behaved expressions? A judicious application of the unity node to
|its numerator will make it behave.
|Is one of your temperamental expressions so ill conditioned with an
|overly "fast" denominator that it "blows up" every time its sources are
|"grounded" by Spice's initial solver? Don't let a spoiled expression
|ruin your simulations. Even the fastest denominator can be beaten to
|zero by an ordinary numerator multiplied by the unity node raised to a
|high enough power.
|The lesson here is that, if Pspice has to cut back the sources when
|seeking an initial solution, it will succeed *every time* if all the
|behavioral expressions have numerators that approach zero faster than
|their denominators do. This simple technique is so effective and so
|powerful I often wonder why no simulator vendor has incorporated it
|within their product offering. (By the way, I first developed the
|"unity node" method when I was frustrated with trying to simulate
|switching power supplies in the late 80's.)
|Well, gotta run, so my hopefully helpful hints for taming transient
|troubles will have to wait for another time. -- analog
That's what I thought you were driving at. That's what I meant by
"Parameterizing behavioral gains proportionate to power supplies".
Instead of using a 1V source I had a connection to Vcc, but with a
"/5" in the behavioral expression.
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| Jim-T@analog_innovations.com Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |
For proper E-mail replies SWAP "-" and "_"
I love to cook with wine. Sometimes I even put it in the food.