Subject: Minutes of: V-AMS DevModeling meeting Sept 9
From: Geoffrey.Coram (Geoffrey.Coram@analog.com)
Date: Tue Sep 09 2003 - 14:00:23 PDT
Attendees:
Geoffrey Coram, Analog Devices
Ilya Yusim, Cadence
Jeroen Paasschens, Philips
Colin McAndrew, Motorola
Srikanth Chandrasekaran, Motorola
David Zweidinger, Texas Instruments
Marek Mierzwinski, Tiburon
Boris Troyanovsky, Tiburon
---1) Approval of minutes from Aug 12.
2) Mismatch and m factor
Colin described his company's method of doing mismatch; they do Monte-Carlo, but also some "Hadamard statistics" and other tricks.
I had proposed something like $mismatch that would essentially give the model writer the ability to "do the right thing" for m and variances, yet not allow explicit access to m itself.
However, in Colin's case, the model code itself never generates a random number for mismatch; the standard deviation instance parameter is divided by sqrt(m) and added to the appropriate nominal value. Hence, the random number is generated one level above, in the subckt or something.
We concluded that the compact model code itself does not need to do anything with m to address mismatch; it will simply have an offset parameter that will be set in the subckt (or paramset?), where m is available.
If we differentiate between instance and model parameters, we may also provide a "mismatch parameter" that would be a special subset of instance parameter that would be divided by m.
There was some concern that we not craft Verilog-A mismatch to Motorola's needs; it seems likely that the mismatch parameters would not (originally) be part of the standard model, but a foundry would add those parameters that it was prepared to extract from sampled statistics.
Possibly useful reference material: for those of you with Spectre licenses, do "spectre -h montecarlo"
2) Terminal defaults
I had suggested that we not propose adding terminal defaults to the language, because it seemed that $connected was enough to do everything we needed. One can easily use $connected to emulate defaulting behavior, such as if ($connected(b)) Vb = V(b) else Vb = V(s) instead of (as was previously proposed) electrical b=s; for a MOSFET.
One concern would be for behavioral models that have lots of inputs; the code for using $connected could be lengthy. Compact models don't generally have so many terminals as to make this a significant concern.
Ilya was concerned that Spice netlists do not provide a method of specifying which terminal is unconnected if there are several optional terminals. However, some Spice-like simulators do already provide this capability, and we expect more will as they merge analog and digital functionality, since optional terminals are in digital Verilog.
With $connected, one could emulate all existing behavior and replace a built-in VBIC with an updated one in Verilog-A without having to modify the netlist. The updated Verilog-A model might be able to handle two optional terminals, but this functionality might not be usable in conjunction with a Spice netlist.
David noted that BSIMSOI has several optional terminals and parameters are used to say which terminals have been specified.
Jeroen was uncomfortable with parameters changing topology, but it was pointed out that simulators already handle this when parasitic resistances (RD of a mosfet) are zero or not, and typically have special code to detect a topology change during a parameter sweep.
3) BMAS face-to-face?
Several of us will be in San Jose Oct 7 and 8 for BMAS (www.bmas-conf.org). I'm looking into getting a breakout room for a 1-hour meeting, possibly late in the afternoon of the 8th. Please let me know if you will be at BMAS, or if not but you are close enough to consider driving over for a meeting.
Next meeting Sept 23, same time and phone number. (There will be no meeting October 7 because of BMAS.)
-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-1014
This archive was generated by hypermail 2b28 : Tue Sep 09 2003 - 14:01:19 PDT