V-AMS Compact Modeling Extensions subcommittee
Minutes of July 13, 2004
Attendees:
Geoffrey Coram, Analog Devices
Ilya Yusim, Cadence
Colin McAndrew, Freescale
Jim Barby, U Waterloo
1) Approval of previous minutes (June 1)
2) Comments from last night's main AMS committee meeting:
The main issue holding up LRM 2.2 (CM extensions) is the
question of how to specify an override of the mfactor in
a verilog-style netlist. The use of attributes (even
the "system attributes" proposed in the 1364-btf comm)
is not acceptable, because atttributes may not affect
the simulation results. Thus, it was concluded that the
most reasonable approach would be to create "system
parameters" for mfactor as well as the other layout-
related quantities (xpos, ypos, hflip, vflip, angle).
These will be specified as
nmos #(.vth(0.6), .$mfactor(3), .$xpos(1u), .$ypos(-1u)) ...
The CM subcommittee needs to investigate the specific
names (x vs xpos vs xposition) and propose a method of
accessing the values in a module. Using "$identifier"
is probably the right thing (just like "identifier" is
used for regular parameters); we have to watch out for
conflicts with system tasks if we choose short names.
We omitted $nfactor (series multiplicity) because the
concept is not defined for modules with more than two
terminals. Colin also mentioned that he'd had trouble
implementing $nfactor correctly even for a two-terminal
device, when nonlinearity and/or mismatch was present,
though he did not recall the details.
3) Overloading modules, paramsets, generate
We briefly discussed the "overloading.pdf" document.
Jim moved that we use paramsets as the method of
implementing Spice model cards and other features.
Ilya second. None opposed, none abstained. The
motion passes.
For the record, using the Accellera TCC guidelines,
the subcommittee had 6 members who had attended 3 of the
last 4 meetings and were thus eligible to vote; all four
attendees to this meeting met this guideline.
4) Disabling automatic $mfactor
Background: Verilog-AMS simulators shall handle mfactor rules
automatically, as discussed in the draft proposal.
http://www.eda.org/verilog-ams/htmlpages/public-docs/Verilog-A_Compact_Model_Extensions.pdf
Some modules may reference the $mfactor directly, to handle
mismatch or rmin, or possibly to pre-scale key parameters by
$mfactor (which is more efficient than scaling currents and
derivatives on every iteration of every timepoint). In the
latter case, if the simulator also applies the $mfactor rules,
then the results will be wrong.
In the April 6 meeting, Laurent suggested that the automatic
$mfactor rules be disabled by any use of $mfactor in the module.
Current issue: Ilya believes this is a bad idea, because his
modules will make frequent use of $mfactor for the purposes
of rmin (eliminiting parasitic resistors when r/$mfactor < rmin),
and thus he will be forced to code in the $mfactor for all the
current and noise contribs.
One work-around would be to place the parasitic resistors in
a separate module, instantiated a few times in the main MOS
module, and only reference $mfactor in the resistor module,
leaving the simulator to handle $mfactor in the main MOS
module. However, this hierarchical structure may be hard
to optimize (Ilya mentioned disjointed memory blocks).
Ilya would like a directive to disable the automatic mfactor
rules for a module. He will create a proposal for syntax
and semantics (eg, that the simulator may issue a warning
if it believes you haven't done the scaling properly).
5) Statistics and Monte-Carlo
Colin expressed a few reservations with the Monte Carlo
section of the paramsets proposal.
a) it's tied specifically to one kind of simulation/analysis,
which seems inappropriate for a hardware description language
b) process parameters aren't the only thing that varies;
supply voltage and external components also need consideration
c) mismatch is generally only applied to a list of specific
devices, not to all devices
Colin will develop an example showing the full complexity
of the issue, which may show that it is infeasible to do
Monte Carlo in Verilog-AMS.
6) Next meeting: July 27, 9AM ET.
-Geoffrey
-- 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-1014Received on Wed Jul 14 08:08:44 2004
This archive was generated by hypermail 2.1.8 : Wed Jul 14 2004 - 08:08:59 PDT