Re: [ng-spice-devel] personal note on ACS and NG-SPICE (fwd)


To ng-spice-devel@ieee.ing.uniroma1.it
From Steve Hamm <Steve.Hamm@motorola.com>
Date Mon, 18 Sep 2000 10:09:50 -0500 (CDT)
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
In-Reply-To <00091302493600.00947@spiff.al.dynip.com >
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
References <Pine.LNX.3.96.1000911210312.2649A-100000@ieee.ing.uniroma1.it ><39BD3918.EA74D6C@analog.com ><00091302493600.00947@spiff.al.dynip.com >
Reply-To ng-spice-devel@ieee.ing.uniroma1.it


Just a few comments...

---"Al" == Al Davis <aldavis@ieee.org> writes:

Al> Cazm is a table based simulator from (I believe) North Carolina
Al> State University.

Cazm actually started at AT+T -- William Coughran, Don Rose (on
sabbatical from NCSU?) and Wolfgang Fichner all were in on it, at one
time or another. Fichner sent me an AT+T report on it, long
ago. Research simulator; moved to MCNC, now commercialized as Tanner's
T-SPICE (another example of a SPICE that isn't). The most interesting
thing (not terrifically useful, but interesting) was a combined
trapezoidal/BDF2 integrator which is L-stable.

Al> Instead of evaluating the models every iteration, it generates a
Al> set of tables once, looks up and interpolates from the tables.
Al> Supposedly, it is faster because it avoids run time model
Al> evaluation.  I have been thinking of using tables to cache the
Al> results of model evaluation, in ACS, hopefully combining the
Al> benefits of the numeric approach with the table approach.

Just a note about this: It works well for digital circuits. If you're
trying to do a good job of tables for analog circuits it gets much
more difficult. Consider that interesting MOSFET currents can span 9
orders of magnitude. John Paulos' (formerly at NCSU, I think) students
and Phil Allen's students at Georgia did some work on this, years ago.

Al> "Harmonic balance" has been used for a long time for RF circuits.
Al> Ken Kundert did his Ph.D. on harmonic balance.  His simulator
Al> "Spectre" is being used as a base for the Spectre marked by
Al> Cadence, but Cadence uses a Spice like algorithm.  HB is only
Al> available at extra cost.  It is used for nonlinear steady state
Al> analysis.  That's all I know about it.

Spectre doesn't do harmonic balance. I think Ken was kinda burned out
on HB after his dissertation. Cadence's claim is that time-domain
steady state plus some of their mixed freqency-time methods can
replace HB. But Agilent still does a good business in HB simulation.

Al> Now, on to pole zero analysis.  I looked at this briefly about 10
Al> years ago, and have not had the time to follow up.  I think Spice
Al> uses something called "unit circuit interploation".  

Spice uses the Muller method, which is a bad method for a number of
reasons, but easy to program. (Unit circle interpolation for PZ,
assuming we're talking about the same thing, was proposed by Erich
Wehrhahn R.; interesting method.) The Muller method is a complex
root-finding method which operates on the characteristic polynomial
associated with the poles or zeros of a system. It gets progressively
less accurate and more expensive as more roots are extracted. The QZ
method is much better, if you want all the roots and the system isn't
that big.

A better way to do PZ analysis for bigger circuits is using Krylov
subspace methods, particularly the Arnoldi method, with a Chebyshev
acceleration for roots in a particular region. We published a paper on
this recently.

Al> There are other methods involving solving directly for the
Al> numerator and denominator, which traditionally had not been used
Al> because of difficulty of programming or slow running time.  I have
Al> in mind a method that uses the same matrix solver that I use for
Al> the DC solution, only with polynomials in the matrix.

This sounds similar to some of the work that Richard Shi has done, but 
it isn't all that great for PZ. Works wonders for symbolic circuit
analysis, though.

--Steve

Partial thread listing: