Minutes of: V-AMS DevModeling meeting July 1


Subject: Minutes of: V-AMS DevModeling meeting July 1
From: Geoffrey.Coram (Geoffrey.Coram@analog.com)
Date: Tue Jul 01 2003 - 13:45:24 PDT


Attendance:
Geoffrey Coram, Analog Devices
Ilya Yusim, Cadence
Jeroen Paasschens, Philips
Laurent Lemaitre, Motorola
Srikanth Chandrasekaran, Motorola
David Zweidinger, Texas Instruments
Marek Mierzwinski, Tiburon
Peter Liebmann, Xpedion

-------
1) Thanks to Cadence for sponsoring

2) Approval of previous minutes (June 10)

3) Continuation of discussion of proposed extensions

1.7 multiplicity factor

Jeroen - For Philips models, MULT is done with pre-processing
of parameters, ie, once per sim instead of every iteration of
every timestep.

We need to be clear whether this is an efficiency problem,
and if we want to accept it in the pursuit of a higher goal,
namely, consistent, error-free implementation.

(To this point, it should be noted that the Philips web site
for Mextram504 indicates that MULT scaling was not initially
done correctly for RTH, CTH, CBCO, and CBEO. However, the
efficiency question is still valid.)

David - at TI, the multiply is done per iteration, but this
does not seem to be a lot of overhead, and not many
instances per circuit use it.

Geoffrey - a few multiplies won't be noticed in a BSIM
evaluation, but would double the floating-point operations
for a resistor -- unless the simulator can somehow figure
out to pre-compute Reff = R/m and store that value.

Sri - asked what we meant by "implicit parameter" and noted
that we probably need to have "m" reserved as a keyword to
avoid clashes; this may be a backwards-compatibility problem.

1.8 strings

Strings are allowed in digital context of Verilog-AMS,
but excluded (AMS-LRM 2.1, section C.2) from Verilog-A.
Anyone know why they were excluded? Obviously, it should
be an error to use the value of a string parameter in
computing a branch contribution.

We noted that digital "strings" are fixed-length character
buffers, but model/instance names may be arbitrarily long.
So, we really want a string, not a "reg" variable.

We all agreed that strings should be supported for
device models.

1.9 initialize variables where declared

Sri pointed out that, for a variable declared at top level,
its domain (digital or analog) is determined by where it
is assigned a value (digital block or analog block -- can't
be both). Although the AMS committee wants a better way
to determine the domain, they haven't found one, so we
either have to solve this problem or only allow the
initialization for declarations inside the analog block.

David asked if we really need this, or if it's a convenience;
Marek said his company hadn't needed it in implementing the
various standard models for his company's simulator.

2.0 functions

2.1 more flexible functions
Peter noted that array of reals can be returned in VHDL,
but that the V-AMS committee did not want this.

An alternate syntax was proposed:
[x,y,z] = fn(a, b);
instead of
x = fn(a, b, y, z);
but it was felt that this was unlikely to be supported by
the V-AMS committee, because it looks like vectors that
they had dis-allowed previously.

2.2 access to derivatives

The description for this section should cite an example (noise?)
of something that is not an op-pt quantity but actually used
for the simulation, just to have a stronger argument.

Peter pointed out that ddx does not need a tolerance argument,
since it is done analytically (as opposed to ddt, whose tolerance/
accuracy is related to the timestep).

Sri noted that the proposed syntax should emphasize that we're
only allowing derivatives with respect to control voltages,
V(g,s) or V(g); we expect the simulator to know how to calculate
these for use in the Jacobian. Derivatives wrt arbitrary
expressions are not supported.

David wondered if we should call the function "ddv()" instead of
ddx, if we're only allowing derivatives wrt voltage.

[Would we ever want to take a derivative wrt a control current?
Should the second argument be any port access function, potential
or flow, rather than only a port potential access?]

Ilya said that he would want a deriv wrt other quantities, eg,
temperature, to allow an equation to be linearized after a
certain point. We need a complete example to consider this.

Jeroen wondered if the derivative is well-defined. We agreed
that we should be talking about a partial derivative. But
what if you write Ids as a function of V(g,d) and V(d,s),
and then ask for gm = ddx(Ids, V(g,s))?

-------
Next meeting: Tuesday, July 15 at 11 AM Eastern;
Ilya will request a new conference call, so watch for
the new dial-in numbers.

-- 
Geoffrey J. Coram, Ph.D.    Senior CAD Engineer     
Analog Devices, Inc.        Geoffrey.Coram@analog.com 
804 Woburn St., MS-422,     Tel (781) 937-1924
Wilmington, MA 01887        Fax (781) 937-1014



This archive was generated by hypermail 2b28 : Tue Jul 01 2003 - 13:46:17 PDT