0% found this document useful (0 votes)
20 views

Fundamentals of Fast Simulation Algorithms For RF Circuit

Uploaded by

2009lirun
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Fundamentals of Fast Simulation Algorithms For RF Circuit

Uploaded by

2009lirun
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

INVITED

PAPER

Fundamentals of
Fast Simulation Algorithms
for RF Circuits
The newest generation of circuit simulators perform periodic steady-state analysis of
RF circuits containing thousands of devices using a variety of matrix-implicit
techniques which share a common analytical framework.
By Ognen Nastov, Rircardo Telichevesky, Member IEEE,
Ken Kundert, and Jacob White, Member IEEE

ABSTRACT | Designers of RF circuits such as power amplifiers, KEYWORDS | Circuit simulation; computer-aided analysis; design
mixers, and filters make extensive use of simulation tools automation; frequency-domain analysis; numerical analysis
which perform periodic steady-state analysis and its exten-
sions, but until the mid 1990s, the computational costs of these
I . INTRODUCTION
simulation tools restricted designers from simulating the
behavior of complete RF subsystems. The introduction of fast The intensifying demand for very high performance
matrix-implicit iterative algorithms completely changed this portable communication systems has greatly expanded
situation, and extensions of these fast methods are providing the need for simulation algorithms that can be used to
tools which can perform periodic, quasi-periodic, and periodic efficiently and accurately analyze frequency response,
noise analysis of circuits with thousands of devices. Even distortion, and noise of RF communication circuits such as
though there are a number of research groups continuing to mixers, switched-capacitor filters, and amplifiers. Al-
develop extensions of matrix-implicit methods, there is still no though methods like multitone harmonic balance, linear
compact characterization which introduces the novice re- time-varying, and mixed frequency-time techniques [4],
searcher to the fundamental issues. In this paper, we examine [6]–[8], [26], [37] can perform these analyses, the
the basic periodic steady-state problem and provide both computation cost of the earliest implementations of these
examples and linear algebra abstractions to demonstrate techniques grew so rapidly with increasing circuit size that
connections between seemingly dissimilar methods and to try they were too computationally expensive to use for more
to provide a more general framework for fast methods than the complicated circuits. Over the past decade, algorithmic
standard time-versus-frequency domain characterization of developments based on preconditioned matrix-implicit
finite-difference, basis-collocation, and shooting methods. Krylov-subspace iterative methods have dramatically
changed the situation, and there are now tools which can
easily analyze circuits with thousands of devices. Precondi-
tioned iterative techniques have been used to accelerate
Manuscript received May 23, 2006; revised August 27, 2006. This work was originally periodic steady-state analysis based on harmonic balance
supported by the DARPA MAFET program, and subsequently supported by grants
from the National Science Foundation, in part by the MARCO Interconnect Focus methods [5], [11], [30], time-domain shooting methods
Center, and in part by the Semiconductor Research Center. [13], and basis-collocation schemes [41]. Additional results
O. Nastov is with Agilent Technologies, Inc., Westlake Village, CA 91362 USA
(e-mail: [email protected]).
for more general analyses appear constantly.
R. Telichevesky is with Kineret Design Automation, Inc., Santa Clara, CA 95054 USA Though there are numerous excellent surveys on
(e-mail: [email protected]).
K. Kundert is with Designer’s Guide Consulting, Inc., Los Altos, CA 94022 USA
analysis technques for RF circuits [23], [35], [36], [42],
(e-mail: [email protected]). the literature analyzing the fundmentals of fast methods is
J. White is with the Research Laboratory of Electronics and Department of Electrical
Engineering and Computer Science, Massachusetts Institute of Technology,
limited [40], making it difficult for novice researchers to
Cambridge, MA 02139 USA (e-mail: [email protected]). contribute to the field. In this paper, we try to provide a
Digital Object Identifier: 10.1109/JPROC.2006.889366 comprehensive yet approachable presentation of fast

600 Proceedings of the IEEE | Vol. 95, No. 3, March 2007 0018-9219/$25.00 ! 2007 IEEE
Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

methods for periodic steady-state analysis by combining


specific examples with clarifying linear algebra abstrac-
tions. Using these abstractions, we can demonstrate the
clear connections between finite-difference, shooting,
harmonic balance, and basis-collocation methods for
solving steady-state problems. For example, among users
of circuit simulation programs, it is common to categorize
numerical techniques for computing periodic steady-state
as either time-domain (finite-difference) or frequency-
domain (harmonic balance), but the use of Kronecker
product representations in this paper will make clear that Fig. 2. Transient behavior of RLC circuit with R ¼ 30, C ¼ 1, L ¼ 1,
none of the fast methods for periodic steady-state and is ðtÞ ¼ cos t.
fundamentally rely on properties of a Fourier series.
We start, in the next section, by describing the
different approaches for fomulating steady-state problems
and then present the standard numerical techniques in a For this simple RLC circuit, it is possible to avoid the
more general framework that relies heavily on the many timestep simulation and directly compute the
Kronecker product representation. Fast methods are sinusoidal steady state using what is sometimes referred
described in Section IV, along with some analysis and to as phasor analysis [2]. To use phasor analysis, first recall
computational results. And as is common practice, we end that the time behavior of the capacitor voltage for such an
with conclusions and acknowledgements. RLC circuit satisfies the differential equation

II . P E RI O D I C S TE A D Y S TA T E d2 vc ðtÞ 1 dvðtÞ 1 diðtÞ


As an example of periodic steady state analysis, consider þ þ vðtÞ þ ¼ 0: (1)
dt2 rc dt lc dt
the RLC circuit shown in Fig. 1. If the current source in
Fig. 1 is a sinusoid, and the initial capacitor voltage and
inductor current are both zero, then the capacitor voltage Then, since a cosinusoidal input currentpisffiffiffithe
ffiffiffi real part of a
will behave as shown in Fig. 2. As the figure shows, the complex exponential, Io ej!t where j ¼ %1, in sinusoidal
response of the circuit is a sinusoid whose amplitude grows steady state the voltage must also be the real part of a
until achieving a periodically repeating steady state. The complex exponential given by
solution plotted in Fig. 2 is the result of a numerical
simulation, and each of the many small circles in the plot " #
corresponds to a simulation timestep. Notice that a very j! j!t
vðtÞ ¼ Real Io e (2)
large number of timesteps are needed to compute this %!2 þ rc1 ! þ lc1
solution because of the many oscillation cycles before the
solution builds up to a steady state.
as can be seen by substituting vðtÞ ¼ Vo ej!t in (1) and
solving for Vo .
The simple phasor analysis used above for computing
sinusoidal steady is not easily generalized to nonlinear
circuits, such as those with diodes and transistors. The
behavior of such nonlinear circuits may repeat periodically
in time given a periodic input, but that periodic response
will almost certainly not be a sinusoid. However, there are
approaches for formulating systems of equations that can
be used to compute directly the periodic steady state of a
given nonlinear circuit, avoiding the many cycle time
integration shown in Fig. 2. In the next subsection, we
briefly describe one standard form for generating systems
of differential equations from circuits, and the subsections
that follow describe two periodic steady-state equation
formulations, one based on replacing the differential
equation initial condition with a boundary condition and
Fig. 1. Parallel resistor, capacitor, and inductor (RLC) circuit with the second based on using the abstract idea of a state
current source input. transition function. In later sections, we will describe

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 601


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

several numerical techniques for solving these two where C and G are each N ' N matrices whose elements
formulations of the periodic steady-state problem. are given by

A. Circuit Differential Equations


In order to describe a circuit to a simulation program, one @qj @ij
Cj;k ¼ Gj;k ¼ : (5)
must specify both the topology, how the circuit elements are @vk @vk
interconnected, and the element constitutive equations, how
the element terminal currents and terminal voltages are
The basic forms given in (3) and (4) will be used
related. The interconnection can be specified by labeling
extensively throughout the rest of this paper, so to make the
n þ 1 connection points of element terminals, referred to as
ideas clearer, consider the example of the current-source
the nodes, and then listing which of b element terminals are
driven RLC circuit given in Fig. 1. The differential equation
connected to which node. A system of n equations in b
system generated by modified nodal analysis is given by
unknowns is then generated by insisting that the terminal
currents incident at each node, except for a reference or
Bground[ node, sum to zero. This conservation law equation $ % $ % $ 1 %$ % $ %
c 0 d vc ðtÞ 1 vc ðtÞ i ðtÞ
is usually referred to as the Kirchhoff current law (KCL). In þ r þ s ¼0 (6)
order to generate a complete system, the element constitu- 0 l dt il ðtÞ %1 0 il ðtÞ 0
tive equations are used to relate the n node voltages with
respect to ground to b element terminal currents. The result
is a system of n þ b equations in n þ b variables, the where vc ðtÞ is the voltage across the capacitor, il ðtÞ is the
variables being ground-referenced node voltages and termi- current through the inductor, and is ðtÞ is the source
nal currents. For most circuit elements, the constitutive current.
equations are written in a voltage-controlled form, meaning When the circuit of interest contains only capacitive and
that the terminal currents are explicit functions of terminal resistive elements, and all the sources are current sources,
voltages. The voltage-controlled constitutive equations can v is precisely a set of ground-referenced node voltages, q is
be used to eliminate most of the unknown branch currents in a vector of sums of charges at a node, i is a vector of sums
the KCL equation, generating a system of equations with of currents at a node, C is a capacitance matrix, and G is a
mostly ground-referenced node voltages as unknowns. This conductance matrix. As an example of this common special
approach to generating a system of equations is referred to as case, consider the N node RC line example in Fig. 3. The
modified nodal analysis and is the equation formulation most differential equation system is given by
commonly used in circuit simulation programs [1], [3].
For circuits with energy storage elements, such as
...
2 3
inductors and capacitors, the constitutive equations in- c 0 0 0 2 3
clude time derivatives, so modified nodal analysis gen- v1
60 c
6 0 ...
077 6 7
erates a system of N differential equations in N variables of 6 .. 7 d 6 v2 7
.
6 7 6 7
the form 7 6 . 7
7 dt 4 .. 5
6
6 ..
.
6 7
4 5
vN
d 0 0 ... 0 c
qðvðtÞÞ þ iðvðtÞÞ þ uðtÞ ¼ 0 (3)
dt 2g %g 0 . . . 0 2 3 2
2 3
6 %g 2g %g . . . 0 7 v1 is ðtÞ
3
6 76 7 6
.. 76 v2 7 6 0 7
where t denotes time, uðtÞ is a N-length vector of given
6 7
þ6 . 76 . 7 þ 6 .. 7 (7)
6 76 7 6
inputs, v is an N-length vector of ground-referenced node 74 .. 5 4 . 7
..
6 5
voltages and possibly several terminal currents, ið&Þ is a
6 7
4 . 5
vN 0
function that maps the vector of N mostly node voltages to 0 0 . . . %g g
a vector of N entries most of which are sums of resistive
currents at a node, and qð&Þ is a function which maps the
vector of N mostly node voltages to a vector of N entries where 1=g ¼ r from (6).
that are mostly sums of capacitive charges or inductive
fluxes at a node. B. Boundary Condition Formulation
If the element constitutive equations are linear, or are A given function of time, xðtÞ, is said to be periodic
linearized, then (3) can be rewritten in matrix form with period T if

d
C vðtÞ þ GvðtÞ þ uðtÞ ¼ 0 (4) xðtÞ ¼ xðt þ TÞ (8)
dt

602 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

Fig. 3. Resistor-capacitor (RC) line circuit with current source input.

for all t. The circuit differential equation system has a As an example, consider the RLC example in Fig. 1,
periodic solution if the input uðtÞ is periodic and there whose associated differential equation system is given in
exists a periodic vðtÞ that satisfies (3). (6) and whose response to a sinusoidal current source from
The above condition for a periodic solution suggests zero initial conditions is plotted in Fig. 2. As is easily
that it is necessary to verify periodicity at every time verified, if the initial condition on the inductor current is
instance t, but under certain very mild conditions this is not zero, and the initial voltage on the capacitor vð0Þ ¼ 30:0,
the case. If the qð&Þ and ið&Þ satisfy certain smoothness then a single period simulation will produce one of the last
conditions, then given a particular intial condition and cycles in Fig. 2.
input, the solution to (3) will exist and be unique. This
uniqueness implies that if vð0Þ ¼ vðTÞ, and uðtÞ ¼ uðt þ TÞ C. State Transistion Function Formulation
for all t, then vðtÞ ¼ vðt þ TÞ for all t. To see this, consider An alternative point of view of the differential equation
that at time T, the input and state are such that it is identical system in (3) is to treat the system as implicitly defining an
to restarting the differential equation at t ¼ 0. Therefore, algebraic function which maps an initial condition, an
uniqueness requires that the solution on t 2 ½T; 2T) N-length vector vo , and a time, !, to the solution of the
replicates the solution on t 2 ½0; T). system at time !, an N-length vector v! . The result of
The above analysis suggests that a system of equations applying this implicitly defined state transition function to
whose solution is periodic can be generated by appending a given initial condition and time is,
the differential equation system (3) with what is often
referred as a two-point boundary constraint, as in
v! ¼ !ðvo ; !Þ (10)
d
qðvðtÞÞ þ iðvðtÞÞ þ uðtÞ ¼ 0 vðTÞ % vð0Þ ¼ 0: (9)
dt and ! can be evaluated by solving (3) for vðtÞ with the
initial condition vð0Þ ¼ vo , and then setting v! ¼ vð!Þ.
Rephrasing the result from above, given a differential
The situation is shown diagrammatically in Fig. 4.
equation system whose nonlinearities satisfy smoothness
conditions and whose input is periodic with period T, if the
solution to that system satisfies vð0Þ ¼ vðTÞ, then the vðtÞ
computed from the initial condition vT ¼ vðTÞ ¼ vð0Þ will
be the periodic steady state. The state transition function,
though implicitly defined, yields an elegant way of ex-
pressing a nonlinear algebraic equation for such a vT , as in

vT % !ðvT ; TÞ ¼ 0: (11)

1) State Transition Function Examples: The state transi-


tion function is a straightforward but abstract construction
best made clear by examples. As a very simple example,
Fig. 4. Pictorial representation of periodic steady-state condition. consider the RLC circuit in Fig. 1 with no inductor. The

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 603


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

example is then an RC circuit described by the scalar usually evaluated numerically. This issue will reappear
differential equation frequently in the material that follows.

d 1 I II . STANDARD NUMERICAL METHODS


c vðtÞ þ vðtÞ þ uðtÞ ¼ 0: (12)
dt r In this section we describe the finite-difference and basis
collocation techniques used to compute periodic steady
states from the differential equation plus boundary
The analytic solution of the scalar differential equation condition formulation, and then we describe the shooting
given an initial condition vð0Þ ¼ vo and a nonzero c is methods used to compute periodic steady-state solutions
from the state transition function-based formulation. The
main goal will be to establish connections between
Zt methods that will make the application of fast methods
%rct t%! uð!Þ
vðtÞ ¼ e vo % e% rc d! ¼ !ðvo ; tÞ: (13) in the next section more transparent. To that end, we will
c
0 introduce two general techniques. First, we review the
multidimensional Newton’s method which will be used to
solve the nonlinear algebraic system of equations
If uðtÞ is periodic with period T, then (11) can be combined generated by each of the approaches to computing steady
with (13) resulting in a formula for vT states. Second, we will introduce the Kronecker product.
The Kronecker product abstraction is used in this section
to demonstrate the close connection between finite-
ZT
1 T%! uð!Þ difference and basis collocation techniques, and is used in
vT ¼ % e% rc d!: (14)
T
1 % e%rc c the next section to describe several of the fast algorithms.
0

A. Newton’s Method
As a second more general example, consider the linear The steady-state methods described as follows all
differential equation system given in (4). If the C matrix is generate systems of Q nonlinear algebraic equations in Q
invertible, then the system can be recast as unknowns in the form

f1 ðx1 ; . . . ; xQ Þ
2 3
d
vðtÞ ¼ %AvðtÞ % C%1 uðtÞ (15) 6 f2 ðx1 ; . . . ; xQ Þ 7
dt FðxÞ * 6
6
.. 7¼0
7
(18)
4 . 5
fQ ðx1 ; . . . ; xQ Þ
where A is an N ' N matrix with A ¼ C%1 G. The solution
to (15) can be written explicitly using the matrix
exponential [2] where each fi ð&Þ is a scalar nonlinear function of a q-length
vector variable.
The most commonly used class of methods for
Zt
%At
numerically solving (18) are variants of the iterative
vðtÞ ¼ e vo % e%Aðt%!Þ C%1 uð!Þd! (16) multidimensional Newton’s method [18]. The basic
0 Newton method can be derived by examining the first
terms in a Taylor series expansion about a guess at the
solution to (18)
where e%At is the N ' N matrix exponential. Combining
(11) with (16) results in a linear system of equations for the
vector vT 0 ¼ Fðx+ Þ , FðxÞ þ JðxÞðx+ % xÞ (19)

Zt where x and x+ are the guess and the exact solution to (18),
%AT
ðIN % e ÞvT ¼ % e%Aðt%!Þ C%1 uð!Þd! (17) respectively, and JðxÞ is the Q ' Q Jacobian matrix whose
0 elements are given by

where IN is the N ' N identity matrix.


@fi ðxÞ
For nonlinear systems, there is generally no explicit Ji;j ðxÞ ¼ : (20)
form for the state transition function !ð&Þ; instead, !ð&Þ is @xj

604 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

The expansion in (19) suggests that given xk , the for m 2 f1; . . . ; Mg. Here, hm * tm % tm%1 , Fm ð&Þ is a
estimate generated by the kth step of an iterative algo- nonlinear function which maps an MN-length vector to
rithm, it is possible to improve this estimate by solving the an N-length vector and represents the jth backward-Euler
linear system timestep equation, and periodicity is invoked to replace
^vðt0 Þ with ^vðtM Þ in the j ¼ 1 equation.
The system of equations is diagrammed in Fig. 5.
Jðxk Þðxkþ1 % xk Þ ¼ %Fðxk Þ (21) It is perhaps informative to rewrite (24) in matrix
form, as in

where xkþ1 is the improved estimate of x+ .


1
% h11 IN 2
2 3
The errors generated by the multidimensional Newton h1 IN
7 qðvðt1 ÞÞ
3
method satisfy 6
6% 1 I 1
h2 IN 76 qðvðt2 ÞÞ 7
76
6 h2 N 7
6 76
6 .. .. 74 . . . 7
. .
6 7 5
+ kþ1 + k 2
kx % x k - "kx % x k (22) qðvðtM ÞÞ
4 5
% h1M IN h1M IN
iðvðt1 ÞÞ uðt1 Þ
2 3 2 3

where # is proportional to bounds on kJðxÞ%1 k and the 6 iðvðt ÞÞ 7 6 uðt Þ 7


2 7 6 2 7
þ6 7þ6 7¼0 (25)
6
ratio kFðxÞ % FðyÞk=kx % yk. Roughly, (22) implies that if 4 ... 5 4 ... 5
FðxÞ and JðxÞ are well behaved, Newton’s method will
iðvðtM ÞÞ uðtM Þ
converge very rapidly given a good initial guess. Variants of
Newton’s method are often used to improve the conver-
gence properties when the initial guess is far from the
solution [18], but the basic Newton method is sufficent for where IN is used to denote the N ' N identity matrix.
the purposes of this paper.
2) Matrix Representation Using Kronecker Products: The
B. Finite-Difference Methods backward-Euler algorithm applied to an M-point discreti-
Perhaps the most straightforward approach to nume- zation of a periodic problem can be more elegantly
rically solving (9) is to introduce a time discretization, summarized using the Kronecker product. The Kronecker
meaning that vðtÞ is represented over the period T by a product of two matrices, an n ' p matrix A and m ' l
sequence of M numerically computed discrete points matrix B, is achieved by replacing each of the np elements
of matrix A with a scaled copy of matrix B. The result is the
ðn þ mÞ ' ðp þ lÞ matrix
2 3 2 3
vðt1 Þ ^vðt1 Þ
6 vðt2 Þ 7 6 ^vðt2 Þ 7
6 .. 7 , 6 .. 7 * v^ (23)
6 7 6 7
A1;1 B A1;2 B . . .
2 3
4 . 5 4 . 5 A1;p B
6 A2;1 B A2;2 B . . . A2;p B 7
vðtM Þ ^vðtM Þ
A.B*6 . .. .. .. 7: (26)
6 7
4 .. . . . 5
An;1 B An;2 B . . . An;p B
where tM ¼ T, the hat is used to denote numerical
approximation, and v^ 2 <MN is introduced for notational
convenience. Note that v^ does not include ^vðt0 Þ, as the
boundary condition in (9) implies ^vðt0 Þ ¼ ^vðtM Þ.

1) Backward-Euler Example: A variety of methods can be


used to derive a system of nonlinear equations from
which to compute v^. For example, if the backward-Euler
method is used to approximate the derivative in (3), then
v^ must satisfy a sequence of M systems of nonlinear
equations

qð^vðtm ÞÞ% qð^vðtm%1 ÞÞ


Fm ð^
vÞ * þ iðvðtm ÞÞþ uðtm Þ ¼ 0 (24) Fig. 5. Graphical representation of (24). Note that there is no large
hm dot before the first Euler-step block, indicating that v^ðt0 Þ ¼ v^ðtM Þ.

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 605


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

The Kronecker product notation makes it possible to difference formula in (28), Dbe is replaced by Dbd2
summarize the backward-Euler M-step periodic discretiza- where
tion with an M ' M differentiation matrix

$10 $12 $11


2 3
0 ... 0
1
% h11
2 3
h1 6 $2 $20 0 ... 0 $22 7
6 1 6 1 7
1
6 % h2
7 6 3
$31 $30
7
Dbd2 6 $2
¼6 0 ... 0 7 7: (32)
h2 7
Dbe ¼ 6 .. ..
7 (27)
6 7 .. .. ..
. .
6 7
. . .
4 5 4 5
% h1M 1
hM ; 0 ... 0 $M $M $M
2 1 0

and then apply the backward-Euler periodic discretization


to an N-dimensional differential equation system using the 3) Trapezoidal Rule RC Example: The Trapezoidal rule is
Kronecker product. For example, (25) becomes not a backward or forward difference formula but can still
be used to compute steady-state solutions using a minor
modification of the above finite-difference method. The
Fð^vÞ ¼ Dbe . IN qð^
v Þ þ ið^
vÞ þ u ¼ 0 (28) Trapezoidal method is also interesting to study in this
setting because of a curious property we will make clear by
example.
where IN is the N ' N identity matrix and Again consider the differential equation for the RC
circuit from (12), repeated here reorganized and with g
2
qð^vðt1 ÞÞ
3 2
ið^vðt1 ÞÞ
3 replacing 1=r
6 qð^vðt2 ÞÞ 7 6 ið^vðt2 ÞÞ 7
6 7 6 7
v Þ *6
qð^ 6 ..
7; ið^
7 v Þ * 6
6 ..
7;
7 d
4 . 5 4 . 5 c vðtÞ ¼ %gvðtÞ % uðtÞ: (33)
dt
qð^vðtm ÞÞ ið^vðtm ÞÞ
uðt1 Þ
2 3
6 uðt2 Þ 7 The mth timestep of the Trapezoidal rule applied to
computing the solution to (33) is
6 7
u *6
6 .. 7:
7 (29)
4 . 5
uðtM ÞÞ c
ð^vðtm Þ % ^vðtm%1 ÞÞ
hm
1
One elegant aspect of the matrix form in (28) is the ¼ % ð g^vðtm Þ þ uðtm Þ þ g^vðtm%1 Þ þ uðtm%1 ÞÞ (34)
ease with which it is possible to substitute more accurate 2
backward or forward discretization methods to replace
backward-Euler. It is only necessary to replace Dbe in (28). and when used to compute a periodic steady-state solution
For example, the L-step backward difference methods [32] yields the matrix equation
estimate a time derivative using several backward time-
points, as in
c
þ 0:5g 0 ... 0 % hc1 þ 0:5g
2 3
h1
6 c c
6 % h2 þ 0:5g þ 0:5g 0 ... 0
7
L h2 7
d X
7'
$mj q vðtm%j Þ :
& ' 6 7
qðvðtm ÞÞ , (30) 6 ..
dt j¼0
6
4 .
7
5
0 ... 0 % hcM þ 0:5g hcM þ 0:5g
vðt1 Þ 0:5ðuðt1 Þ þ uðtM ÞÞ
2 3 2 3
Note that for backward-Euler, L ¼ 1 and
6 vðt2 Þ 7 6 0:5ðuðt2 Þ þ uðt1 ÞÞ 7
6 7 6 7
6 .. 7 ¼ 6
7: (35)
..
6 7 6
7
1 4 . 5 4 .
$m0 ¼ $m1 ¼
5
(31)
hm vðtM Þ 0:5ðþuðtM Þ þ uðtM%1 ÞÞ

and note also that $mj will be independent of m if all the Now suppose the capacitance approaches zero, then the
timesteps are equal. To substitute a two-step backward- matrix in (35) takes on a curious property. If the number of

606 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

timesteps M, is odd, then a reasonable solution is and


computed. However, if the number of timesteps is even,
then the matrix in (35) is singular, and the eigenvector
associated with the zero eigenvalue is of the form
G1 0 0 ... 0
2 3
60 G2 0 ... 0 7
6 .. 7
G¼6 . (39)
2 3 6 7
1:0 6 ..
7
7
6 %1:0 7
6 7
4 . 5
6
6 1:0 7
7 0 0 ... 0 GM
6 7
6 %1:0 7
7: (36)
6 . 7
6
6 .. 7
6 7 it is possible to give a fairly compact form to represent the
4 1:0 5
6 7
MN ' MN Jacobian of Fð&Þ in (28)
%1:0

JF ðvÞ ¼ ðDfd . IN ÞC þ G: (40)


The seasoned circuit simulation user or developer may
recognize this as the periodic steady-state representation
of an artifact known as the trapezoidal rule ringing problem
[33]. Nevertheless, the fact that the ringing appears and C. Basis Collocation Methods
disappears simply by incrementing the number of time- An alternative to the finite-difference method for
steps makes this issue the numerical equivalent of a pretty solving (9) is to represent the solution approximately as a
good card trick, no doubt useful for impressing one’s guests weighted sum of basis functions that satisfy the periodicity
at parties. constraint and then generate a system of equations for
computing the weights. In circuit simulation, the most
4) Jacobian for Newton’s Method: Before deriving the commonly used techniques for generating equations for
Jacobian needed to apply Newton’s method to (28), it is the basis function weights are the so-called spectral
useful (or perhaps just very appealing to the authors) to collocation methods [44]. The name betrays a history of
note the simplicity with which the Kronecker product can using sines and cosines as basis functions, though other
be used to express the linear algebriac system which must bases, such as polynomials and wavelets, have found recent
be solved to compute the steady-state solution associated use [41], [45]. In spectral collocation methods, the solution
with the finite-difference method applied to the linear is represented by the weighted sum of basis functions that
differential equation system in (4). For this case, (28) exactly satisfy the differential equation, but only at a set of
simplifies to collocation timepoints.
The equations for spectral collocation are most easily
derived if the set of basis functions have certain
ðDfd . C þ IM . GÞ^
v¼u (37) properties. To demonstrate those properties, consider a
basis set being used to approximate a periodic function
xðtÞ, as in
where Dfd is the differentiation matrix associated with the
selected finite-difference scheme.
The Jacobian for Fð&Þ in (28) has structural similarities K
X
to (37) but will require the M derivative matrices xðtÞ , X½k)%k ðtÞ (41)
Cm ¼ dqð^vðtm ÞÞ=dv a n d Gm ¼ dið^vðtm ÞÞ=dv f o r m 2 k¼1
f1; . . . ; Mg. By first defining the MN ' MN block diagonal
matrices
where %k ðtÞ and X½k), k 2 1; . . . ; K are the periodic basis
functions and the basis function weights, respectively. We
C1 0 0 ... 0 will assume that each of the %k ðtÞ’s in (41) are
2 3
60 C2 0 ... 0 7 differentiable, and in addition we will assume the basis
6 .. 7
set must have an interpolation property. That is, it must be
C¼6 . (38)
6 7
7
6 .. 7 possible to determine uniquely the K basis function
4 . 5
weights given a set of K sample values of xðtÞ, though
0 0 ... 0 CM the sample timepoints may depend on the basis. This

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 607


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

interpolation condition implies that there exists a set of K (46) to be orthogonal to each of the basis functions. Such
timepoints, t1 ; . . . tK , such that the K ' K matrix methods are referred to as Galerkin methods [7], [44], [46]
and have played an important role in the development of
2 3 periodic steady-state methods for circuits though they are
%1 ðt1 Þ ... %K ðt1 Þ not the focus in this paper.
6 .. .. 7
"%1 *4 . . 5 (42) If the number of collocation points and the number of
%1 ðtK Þ . . . %K ðtK Þ basis functions are equal, M ¼ K, and the basis set satisfies
the interpolation condition mentioned above with an
M ' M interpolation matrix ", then (47) can be recast
is nonsingular and therefore the basis function coefficients using the Kronecker notation and paralleling (28) as
can be uniquely determined from the sample points using

2 3 2 3 Fð^vÞ ¼ "_ %1 " . IN qð^


v Þ þ ið^
vÞ þ u ¼ 0 (48)
X1 xðt1 Þ
6 .. 7 6 .. 7
4 . 5 ¼ "4 . 5 : (43)
where IN is the N ' N identity matrix and
XK xðtK Þ

%_ 1 ðt1 Þ . . . %_ K ðt1 Þ
2 3
To use basis functions to solve (9), consider expanding 6 . .. 7
qðvðtÞÞ in (9) as "_ %1 * 4 .. . 5: (49)
%_ 1 ðtK Þ . . . %_ K ðtK Þ
K
X
qðvðtÞÞ , Q½k)%k ðtÞ (44) By analogy to (28), the product "_ %1 " in (48) can be
k¼1 denoted as a basis function associated differentiation
matrix Dbda
where Q½k) is the N-length vector of weights for the kth
basis function.
Dbda ¼ "_ %1 " (50)
Substituting (44) in (3) yields

K
! and (48) becomes identical in form to (28)
d X
Q½k)%k ðtÞ þ iðvðtÞÞ þ uðtÞ , 0: (45)
dt k¼1
Fð^vÞ ¼ Dbda . IN qð^
v Þ þ ið^
v Þ þ u ¼ 0: (51)

Moving the time derivative inside the finite sum simplifies


Therefore, regardless of the choice of the set of basis
(45) and we have
functions, using the collocation technique to compute the
basis function weights implies the resulting method is
K precisely analgous to a finite-difference method with a
Q½k)%_ k ðtÞ þ iðvðtÞÞ þ uðtÞ , 0
X
(46) particular choice of discretization matrix. For the backward-
k¼1 difference methods described above, the M ' M matrix Dfd
had only order M nonzeros, but as we will see in the Fourier
example that follows that for spectral collocation methods
where note that the dot above the basis function is used to
the Dbda matrix is typically dense.
denote the basis function time derivative.
Since basis collocation methods generate nonlinear
In order to generate a system of equations for the
systems of equations that are structurally identical to those
weights, (46) is precisely enforced at M collocation points
generated by the finite-difference methods, when New-
ft1 ; . . . ; tM g,
ton’s is used to solve (51), the formula for the required
MN ' MN Jacobian of Fð&Þ in (51) follows from (40) and is
K given by
Q½k)%_ k ðtm Þ þ iðvðtm ÞÞ þ uðtm Þ ¼ 0
X
(47)
k¼1
JF ððvÞÞ ¼ ðDbda . IN ÞC þ G (52)

for m 2 f1; . . . ; Mg. It is also possible to generate


equations for the basis function weights by enforcing where C and G are as defined in (38) and (39).

608 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

1) Fourier Basis Example: If a sinusoid is the input to a fast Fourier transform and its inverse. In addition, "_ %1
F ,
system of differential equations generated by a linear time- representing the time derivative of the series representa-
invariant circuit, then the associated periodic steady-state tion, is given by
solution will be a scaled and phase-shifted sinusoid of the
same frequency. For a mildly nonlinear circuit with a
sinusoidal input, the solution is often accurately repre- "_ %1 %1
F ¼ "F # (57)
sented by a sinusoid and a few of its harmonics. This
observation suggests that a truncated Fourier series will be
where # is the diagonal matrix given by
an efficient basis set for solving periodic steady-state
problems of mildly nonlinear circuits.
To begin, any square integrable T-periodic waveform 2
j2&fK
3
xðtÞ can be represented as a Fourier series 6 j2&fK%1 7
#*6 .. .. 7: (58)
6 7
4 . . 5
¼1
kX j2&f%K
xðtÞ ¼ X½k)ej2&fk t (53)
k¼%1
The Fourier basis collocation method generates a
system of equations of the form (51), where
where fk ¼ kt=T and

DF ¼ "%1 #" (59)


ZT=2
1
X½k) ¼ xðtÞe%j2&fk t dt: (54)
T
%T=2 is the differentiation matrix. The weights for this spectral
differentiation matrix for the case of T ¼ 17, M ¼ 17, and
at timepoint t9 ¼ 9 are plotted in Fig. 6. Note that the
If xðtÞ is both periodic and is sufficiently smooth, (e.g., weights at t8 and t10 are approximately %1 and 1, respec-
infinitely continuously differentiable), then X½k) ! 0 tively, so spectral differentiation is somewhat similar to a
exponentially fast with increasing k. This implies xðtÞ central-difference scheme in which
can be accurately represented with a truncated Fourier
series, that is x^ðtÞ , xðtÞ where x^ðtÞ is given by the
truncated Fourier series d xðt10 Þ % xðt8 Þ
xðt9 Þ , : (60)
dt t10 % t8

k¼K
X
x^ðtÞ ¼ ^ j2&fk t
X½k)e (55)
k¼%K

where the number of harmonics K is typically fewer than


one hundred. Note that the time derivative of x^ðtÞ is
given by

k¼K
d X
^ j2&fk t
x^ðtÞ ¼ X½k)j2&f ke : (56)
dt k¼%K

If a truncated Fourier series is used as the basis set when


approximately solving (9), the method is referred to as
harmonic balance [6] or a Fourier spectral method [17].
If the M ¼ 2K þ 1 collocation timepoints are uniformly
distributed throughout a period from %ðT=2Þ to T=2, as in
tm ¼ ððm % ðK þ 1=2ÞÞ=MÞð1=TÞ, then the associated in-
terpolation matrix "F is just the discrete Fourier transform
and "%1F is the inverse discrete Fourier transform, each of Fig. 6. Harmonic balance discretization weights for t9 where T ¼ 17
which can be applied in order M log M operations using the and M ¼ 17.

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 609


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

The connection between spectral differentiation and Then, the difference between the initial and final states is
standard differencing schemes can be exploited when used to correct the initial state, and the method shoots
developing fast methods for computing solutions to (28) forward another period. As is commonly noted in the
and (51), a point we will return to subsequently. numerical analysis literature, this shooting procedure will
The error analysis of spectral-collocation methods can be disasteriously ineffective if the first guess at a periodic
be found in [17] and [19]. Also, many implementations of steady state excites rapidly growing unstable behavior in
harmonic balance in circuit simulators use spectral the nonlinear system [18], but this is rarely an issue for
Galerkin methods rather than collocation schemes [7], circuit simulation. Circuits with such unstable Bmodes[
and if a small number of harmonics are used, Galerkin are unlikely to be useful in practice, and most circuit
spectral methods can have superior accuracy and often designers using periodic steady-state analysis have already
lead to nonlinear systems of equations that are more easily verified that their designs are quite stable.
solved with Newton’s method [47]. The state correction needed for the shooting method
can be performed with Newton’s method applied to (64),
D. Shooting Methods in which case the correction equation becomes
The numerical procedure for solving the state transi-
tion function based periodic steady-state formulation in
IN % J!^ ^vk ðtM Þ; T ^vkþ1 ðtM Þ % ^vk ðtM Þ ¼ %Fsh ^vk ðtM Þ
( & ')( ) & '
(11) is most easily derived for a specific discretization
scheme and then generalized. Once again, consider (65)
applying the simple backward-Euler algorithm to (3).
Given any ^vðt0 Þ, the nonlinear equation
where k is the Newton iteration index, IN is N ' N identity
matrix, and
qð^vðt1 ÞÞ % qð^vðt0 ÞÞ
þ ið^vðt1 ÞÞ þ uðt1 Þ ¼ 0 (61)
h1
d ^
J!^ ðv; TÞ * !ðv; TÞ (66)
can be solved, presumably using a multidimensional dv
Newton method, for ^vðt1 Þ. Then, ^vðt1 Þ can be used to solve
is referred to as discretized sensitivity matrix.
qð^vðt2 ÞÞ % qð^vðt1 ÞÞ To complete the description of the shooting-Newton
þ ið^vðt2 ÞÞ þ uðt2 Þ ¼ 0 (62) method, it is necessary to present the procedure for com-
h2 ^ TÞ and J ^ ðv; TÞ. As mentioned above, computing
puting !ðv; !
the approximate state transition function is equivalent to
for ^vðt2 Þ. This procedure can be continued, effectively solving the backward-Euler equations as in (24) one time-
integrating the differential equation one timestep at a time step at a time. Solving the backward-Euler equations is
until ^vðtm Þ has been computed. And since the nonlinear usually accomplished using an inner Newton iteration, as in
equations are solved at each timestep, ^vðtm Þ is an implicitly
defined algebraic function of ^vðt0 Þ. This implicitly defined $ %*
function is a numerical approximation to the state- Cmkl + 1
þ Gmkl ^vk;ðlþ1Þ ðtm Þ % ^vk;l ðtm Þ ¼ %
transition function !ð&Þ described in the previous section. hm hm
That is, ' q ^vk;l ðtm Þ % q ^vk;l ðtm Þ % i ^vk;l ðtm Þ % uðtm Þ (67)
& & ' & '' & '

^ ð^vðt0 Þ; tm Þ , !ð^vðt0 Þ; tm Þ:
^vðtm Þ ¼ ! (63) where m is the timestep index, k is the shooting-Newton
iteration index, l is the inner Newton iteration index,
Cmkl ¼ ðdqð^vk;l ðtm ÞÞ=dv and Gmkl ¼ ðdið^vk;l ðtm ÞÞ=dv. Some-
The discretized version of the state-transition function-
times, there are just too many indices.
based periodic steady-state formulation is then
To see how to compute J!^ ðv; TÞ as a by-product of the
Newton method in (67), let l ¼ + denote the inner Newton
^ ð^vðtM Þ; tM Þ ¼ 0: iteration index which achieves sufficent convergence and
Fð^vðtm ÞÞ * ^vðtM Þ % ! (64)
let ^vk;+ ðtm Þ denote the associated inner Newton converged
solution. Using this notation
Using (64) to compute a steady-state solution is often
referred to as a shooting method, in which one guesses a
periodic steady state and then shoots forward one period qð^vk;+ ðtm ÞÞ% qð^vk;+ ðtm%1 ÞÞ & k;+
þ i ^v ðtm Þ þ uðtm Þ ¼ 'm
'
(68)
with the hope of arriving close to the guessed initial state. hm

610 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

where the left-hand side of (68) is almost zero, so that 'm is mating the matrix exponential in (73) and the convolution
bounded by the inner Newton convergence tolerance. integral in (74).
Implicitly differentiating (68) with respect to v, and
assuming that 'm is independent of v, results in 2) Comparing to Finite-Difference Methods: If Newton’s
method is used for both the shooting method, as in (65),
% k;+ and for the finite difference method, in which case the
d^v ðtm Þ Cðm%1Þk+ d^vk;+ ðtm%1 Þ
$
Cmk+ Jacobian is (40), there appears to be an advantage for the
þ Gmk+ ¼ (69)
hm dv hm dv shooting-Newton method. The shooting-Newton method
is being used to solve a system of N nonlinear equations,
whereas the finite-difference-Newton method is being
where it is usually the case that the matrices Cmk+ =hm and used to solve an NM system of nonlinear equations. This
Gmk+ are available as a by-product of the inner Newton advantage is not as significant as it seems, primarily
iteration. because computing the sensitivity matrix according to (70)
Recursively applying (69), with the initial value is more expensive than computing the finite-difference
^vk;+ ðt0 Þ ¼ v, yields a product form for the Jacobian Jacobian. In this section, we examine the backward-Euler
discretized equations to show that solving a system the
%%1 shooting method Jacobian, as in (65), is nearly equivalent
M $
Y Cmk+ Cðm%1Þk+ to solving a preconditioned system involving the finite-
J!^ ðv; tM Þ ¼ þ Gmk+ (70)
m¼1
hm hm difference method Jacobian, in (40).
To start, let L be the NM ' NM the block lower
bidiagonal matrix given by
where the notation M
Q
m¼1 indicates the M-term product
rather than a sum [15]. 2 C1 3
þ G1
h1
1) Linear Example: If a fixed timestep backward-Euler 6 % C1 C2
þ G2 7
6 h2 h2 7
discretization scheme is applied to (4), then L*6
6 .. ..
7
7 (75)
4 . . 5
% ChM%1
M
CM
hM þ GM
C
ð^vðtm Þ % ^vðtm%1 ÞÞ þ Gvðtm Þ þ uðtm Þ ¼ 0 (71)
h
and define B as the NM ' NM matrix with a single
nonzero block
for m 2 f1; . . . ; Mg, where periodicity implies that
^vðtM Þ ¼ ^vðt0 Þ. Solving for ^vðtM Þ yields a linear system
of equations CM
0 ... 0
2 3
h1
6 0 7
B*6 .. .. 7 (76)
½IN % J! )^vðtM Þ ¼ b (72) 4
. .
5
0 0

where J! is the derivative of the state transition function,


or the sensitivity matrix, and is given by where Cm and Gm are the N ' N matrices which denote
dqð^vðtj ÞÞ=dv and dið^vðtj ÞÞ=dv, respectively.
"" #%1 #M The matrix L defined in (75) is block lower bidiagonal,
C C where the diagonal blocks have the same structure as the
J! ¼ þG (73)
h h single timestep Jacobian in (67). It then follows that the
cost of applying L%1 is no more than computing one
Newton iteration at each of M timesteps. One simply
and the right-hand side N-length vector b is given by factors the diagonal blocks of L and backsolves. Formally,
the result can be written as
M "" #%1 #m " #%1
X C C C
b¼ þG þG uðtM%m Þ: (74)
m¼1
h h h ðINM % L%1 BÞð~
v kþ1 % v~k Þ ¼ %L%1 Fð~
vkÞ (77)

It is interesting to compare (72) and (74) to (16), note how though L%1 would never be explicitly computed. Here, INM
the fixed-timestep backward-Euler algorithm is approxi- is the NM ' NM identity matrix.

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 611


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

Fig. 7. Diagram of solving backward-Euler discretized finite-difference-Newton iteration equation (top picture) and solving shooting-Newton
iteration equation (bottom picture). Note that for shooting method the RHS contribution at intermediate timesteps is zero, due to the inner
newton iteration.

Examining (77) reveals an important feature, that L%1 B An alternative interpretation of the connection be-
is an NM ' NM matrix whose only nonzero entries are in tween shooting-Newton and finite-difference-Newton
the last N columns. Specifically, methods is to view the shooting-Newton method as a
two-level Newton method [10] for solving (24). In the
shooting-Newton method, if ^vðtm Þ is computed by using an
IN 0 0 ... 0 %P1
2 3
inner Newton method to solve the nonlinear equation Fm
6 0 IN 0 ... 0 %P2 7 at each timestep, starting with ^vðto Þ ¼ ^vðtM Þ, or equiva-
6 . .. .. .. .. .. 7
6 .
6 . . . . . .7
7 ^ vðtM Þ; tm Þ, then
lently if ^vðtm Þ is computed by evaluating !ð^
%1
ðINM % L BÞ ¼ 6
6 ... .. .. .. 7 Fi ð^vÞ in (24) will be nearly zero for i 2 f1; . . . ; M % 1g,
. . . 0 %PM%2 7 ^ vðtM Þ; tM Þ
6
6 . .. .. ..
7 regardless of the choice of ^vðtM Þ. Of course, !ð^
4 ..
7
. . . IN %PM%1 5 will not necessarily be equal to ^vðtM Þ; therefore, FM ð^vÞ will
0 ... ... . . . 0 I N % PM not be zero, unless ^vðtM Þ ¼ ^vðt0 Þ is the right initial
(78) condition to produce the periodic steady state. In the
shooting-Newton method, an outer Newton method is used
to correct ^vðtM Þ. The difference between the two methods
where the N ' N matrix PM is the NðM % 1Þ þ 1 through can then be characterized by differences in inputs to the
NM rows of the last N columns of L%1 B. This bordered-block linearized systems, as diagrammed in Fig. 7.
diagonal form implies that v~kþ1 % v~k in (77) can be com-
puted in three steps. The first step is to compute PM , the 3) More General Shooting Methods: Many finite-
second step is to use the computed PM to determine the last difference methods can be converted to shooting methods,
N entries in v~kþ1 % v~k . The last step in solving (77) is to but only if the underlying time discretization scheme
compute the rest of v~kþ1 % v~k by backsolving with L. treats the periodicity constraint by Bwrappping around[ a
The close relation between solving (77) and (65) can single final timepoint. For discretization schemes which
now be easily established. If L and B are formed using Cmk+ satisfy this constraint, the M ' M periodic differentiation
and Gmk+ as defined in (69), then by explicitly computing matrix, D, is lower triangular except for a single entry in
L%1 B it can be shown that the shooting method Jacobian the upper right-hand corner. As an example, the differ-
J! ð^vk ðt0 Þ; tM Þ is equal to PM . The importance of this entiation matrix Dbe in (27) is lower bidiagonal except
observation is that solving the shooting-Newton update for a single entry in the upper right-hand corner. To be
equation is nearly computationally equivalent to solving a more precise, if
preconditioned finite-difference-Newton update (77). The
comparison can be made precise if qðvÞ and iðvÞ are linear,
so that the C and G matrices are independent of v, then the Di;j ¼ 0; j 9 i; i 6¼ 1; j 6¼ M (79)
^vkþ1 ðtM Þ % ^vk ðtM Þ produced by the kth iteration of New-
ton’s method applied to the finite-difference formulation
will be identical to the ^vkþ1 ðtM Þ % ^vk ðtM Þ produced by consider separating D into its lower triangular part, DL ,
solving (65). and a single entry D1;M . The shooting method can then

612 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

be compactly described as solving the nonlinear al- IV. FAST METHODS


gebriac system As described in the previous section, the finite-difference
basis-collocation and shooting methods all generate
& T ' systems of nonlinear equations that are typically solved
FðvT Þ ¼ vT % ~
eM . IN v^ ¼ 0 (80) with the multidimensional Newton’s method. The stan-
dard approach for solving the linear systems that generate
the Newton method updates, as in (21), is to use sparse
for the N-length vector vT , where ~
eM an M-length vector of matrix techniques to form and factor an explicit represen-
zeros except for unity in the Mth entry as in tation of the Newton method Jacobian [6], [12]. When this
standard approach is applied to computing the updates for
Newton’s method applied to any of the periodic steady-
0
2 3
state methods, the cost of forming and factoring the
6 ... 7 explicit Jacobian grows too fast with problem size and the
eM ¼ 6
~ 405
7 (81)
method becomes infeasible for large circuits.
1 It is important to take note that we explicitly mention
the cost of forming the explicit Jacobian. The reason is that
for all the steady-state methods described in the previous
and v^ is an MN-length vector which is an implicitly defined section, the Jacobians were given in an implicit form, as a
function of vT . Specifically, v^ is defined as the solution to combination of sums, products, and possibly Kronecker
the system of MN nonlinear equations products. For the backward-Euler based shooting method,
the N ' N Jacobian Jshoot , is

DL . IN qð^
v Þ þ ið^
v Þ þ u þ ðD1;M~
e1 Þ . qðvT Þ ¼ 0 (82)
M "$ %%1 #
Y Cm Cm
Jshoot ¼ IN % þ Gm (85)
m¼1
hm hm
where ~e1 is the M-length vector of zeros except for unity
in the first entry. Perhaps the last Kronecker term
generating an NM-length vector in (82) suggests that the and is the difference between the identity matrix and a
authors have become carried away and overused the product of M N ' N matrices, each of which must be
Kronecker product, as computed as the product of a scaled capacitance matrix
and the inverse of a weighted sum of a capacitance and a
conductance matrix. The NM ' NM finite-difference or
D1;M qðvT Þ
2 3
basis-collocation Jacobians, denoted generally as Jfdbc , are
6 0 7
also implicitly defined. In particular
ðD1;M~
e1 Þ . qðvT Þ ¼ 6 .. 7 (83)
4 . 5
0
Jfdbc ¼ ðD . IN ÞC þ G (86)

is more easily understood without the use of the Kronecker


is constructed from an M ' M differentiation matrix D, a
product, but the form will lend some insight, as will be
set of M N ' N capacitance and conductance matrices
clear when examining the equation for the Jacobian.
which make up the diagonal blocks of C and G, and an
If Newton’s method is used to solve (80), then note an
N ' N identity matrix.
inner Newton’s method will be required to solve (82). The
Computing the explicit representation of the Jacobian
Jacobian associated with (80) can be determined using
from either (85) or (86) is expensive, and therefore any
implicit differentiation and is given by
fast method for these problems must avoid explicit
Jacobian construction. Some specialized methods with
& T '%1 this property have been developed for shooting methods
eM . IN ðDL . IN ÞC þ G
'&
Jshoot ðvT Þ ¼ IN þ ~
" # based on sampling results of multiperiod transient
@qðvT Þ integration [25], and specialized methods have been
' D1;M~ e1 . (84)
@v developed for Fourier basis collocation methods which
use Jacobian approximations [36]. Most of these methods
have been abandoned in favor of solving the Newton
where C and G are as defined in (38) and (39), and iteration equation using a Krylov subspace method, such as
ððDL . IN ÞC þ G is a block lower triangular matrix whose the generalized minimum residual method (GMRES) and
inverse is inexpensive to apply. the quasi-minimum residual method (QMR) [9], [27].

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 613


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

When combined with good preconditioners, to be discussed convergence can be accelerated by replacing the original
subsequently, Krylov subspace methods reliably solve problem with a preconditioned problem
linear systems of equations but do not require an explicit
system matrix. Instead, Krylov subspace methods only
require matrix-vector products, and such products can be PAX ¼ Pb (87)
computed efficiently using the implicit forms of the
Jacobians given above.
Claiming that Krylov subspace methods do not require where A and b are the original system’s matrix and right-
explicit system matrices is somewhat misleading, as these hand side, and P is the preconditioner. Obviously, the
methods converge quite slowly without a good precondi- preconditioner that best accelerates the Krylov subspace
tioner, and preconditioners often require that at least some method is P ¼ A%1 , but were such a preconditioner avail-
of the system matrix be explicitly represented. In the able, no iterative method would be needed.
following section, we describe one of the Krylov subspace
methods, GMRES, and the idea of preconditioning. In the B. Fast Shooting Methods
subsections that follow we address the issue of precondi- Applying GMRES to solving the backward-Euler
tioning, first demonstrating why Krylov subspace methods discretized shooting Newton iteration equation is straight-
converge rapidly for shooting methods even without forward, as multiplying by the shooting method Jacobian in
preconditioning, then describing lower triangular and (85) can be accomplished using the simple M-step
averaging based preconditioning for basis-collocation and algorithm as follows.
finite-difference methods, drawing connections to shoot-
ing methods when informative. Computing pk ¼ Jshoot pk%1
Initialize ptemp ¼ pk%1
A. Krylov Subspace Methods For k ¼ 1 to M {
Krylov subspace methods are the most commonly used Solve ððCm =hm Þ þ Gm Þpk ¼ ðCm =hm Þptemp
iterative technique for solving Newton iteration equations Set ptemp ¼ pk
for periodic steady-state solvers. The two main reasons for }
the popularity of this class of iterative methods are that Finalize pk ¼ pk%1 % pk
only matrix-vector products are required, avoiding explic-
itly forming the system matrix, and that convergence is The N ' N Cm and Gm matrices are typically quite
rapid when preconditioned effectively. sparse, so each of the M matrix solutions required in the
As an example of a Krylov subspace method, consider above algorithm require roughly order N operations, where
the generalized minimum residual algorithm, GMRES [9]. orderð&Þ is used informally here to imply proportional
A simplified version of GMRES applied to solving a generic growth. Given the order N cost of the matrix solution in
problem is given as follows. this case, computing the entire matrix-vector product
requires order MN operations.
GMRES Algorithm for Solving Ax ¼ b Note that the above algorithm can also be used N times
Guess at a solution, x0 . to compute an explicit representation of Jshoot , generating
Initialize the search direction p0 ¼ b % Ax0 . the explicit matrix one column at a time. To compute the
Set k ¼ 1. ith column, set pk%1 ¼ ~ ei , where ~
ei can be thought of as the
do { ith unit vector or the ith column of the N ' N identity
Compute the new search direction,
Pk%1 pk ¼ Apk%1 . matrix. Using this method, the cost of computing an
Orthogonalize, p ¼ p % j¼0 (k;j pj .
k k
explicit representation of the shooting method Jacobian
Choose $k in xk ¼ xk%1 þ $k pk requires order MN 2 operations, which roughly equals the
to minimize krk k ¼ kb % Axk k. cost of performing N GMRES iterations.
If krk k G tolerancegmres , return vk as the solution. When applied to solving the shooting-Newton iteration
else Set k ¼ k þ 1. equation, GMRES and other Krylov subspace methods
} converge surprisingly rapidly without preconditioning and
typically require many fewer than N iterations to achieve
Krylov subspace methods converge rapidly when applied sufficient accuracy. This observation, combined with the
to matrices which are not too nonnormal and whose above analysis, implies that using a matrix-implicit
eigenvalues are contained in a small number of tight clusters GMRES algorithm to compute the shooting-Newton up-
[44]. Therefore, Krylov subspace methods converge rapidly date will be far faster than computing the explicit shooting-
when applied to matrices which are small perturbations from Newton Jacobian.
the identity matrix, but can, as an example, converge In order to develop some insight as to why GMRES
remarkably slowly when applied to a diagonal matrix whose converges so rapidly when applied to matrices like the
diagonal entries are widely dispersed. In many cases, shooting method Jacobian in (85), we consider the

614 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

linear problem (4) and assume the C matrix is invertible GMRES algorithm is plotted in Fig. 9 for solving the
so that A ¼ C%1 G is defined as in (15). For this linear periodic steady-state equation for the RC line with three
case and a steady-state period T, the shooting method different periods. The fastest converging case is when the
Jacobian is approximately period is 10 000 s, as only a few time constants are larger
than the period. The convergence of GMRES is slower
when the period is 1000, as more of the time constants are
Jshoot , I % e%AT : (88) larger than the period. And as one might have predicted,
the GMRES algorithm requires dozens of iterations when
the period is 100, as now there are then dozens of time
Since eigenvalues are continuous functions of matrix
constants much longer than the period.
elements, any eigenproperties of I % e%AT will roughly
hold for Jshoot , provided the discretization is accurate. In
1) Results: In this section, we present experimental
particular, using the properties of the matrix exponential
results for the performance of three methods for solving
implies
the shooting-Newton update equations: direct factoriza-
tion or Gaussian elimination, explicit GMRES, and matrix-
eigðJshoot Þ , eigðI % e%AT Þ ¼ 1%e%)i T i 2 1; . . . n (89) implicit GMRES.
Table 1 contains a comparison of the performance of
the three equation solvers in an implementation of a
where )i is the ith eigenvalue of A, or in circuit terms, the shooting-Newton method in a prototype circuit simulator.
inverse of the ith time constant. Therefore, if all but a few The test examples includes: xtal, a crystal filter; mixer is a
of the circuit time constants are smaller than the steady- small GaAs mixer; dbmixer is a double balanced mixer;
state period T, then e%)i T / 1 and the eigenvalues of Jshoot lmixer is a large bipolar mixer; cheby is an active filter; and
will be tightly clustered near one. That there might be a scf is a relatively large switched capacitor filter. The second
few Boutliers[ has a limited impact on Krylov subspace column in Table 1 lists the number of equations in each
method convergence. circuit. The third column represents the number of one-
As a demonstration example, consider applying period transient analyses that were necessary to achieve
GMRES to solving the shooting method matrix associated steady state using the shooting-Newton method. The
a 500 node RC line circuit as in Fig. 3, with one farad fourth, fifth, and sixth columns represent, respectively, the
capacitors and 1-# resistors. The time constants for the time in seconds to achieve steady state using Gaussian
circuit vary from tenths of a second to nearly 30 000 s and elimination, explicit GMRES, and the matrix-implicit
are plotted in Fig. 8. The error versus iteration for the form. All the results were obtained on a HP712/80

Fig. 8. Time constants for 500 node RC line.

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 615


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

Fig. 9. Error versus iteration for GMRES, ' for 100-s period, o for 1000-s period, and + for a 10 000-s period.

workstation. The seventh column demonstrates the and


effectiveness of the matrix-implicit approach, listing the
speedup obtained with respect to the Gaussian-elimination
method. Note that the speed-up over the explicit GMRES DUi;j ¼ 0; j-i (92)
algorithm would be similar for the size examples
examined. DUi;j ¼ Di;j ; j 9 i: (93)

2) Lower Triangular Preconditioners: The fast shooting


methods can be extended to any finite-difference dis- Rewriting the finite-difference or basis-collocation
cretization method that admits a shooting method, but the Jacobian as
simpliest approach to describing the extension is to first
consider a lower triangular preconditioner for a finite-
difference or basis-collocation method. Given a differen-
Jfdbc ¼ ðDL þ DU Þ . IN C þ G
& '
(94)
tiation matrix D, consider separating D into a lower
triangular matrix DL and strictly upper triangular matrix
DU where
suggests a preconditioner after noting that

DLi;j ¼ 0; j9i (90)


DLi;j ¼ Di;j ; j-i (91) ðDL . IN ÞC þ G (95)

Table 1 Comparison of Different Shooting Method Schemes is a block lower triangular matrix whose inverse is easily
applied. Using the inverse of (95) as a preconditioner
yields

'%1& U
Jprecond ¼ INM þ ðDL .IN ÞCþG
& '
ðD .IN ÞCþG : (96)

As noted for backward-Euler in (78), if DU has its only


nonzero at D1;M (only one point wraps around), then the

616 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

preconditioned system will have a bordered block where ) is the M ' M diagonal matrix of eigenvalues and S
diagonal form is the M ' M matrix of eigenvectors [41]. Using the
eigendecompostion of D in (99) leads to

IN 0 0 ... 0 %P1
2 3
ðS)S%1 Þ . C þ ðSIM S%1 Þ . G v^ ¼ u:
& '
6 0 IN 0 ... 0 %P2 7 (101)
6 . .. .. .. .. .. 7
6 .
6 . . . . . .7
7
Jprecond ¼6
6 ... .. .. .. 7 (97)
6 . . . 0 %PM%2 77 Using the Kronecker product property [29]
6 . .. .. ..
4 ..
7
. . . IN %P M%1
5
0 ... ... ... 0 IN % PM
ðABÞ . ðCDÞ ¼ ðA . CÞðB . DÞ (102)

where the N ' N matrix %PM is the NðM % 1Þ þ 1 through


NM rows of the last N columns of and then factoring common expressions in (101) yields

ðS . IN Þð) . C þ IM . GÞðS%1 . IN Þ v^ ¼ u:
& '
'%1 & (103)
L U
& '
ðD . IN ÞC þ G ðD . IN ÞC þ G : (98)

Solving (103) for v^


In particular, IN % PM will be precisely the general
shooting method matrix given in (84).
v^ ¼ ðS%1 . IN Þ%1 ð) . C þ IM . GÞ%1 ðS . IN Þ%1 u:
& '
In the case when the differencing scheme admits a
shooting method, the preconditioned system will usually (104)
have its eigenvalues tightly clustered about one. To see
this, consider the structure of (97). Its upper block
diagonal form implies that all of its eigenvalues are either The Kronecker product property that if A and B are
one, due to the diagonal identity matrix blocks, or the invertible square matrices
eigenvalues of the shooting method matrix, which have
already been shown to cluster near one.
ðA . BÞ%1 ¼ ðA%1 . B%1 Þ (105)
3) Averaging Preconditioners: Before describing pre-
conditioners for the general finite-difference or basis- can be used to simplify (104)
collocation Jacobians in (40) or (52), we consider
finite-difference or basis-collocation applied to the linear
v^ ¼ ðS . IN Þð) . C þ IM . GÞ%1 ðS%1 . IN Þ u
& '
problem in (4). The periodic steady-state solution can be (106)
computed by solving the MN ' MN linear system

where ð) . C þ IM . GÞ%1 is a block diagonal matrix


ðD . C þ IM . GÞ^
v¼u (99) given by

ð)1 C þ GÞ%1
2 3
where D is the differentiation matrix for the selected 0 0 ... 0
method. Explicitly forming and factoring ðD . C þ IM . GÞ
6
6 0 ð)2 C þ GÞ%1 0 ... 0 7
7
6 .. 7
7:
can be quite computationally expensive, even though C and 6 .
..
6 7
G are typically extremely sparse. The problem is that the 6 7
4 . 5
differentation matrix D can be dense and the matrix will fill
0 0 ... 0 ð)M C þ GÞ%1
in substantially during sparse factorization.
A much faster algorithm for solving (99) which (107)
avoids explicitly forming ðD . C þ IM . GÞ can be de-
rived by making the modest assumption that D is diagon- To compute v^ using (106) requires a sequence of three
alizable as in matrix-vector multiplications. Multiplying by ðS%1 . IN Þ
and ðS . IN Þ each require NM2 operations. As (107) makes
clear, multiplying by ð) . C þ IM . GÞ%1 is M times the
D ¼ S)S%1 (100) cost of applying ð)1 C þ GÞ%1 , or roughly order MN

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 617


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

operations as C and G are typically very sparse. The which can be reorganized as
resulting solution algorithm therefore requires
ðD . IN ÞC ¼ ðD . IN ÞðIM . Cavg Þ þ ðD . IN Þ$C: (113)
orderðM3 Þ þ 2NM2 þ orderðMNÞ (108)
The first term on the right-hand side of (113) can be
operations. The first term in (108) is the cost of simplified using the reverse of the Kronecker property in
eigendecomposing D, the second term is the cost of (102). That is
multiplying by ðS%1 . IN Þ and ðS . IN Þ, and third term is
associated with the cost of factoring and solving with the
ðD . IN ÞðIM . Cavg Þ ¼ ðDIM . IN Cavg Þ ¼ ðD . Cavg Þ (114)
sparse matrices ð)m C þ GÞ. The constant factors associated
with the third term are large enough that it dominates
unless the number of timepoints, M, is quite large. where the last equality follows trivially from the fact that
It should be noted that if D is associated with a IM and IN are identity matrices. The result needed to derive
periodized fixed timestep multistep method, or with a (111) from (110) is then
basis-collocation method using Fourier series, then D will
be circulant. For circulant matrices, S and S%1 will be
equivalent to the discrete Fourier transform matrix and its ðD . IN ÞC ¼ ðD . Cavg Þ þ ðD . IN Þ$C: (115)
inverse [28]. In these special cases, multiplication by S and
S%1 can be performed in order MlogM operations using the
Though (111) is somewhat cumbersome to derive, its
forward and inverse fast Fourier transform, reducing the
form suggests preconditioning using ðD . Cavg þ IM .
computational cost of (106) to
Gavg Þ%1 , which, as shown above, is reasonbly inexpensive
to apply. The preconditioned Jacobian is then
orderðMlogMÞ þ orderðNMlogMÞ þ orderðMNÞ (109)
ðD . C þ IM . GÞ%1 Jfdbc ðvÞ ¼ I þ $DCG (116)
which is a substantial improvement only when the
number of discretization timepoints or basis functions is
where
quite large.

4) Extension to the Nonlinear Case: For finite-difference $DCG ¼ ðD . C þ IM . GÞ%1 ððD . IN Þ$C þ $GÞ: (117)
and basis collocation methods applied to nonlinear
problems, the Jacobian has the form
If the circuit is only mildly nonlinear, then $DCG will be
small, and the preconditioned Jacobian in (117) will close
Jfdbc ðvÞ ¼ ðD . IN ÞC þ G (110) to the identity matrix and have tightly clustered eigenva-
lues. As mentioned above, for such a case a Krylov-
subspace method will converge rapidly.
where C and G are as defined in (38) and (39). In order to
precondition Jfdbc , consider computing averages of the
5) Example Results: In this section, we present some
individual Cm and Gm matrices in the M diagonal blocks in
limited experimental results to both demonstrate the
C and G. Using these Cavg and Gavg matrices in (110) results
reduction in computation time that can be achieved using
in a decomposition
matrix-implicit iterative methods and to show the effec-
tiveness of the averaging preconditioner.
Jfdbc ðvÞ ¼ ðD . Cavg þ IM . Gavg Þ In Table 2, we compare the megaflops required for
þ ððD . IN Þ$C þ $GÞ (111) different methods to solve the linear system associated
with a Fourier basis-collocation scheme. We compare
Gaussian elimination (GE), preconditioned explicit
where $C ¼ C % ðIM . Cavg Þ and $G ¼ G % ðIM . Gavg Þ. GMRES (GMRES), and matrix implicit GMRES (MI).
To see how the terms involving Cavg and C in (111) were Megaflops rather than CPU time are computed because
derived from (110), consider a few intermediate steps. our implementations are not uniformly optimized. The
First, note that by the definition of $C example used to generate the table is a distortion analysis
of a 31-node CMOS operational transconductance ampli-
& ' fier. Note that for a 32 harmonic simulation, with 2232
ðD . IN ÞC ¼ ðD . IN Þ ðIM . Cavg Þ þ $C (112) unknowns, the matrix-implicit GMRES is more than ten

618 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

Table 2 Megaflops Required by Different Techniques Single-Frequency Table 3 Results From Single-Frequency Distortation Analysis of a
Distortation Analysis of a Nonlinear 31-Node Operational Nonlinear 31-Node Operational Transconductance Amplifier.
Transconductance Amplifier Note the Increase in Number of Iterations With Number
of Harmonics Without Preconditioning

times faster than Gaussian elimination and five times faster


than explicit GMRES. that first appeared in the partial differential equation
In Table 3, we examine the effectiveness of the averaging literature [19], [22], [47].
preconditioner, again for the example of distortion analysis
of an CMOS amplifier. As the table shows, the number of V. CONCLUSION
GMRES iterations required to solve the linear system is
Although this paper is focused on periodic steady-state
reduced by a factor of four when preconditioning is used.
analysis, most RF communication circuit problems
require multitone, noise, and autonomous oscillator
C. Remarks
analysis. For example, mixers used for down conversion
The derivations and analyses lead to three observations
generate sum and difference frequencies that can be
about preconditioning.
separated by several orders of magnitude. For this reason,
1) Shooting-Newton methods do not need precondi-
the newest work in this area is applying matrix-implicit
tioners.
iterative techniques to accelerating multitone and noise
2) Averaging preconditioners are effective for nearly
problems using multitone harmonic balance [11], linear
linear problems.
time-varying noise analysis [38], [39], frequency-time
3) Lower-triangular preconditioners are effective
techniques [6], multitime PDE methods [24], and even
when D is almost lower triangular.
wavelets [45]. It is hoped that novice researchers will
Unfortunately, the above three observations do not cover
find our attempt at a comprehensive treatment of the
an important case. If Fourier basis collocation methods are
basics of periodic steady-state methods a helpful intro-
used on highly nonlinear problems, then D is dense and
duction to this rapidly evolving field. h
not nearly lower triangular, and the averaging precondi-
tioners are not always effective. Fourier basis collocation
methods are very commonly used, so a number of Acknowledgment
strategies have been employed which make use of The authors would like to thank A. El-Fadel,
frequency domain interpretations to enhance the averag- K. Gullapalli, R. Melville, P. Feldmann, C. S. Ong,
ing preconditioners [5], [6], [11], [20], [21]. Another D. Ramaswamy, J. Roychowdhury, M. Steer, D. Sharrit,
alternative that has met with limited recent success is to and Y. Thodesen for many valuable discussions over the
use the lower triangular preconditioner for a nearly lower years. They would also like to thank J. Phillips and
triangular differentiation matrix as a preconditioner for M. Tsuk for patiently convincing them of the value of the
the Jacobian associated with a dense differention matrix. Kronecker product abstraction and would particularly like
The idea is that if both matrices accurately represent to thank Dr. Tsuk for his thorough proofreading of this
differentiation, one can precondition the other, an idea manuscript.

REFERENCES circuits with multifrequency components,[ Int. J. Microwave Millimeter Wave Computer Aided
Circuit Theory Applic., vol. 15, 1987. Engineering, vol. 1, no. 1, 1991.
[1] L. Nagel and R. Rohrer, BComputer analysis
of nonlinear circuits, excluding radiation [5] P. Heikkilä, BObject-Oriented approach to [8] M. Okumura, H. Tanimoto, T. Itakura, and
(CANCER),[ IEEE J. Solid State Circuits, numerical circuit analysis,[ Ph.D. dissertation, T. Sugawara, BNumerical noise analysis for
Aug. 1971. Helsinki Univ. Technology, Helsinki, nonlinear circuits with a periodic large signal
Jan. 1992. excitation including cyclostationary noise
[2] L. Zadeh and C. Desoer, Linear System sources,[ IEEE Trans. Circuits SystemsVI
Theory. New York: McGraw-Hill, 1963. [6] K. Kundert, J. White, and A. Sangiovanni-
Vincentelli, Steady-State Methods for Fundamental Theory Applic., vol. 40, no. 9,
[3] L. Chua, C. Desoer, and E. Kuh, Linear and Simulating Analog and Microwave Circuits. pp. 581–590, Sep. 1993.
Nonlinear Circuits. New York: McGraw-Hill, Boston, MA: Kluwer, 1990. [9] Y. Saad and M. H. Schultz, BGMRES: A
1987. generalized minimal residual algorithm for
[7] R. Gilmore and M. Steer, BNonlinear
[4] A. Ushida, L. Chua, and T. Sugawara, BA circuit analysis using the method of solving nonsymmetric linear systems,[ SIAM
substitution algorithm for solving nonlinear harmonic balanceVA review of the art. J. Scientific Statistical Computing, vol. 7,
Part IVIntroductory concepts,[ Int. J. pp. 856–869, Jul. 1986.

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 619


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

[10] N. Rabbat, A. Sangiovanni-Vincentelli, and circuit simulation,[ in Proc. Int. Conf. [35] J. Chen, D. Feng, J. Phillips, and K. Kundert,
H. Hsieh, BA multilevel Newton algorithm Computer-Aided Design (ICCAD ’03), p. 251. BSimulation and modeling of intermodulation
with macromodeling and latency for the [23] H. G. Brachtendorf, G. Welsch, R. Laur, and distortion in communication circuits,[ in
analysis of large-scale non-linear circuits in A. Bunse-Gerstner, BNumerical steady state Proc. IEEE Custom Integrated Circuits Conf.,
the time domain,[ IEEE Trans. Circuits Syst., analysis of electronic circuits driven by May 1999.
vol. 9, no. 1979, pp. 733–741. multi-tone signals,[ Electrical Eng., vol. 79, [36] K. Kundert, BIntroduction to RF simulation
[11] R. Melville, P. Feldmann, and J. Roychowdhury, pp. 103–112, 1996. and its application,[ J. Solid-State Circuits,
BEfficient multi-tone distortion analysis of [24] J. Roychowdhury, BAnalyzing circuits with vol. 34, no. 9, Sep. 1999.
analog integrated circuits,[ in Proc. IEEE widely separated time scales using numerical [37] Y. Thodeson and K. Kundert, BParametric
Custom Integrated Circuits Conf., May 1995. PDE methods,[ IEEE Trans. Circuits Systems I: harmonic balance,[ in Proc. IEEE MTT-S Int.
[12] L. T. Watson, Appl. Math. Comput., vol. 5, Fundamental Theory Applic., vol. 48, no. 5, Microwave Symp. Dig., Jun. 1996.
no. 1979, pp. 297–311. pp. 578–594, 2001. [38] R. Telichevesky, K. S. Kundert, and
[13] R. Telichevesky, K. S. Kundert, and J. K. White, [25] S. Skelboe, BComputation of the periodic J. K. White, BEfficient AC and noise analysis
BEfficient steady-state analysis based on steady-state response of nonlinear networks of two-tone RF circuits,[ in Proc. 33rd Design
matrix-free Krylov-subspace methods,[ in Proc. by extrapolation methods,[ IEEE Trans. Cts. Automation Conf., Jun. 1996.
Design Automation Conf., Santa Clara, CA, Syst., vol. CAS-27, pp. 161–175, 1980. [39] J. Roychowdhury, D. Long, and P. Feldmann,
Jun. 1995. [26] V. Rizzoli and A. Neri, BState of the art and BCyclostationary noise analysis of large RF
[14] H. Keller, Numerical Solution of Two Point present trends in nonlinear microwave CAD circuits with multi-tone excitations,[ IEEE J.
Boundary-Value Problems. Philadelphia, PA: techniques,[ IEEE Trans. Microwave Theory Solid-State Circuits, Mar. 1998.
SIAM, 1976. Tech., vol. 36, no. 2, pp. 343–365, Feb. 1988. [40] R. Telichevesky, K. Kundert, I. El-Fadel, and
[15] T. J. Aprille and T. N. Trick, BSteady-state [27] R. W. Freund, G. H. Golub, and N. M. J. White, BFast simulation algorithms for RF
analysis of nonlinear circuits with periodic Nachtigal, BIterative solution of linear circuits,[ in Proc. IEEE Custom Integrated
inputs,[ Proc. IEEE, vol. 60, no. 1, systems,[ Acta Numerica, pp. 57–100, 1991. Circuits Conf., May 1996.
pp. 108–114, Jan. 1972. [28] C. V. Loan, Computational Frameworks for the [41] J. Phillips and B. Yang, BA multi-interval
[16] J. P. Boyd, Chebyshev and Fourier Spectral Fast Fourier Transform. Philadelphia, PA: Chebyshev collocation method for efficient
Methods. New York: Springer-Verlag, 1989. SIAM, 1992. high-accuracy RF circuit simulation,[ in
[17] D. Gottlieb and S. Orszag, Numerical Analysis [29] L. L. Whitcomb, Notes on Kronecker Products. Proc. 37th ACM/IEEE Design Automation Conf.
of Spectral Methods: Theory and Applications. [Online]. Available: spray.me.jhu.edu/ (DAC 2000), Los Angeles, CA, Jun. 2000,
Philadelphia, PA: SIAM, 1977. llw/courses/me530647/kron_1.pdf. pp. 178–183.
[18] J. Stoer and R. Burlisch, Introduction to [30] P. Feldmann, R. C. Melville, and D. Long, [42] K. Mayaram, D. C. Lee, S. Moinian, D. Rich,
Numerical Analysis. New York: Springer. BEfficient frequency domain analysis of large and J. Roychowdhury, BComputer-aided
nonlinear analog circuits,[ in Proc. IEEE CICC, circuit analysis tools for RFIC simulation:
[19] C. Canuto, M. Y. Hussaini, A. Quarteroni, and
May 1996. Algorithms, features, and limitations,[ IEEE
T. A. Zang, Spectral Methods in Fluid
Trans. CAS II, pp. 274–286, Apr. 2000.
Mechanics. New York: Springer-Verlag, [31] K. Kundert, J. White, and A. Sangiovanni-
1987. Vincentelli, BA mixed frequency-time [43] L. N. Trefethen, Spectral Methods in Matlab.
approach for distortion analysis of switching Philadelphia, PA: SIAM, Jun. 2000.
[20] B. Troyanovsky, Z. Yu, L. So, and R. Dutton,
BRelaxation-based harmonic balance filter circuits,[ IEEE J. Solid-State Cts., vol. 24, [44] L. N. Trefethen and D. Bau, III, Numerical
technique for semiconductor device no. 2, pp. 443–451, Apr. 1989. Linear Algebra. Philadelphia, PA: SIAM,
simulation,[ in Proc. Int. Conf. Computer-Aided [32] C. W. Gear, Numerical Initial Value Problem in 1997.
Design, Santa Clara, CA, Nov. 1995. Ordinary Differential Equations. Englewood [45] N. Soveiko and M. Nakhla, BWavelet
[21] M. M. Gourary, S. G. Rusakov, S. L. Ulyanov, Cliffs, NJ: Prentice-Hall, 1971. harmonic balance,[ IEEE Microwave Wireless
M. M. Zharov, K. Gullapalli, and [33] K. S. Kundert, The Designer’s Guide to SPICE Components Lett., Jul. 2003.
B. J. Mulvaney, BThe enhancing of efficiency and Spectre. Boston, MA: Kluwer, 1995. [46] O. J. Nastov and J. White, BTime-mapped
of the harmonic balance analysis by adaptation [34] D. Feng, J. Phillips, K. Nabors, K. Kundert, harmonic balance,[ in Proc. IEEE Design
of preconditioner to circuit nonlinearity,[ in and J. White, BEfficient computation of quasi- Automation Conf., pp. 641–646.
Asia and South Pacific Design Automation Conf. periodic circuit operating conditions via a [47] O. J. Nastov, BSpectral methods for circuit
(ASP-DAC’00), p. 537. mixed frequency/time approach,[ in Proc. analysis,[ Ph.D. dissertation, Massachusetts
[22] F. Veerse, BEfficient iterative time 36th Design Automation Conf., Jun. 1999. Inst. Technol., Cambridge, 1999.
preconditioners for harmonic balance RF

ABOUT THE AUTHORS

Ognen Nastov, photograph and biography not available at the time of Ken Kundert received the B.S. degree in 1979, the
publication. M.S. degree in 1983, and the Ph.D. degree in
electrical engineering from the University of
California, Berkeley, in 1989.
He is renowned for creating two of the most
Rircardo Telichevesky (Member, IEEE) received innovative, influential, and highest grossing circuit
the B.S. degree in electrical engineering from the simulators ever produced: Cadence’s Spectre and
Universidade Federal do Rio Grande do Sul, Brazil, Agilent’s harmonic balance simulator. He has a
in 1985, the M.S. degree in electrical engineering deep understanding of analog/mixed-signal and
from the Technion, Israel, in 1988, and the Ph.D. RF simulation technology and is well versed in its
degree in electrical engineering and computer application. He Co-founded Designer’s Guide Consulting, Inc., in 2005.
science from the Massachusetts Institute of Tech- From 1989 to 2005, he worked at Cadence Design Systems as a Fellow. He
nology, Cambridge, in 1994. created Spectre and was the Principal Architect of the Spectre circuit
He specialized in computer architectures and simulation family. As such, he has led the development of Spectre,
numerical simulation. He is the Principal Re- SpectreHDL, and SpectreRF. He also played a key role in the development
searcher at Kineret Design Automation, Santa Clara, CA, working in the of Cadence’s AMS Designer and made substantial contributions to both
simulation of analog and mixed signal systems. He played a key role in the Verilog-AMS and VHDL-AMS languages. Before that , he was a Circuit
the development of Cadence’s SpectreRF and Spectre simulator. He also Designer at Tektronix and Hewlett-Packard and contributed to the design
worked in the modeling and real-time simulation of physics-based of the HP 8510 microwave network analyzer. He has written three books
mechanical systems for virtual environments at Xulu Entertainment, Inc. on circuit simulation: The Designer’s Guide to Verilog-AMS in 2004, The
His current research interests include numerical algorithms and efficient Designer’s Guide to SPICE and Spectre in 1995, and Steady-State Methods
data structures for analog, RF, mixed signal, and system level simulation, for Simulating Analog and Microwave Circuits in 1990. He is the author of
and its interoperability with other tools in the design flow. 11 patents.

620 Proceedings of the IEEE | Vol. 95, No. 3, March 2007


Nastov et al.: Fundamentals of Fast Simulation Algorithms for RF Circuits

Jacob White (Member, IEEE) received the B.S.


degree in electrical engineering and computer
science from the Massachusetts Institute of Tech-
nology, Cambridge, and the S.M. and Ph.D. degrees
in electrical engineering and computer science
from the University of California, Berkeley.
He worked at the IBM T.J. Watson Research
Center, from 1985 to 1987, and was the Analog
Devices Career Development Assistant Professor
at the Massachusetts Institute of Technology from
1987 to 1989. He is currently at the Massachusetts Institute of Technology
where he is the C. H. Green Professor in Electrical Engineering and
Computer Science. His research interests include numerical algorithms
for problems in the design and robust optimization of circuits,
interconnect, nanophotonics, carbon nanotubes, micromachining for
biological applications, biomolecules, and network models of biological
systems.
Dr. White was a 1988 Presidential Young Investigator and was an
Associate Editor of the IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN from
1992 until 1996. He was Chair of the International Conference on
Computer-Aided Design in 1999.

Vol. 95, No. 3, March 2007 | Proceedings of the IEEE 621

You might also like