Gennady Serdyuk, Boris Shelkovnikov

Gennady Serdyuk <gserdyuk@mail.ru>, Boris Shelkovnikov <shelk@ukr.net>

*Abstract* – **This paper present usability research
of analog VHDL-AMS subset for purposes of HB circuit simulation and proposes
frequency-domain extensions for increasing modeling flexibility and widening
described circuit class.**

*Keywords* – **Harmonic Balance, VHDL-AMS, circuit
simulation.**

During last years substantial efforts spent in field of developing hardware description languages. For discrete circuit simulation progress has been achieved quite long time ago with developing of VHDL and Verilog HDLs. In analog realm situation is different. Besides SPICE is de-facto standard tool, there are a lot of dialects developed as long as proprietary languages for special (including RF and microwaves description) purposes. That makes life of circuit developers harder, as no one simulator proposes all necessary features and analyses and developers often switch from one tool to another to achieve design goals. Situation is even worse, as even simulators shared common language (say SPICE-like) propose different device models, which make hard to compare results of simulations. On that background two analog HDLs get status of standard – VHDL-AMS [1] and Verilog-A. That is important achievement, as opens way to standardization of device libraries and development of model exchange [3]. However, both languages are defined as languages for time-domain modeling and does not support frequency domain, required by most RF&MW tasks. More, VHDL-AMS is designed to define digital and mixed (digital-analog) circuits and does not contain strictly defined analog subset.

This paper aims to show, that there is limited subset of VHDL-AMS, which is sufficient to describe pure analog circuits and to propose simple VHDL-AMS extension to get advantages of frequency-domain modeling and simulation.

Continuous (analog) circuit equation may be formulated as:

_{} (1)

or

_{} (2)

Where v(t), u(t),y(t) i(v(t), q(v(t) and _{},
V(t) and u(t) are assumed to be T periodic, y(t) is linear response of linear
subcircuit and i(v) and q(v) are only nonlinear members.

Considering both v and f for (2) as Fourier series and making necessary transformations, Harmonic Balance (HB) equations may be written as the following:

_{} (3)

Where _{}_{}, K number
of considered frequencies, _{}are square block
matrices:

_{} (4)

_{} (5)

As most nonlinearities are modeled in time domain, first two members of Eq. (3) are usually computed via time domain using Fast Fourier Transformations (FFT) in the following manner:

_{} (6)

Same for Q(V).

Eq. (3) is solved by exact or inexact Newton method [4,6].

While VHDL-AMS standard [1] does not separate language onto digital and analog parts, it is possible to distinguish three main language parts, intended to serve different purposes: describe digital (discrete) behavior of components, describe analog (continuous) behavior of components and describe circuit (system) structure itself. Last part handles circuit decomposition into components. It supports construction ability of the language.

Discrete part is implemented using signals and concurrent statements. Analog part is implemented through quantities (say – unknowns of circuit), terminals (special kind of quantities, supports conservation semantic) and simultaneous statements (represent equations). Third, circuit descriptive part, is represented with component instantiation statement and intended to define topology of the circuit.

Any analog (sub)circuit may be described using two approaches: construct it from building blocks (usual for EDA users way) or define equations to describe behavior of such block. Surely, al lowest level all components should be described using equations. This, equation-level representation creates a modeling basis for design of component libraries. Designer can build equations of any complexity, calling functions as necessary, branching calculations, using both simple (one line) simultaneous statement and procedural one, which creates equation from sequential calculations. Designer can create own function using other languages and use them in VHDL-AMS also.

Given the equation support, designers can build higher-level blocks mixing lower-level blocks and equations, using quantities and terminals to interconnect blocks.

Consider example. To define a nonlinear resistor:

entity nlr is -- entity interface

port(terminal a,b: electrical);

generic (r, r2: real); -- values

end entity;

-- entity may have many different architectures

architecture BEHAV_1 of nlr is

quantity U across Ir through a to b;

begin

Ir*r + Ir*Ir*r2 == U; -- equation

end;

Somewhere may be used:

…

terminal t1, out2: electric;

…

R1: entity nlr (BEHAV_1)

port map (t1, out2) generic map(1200);

…

In addition to all former, language support some attributes, which, being applied to quantities allow to get their derivatives, integrals and delays. For example, if it is defined:

quantity a: real;

somewhere in code may be used:

…a’dot… -- derivative of a

…a’integ… -- integral of a

…a’delayed(1.e-6)… -- a delayed onto 1 us

All that makes possible and quite attractive usage of above described VHDL-AMS subset as modeling language for Harmonic Balance simulator. Above mentioned subset allows description of nonlinear dynamic behavior in time domain, correspondent to nonlinear integro-differential equations with delays. Applying Eqs. (6) and (7) one may transfer it to frequency domain and use directly in HB equation. That refers to terms 1 and 2 in Eq. (3) .

Extension statements, allowing frequency-domain modeling are described in the next section

As VHDL-AMS is defined in time domain entirely, it does not contain means to define behavior in frequency-domain. Meanwhile, a lot of circuits in microwave and RF field shows complex frequency dependent behavior hard to be modeled in time domain.

To extend language capabilities, additional attribute is proposed, which represent image of certain quantity in frequency domain.

Let quantities ic and uc are defined and represent currect and voltage over capacitor. Then ic’FD and uc’FD will represent spectrum of ic and uc respectively and may be used in equations:

ic'FD == 2*math_j*math_p*FREQUENCY*C*uc’FD;

FREQUENCY here is predefined language ffunction returning value of current frequency.

More general:

x’FD==func(FREQUENCY,a,b,c)*y’FD;

where func() may be user defined.

Similarly circuit impedance or admittance values may be calculated during simulation or picked up from external source – as file or complex database.

It is necessary to state, that one assumption is made here – it is assumed that of any simultaneous statement which use quantity with attribute ‘FD indeed is defined in frequency domain too, so it is impossible to mix domains inside one statement (equation). That does not contradict with usual practice, as (as best of authors knowledge) models are defined in one domain only.

Former extension correspondents to 3-rd term of Eq.(3) and makes broader the class described circuits, including distributed parameters circuits and other linear circuits, which may be described in frequency-domain.

VHDL-AMS subset suitable for RF analog circuit simulation by Harmonic Balance technique is described along with possible Frequency-Domain modeling extensions.

Approach gives increasing flexibility in RF&MW component modeling and broadens the class of tasks to be described by language.

That set is called VHDL-AMS/FD and used in Rincon RF circuit simulator [5].

Parts of this work where conducted under contract with Ridgetop Group, Inc.

[1] VHDL-AMS Language Reference Manual, IEEE Standard No.: 1076.1-1999

[2] G. Serdyuk, D. Goodman, “VHDL Approach Improves Nonlinear Simulation”, Microwaves & RF, November 2001, pp. 76-102.

[3] M. Mierzwinsky ar al, “Changing the Paradigm for Compact Model Inegration in Circuit Simulators Using Verilog-A”, http://www.tiburon-da.com/ NanoTech2003.pdf

[4] Ken Kundert, “Simulation Methods for RF Integrated Circuits”, ICCAD-94.

[5] Rincon User Manual, Ridgetop Group, Inc., http://www.ridgetop-group.com

[7] C.T. Kelley, “Iterative Methods for Linear and Nonlinear
Equations”; Frontiers in Applied Mathematics, vol 16, SIAM, 1995.

Last modified on 23-Aug-2004