[SI-LIST] Re: now Behavioral Modeling

  • From: "lgreen" <lgreen22@xxxxxxxxxxxxxx>
  • To: <heyfitch@xxxxxxxx>, <si-list@xxxxxxxxxxxxx>
  • Date: Fri, 18 Mar 2005 16:59:19 -0800

Hi, Vadim,
 

Actually, a resistor is a behavioral model (an equation inside SPICE

involving R, I, V, and Temp).  All of the "primitive components"

provided with SPICE (or any other simulator) are behavioral models.

 :-)

 

Two blocks connected together form a macromodel (that is, the

model now contains more than one block).  Thus all macromodels

can be decomposed back to "primitive components", (behavioral

models).  Behavioral models can not be decomposed.

 

In one sense, one can replace a behavioral model with components,

but what is actually happening is that one is building an equivalent

model that uses pre-defined behavioral models.  So a model containing

an IBIS model and a voltage source or resistor is a macromodel.

 

Most "AMS" languages restrict a model to contain either equations or

blocks (including components), but not both.  This is because there

is a fundamental problem - component node voltages are solved as

simultaneous equations (node matrix), while equations are evaluated

sequentially (just as in C/C++ code).

 

I think I will save this thread and use it the next time I teach another

 "Simulation and Modeling" class.

 

Have a good weekend!

 

- Lynne

 

  _____  

From: Heyfitch [mailto:heyfitch@xxxxxxxx] 
Sent: Friday, March 18, 2005 3:18 PM
To: lgreen22@xxxxxxxxxxxxxx; si-list@xxxxxxxxxxxxx
Subject: Re: [SI-LIST] Re: now Behavioral Modeling

 

Lynne, that is a good description. If we take it as is - which I tend to
agree with - then the following seems as the logical next step.

 

If one takes a behavioral block/element/whatnot, and connects it to another
such block/element/whatnot - the two such blocks comprise a new topology.
This way we arrive to a macromodel starting with just the behavioral models.
Did I get it right? 

 

The boundary seems inherently blurred. Any behavioral model can be - in
principle - replaced with a network of simpler, lower level elements like
SPICE primitives: resistors, switches, etc. Depending on the complexity of
the behavioral model the task may either 10 minutes or 10 years. The
accuracy of the surrogate model may be better or worse. E.g., replacing
S-parameter model with controlled sources with assigned transfer functions.
(BTW, what would you call such controlled source: a spice primitive? Or a
behavioral element? Would anyone call a resistor "a behavioral element?
After all it is a two terminal device that connects deltaV and I with a
linear function; it can be well written in either of the AMS languages ;-) )
Or does it have to be non-linear device to be behavioral? 

Can a voltage dependent capacitor be called behavioral element? Or we would
not call it that because it is "so basic"? Do two such C(V)s connected in
series (e.g.) make up a macromodel? 

Do we call IBIS models "behavioral" because they are non-linear and we
define and view them as tabulated sets of data? What is I had an IBIS model
of a perfectly linear devise, would that no longer qualify it for a
behavioral status? 

 

What is - after putting together a macromodel (i.e. a model comprised of a
behavioral, say even IBIS model, in the center and a bunch of other elements
around it) - I somehow managed to abstract it one level higher and relate
its external terminals thru either multidimensional data tables or, even
less likely, a set of closed form equations. What is it I got: a higher
level behavioral model? But does it not look basically the same as a
transistor model, where terminals are connected thru equations? 

Are you confused enough by now? 

 

My point in asking these questions is that we are deep into semantics at
this point. Should we then change the subject line of this thread to
something else?  

 

All of you, have a great weekend not thinking about this any more!

 

-Vadim

lgreen <lgreen22@xxxxxxxxxxxxxx> wrote:

Hi, Donald and Syed,

In academia, a distinction is made between the two modeling approaches,
although you are correct that the distinction is often fuzzy in industry.

"Macromodeling" involves adding components to a model. A textbook example
is adding components to an ideal op amp to add effects like input offset
voltage, input bias current, output impedance, poles and zeroes, etc. A
macromodel's added components could be passive or active, linear or
non-linear. In this sense, all netlist-based tools (such as SPICE) can do
macromodeling.

"Behavioral modeling" involves creating a model from performance
characteristics rather than topology, usually using equations or data
tables. IBIS 3.2 is the classic example, but there are hundreds of
AMS-style models that have been created over the past twenty years.

There is also a "meet in the middle" approach, where equation-based V and I
sources are added to a model. The use of a V or I component makes it
macromodeling (in the academic sense of the word). SPICE 3f5 seems to be a
common subset of programmable sources for general purpose analog simulators
(which means it is the most limited).

There are advantages to both approaches. Macromodeling is easier to do if
there is an existing model (such as an ideal op amp or IBIS buffer) that is
almost what you need. Behavioral models can simulate faster (factors of 10
to 200, depending on how the model is coded), since they do not add
extraneous components or nodes to the simulation netlist.

Best regards,
Lynne


"IBIS training when you need it, where you need it."

Dr. Lynne Green
Green Streak Programs
http://www.greenstreakprograms.com
425-788-0412
lgreen22@xxxxxxxxxxxxxx


-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx] On
Behalf Of Donald Telian
Sent: Friday, March 18, 2005 9:49 AM
To: Syed Huq
Cc: si-list@xxxxxxxxxxxxx
Subject: [SI-LIST] Re: package SSN model accuracy requirements, now
Behavioral Modeling

Syed,

Thanks for helping us refine terminology.

Let's be careful not to mix up concepts with tools and languages. While
it seems you want to confine "macromodeling" to something only Cadence
tools do, I believe that if you look around you will find that

macromodeling =3D=3D behavioral modeling

...and the two are used interchangeably within industry and academia.
If you reference every one of the research papers I give links to on
slide 22 - as well as the quote from Franzon - you will note that they
all use "macromodeling" in both the titles and paper texts to describe
their work in "behavioral modeling". They use the term "macromodeling"
to refer to various implementations spanning equation-based Hspice
models, VHDL-AMS models in ICX, SPICE models in IBM PowerSPICE, etc.
And yes, "macromodeling" can also be done in DML/Espice, Pspice,
Berkeley SPICE, Verilog-AMS, and a variety of other tools/languages.

Regarding your comments about Cadence tools, I'll acknowledge that it
takes a fair amount of skill and craftsmanship to construct effective
macromodels. However, I've yet to find a device that can not be
behaviorally modeled in the environment. Kumar and others have shown
considerable skill in adding things like time-controlled sources, nth
derivative processing, multi-dimensional table-based controlled sources,
and such into our tools to make this possible. Thanks to their
contributions, users have had a number of published successes (slide 21)
and implementing your BIRD95 ideas would be a snap. If your team is
struggling with other particular implementations, Cadence can provide
you assistance in a variety of ways and would be happy to do so.

During the years while it's simpler for IC companies to encrypt and ship
their transistor layout-derived model, and model users continue to ask
for faster behavioral solutions, I think it's important that we keep an
open mind regarding the options before us. Working together, let's
encourage those working on the various tools and languages as new
solutions emerge and keep the comments on the positive side. It's a
challenging problem to solve.

Donald


>-----Original Message-----
>From: Syed Huq [mailto:shuq@xxxxxxxxx]=20
>Sent: Wednesday, March 16, 2005 2:44 PM
>To: Donald Telian
>Cc: si-list@xxxxxxxxxxxxx
>Subject: Re: [SI-LIST] Re: package SSN model accuracy=20
>requirements, nowBehavioral Modeling
>
>Donald,
>
>Certainly our definitions are different. What you described is=20
>what I would call behavioral modeling. There is a difference=20
>and let me explain with an example:
>
>Let's pick your tool. SpecctraQuest uses this DML scheme(which=20
>I call macromodeling), in practical applications such as ours,=20
>we see the tool choking in many aspects in it's use of macro=20
>modeling. Hence I would like to stay far away from such an=20
>approach(macromodeling I mean). Maybe version 20.x would have=20
>it all sovled. I am sure there are 10s of other application=20
>where is excels quite well too.
>
>On the other side, behavioral modeling (atleast again in our
>applications) has already proven it's capabilities many times=20
>over and I am more than open to explore further with tools to=20
>see how BIRD95 could be implemented thru "behavioral modeling".
>
>Syed


------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List FAQ wiki page is located at:
http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
http://www.si-list.org

List archives are viewable at: 
//www.freelists.org/archives/si-list
or at our remote archives:
http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
http://www.qsl.net/wb6tpu





------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:     
                //www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: