The model function is based on a physically motivated interpolation of the terminal currents and charges of the device. The interpolation also supplies the derivatives, i.e., the conductance and capacitance matrices of the device. These data are directly interfaced to a new circuit simulator, MINISIM [73], which uses charge conservative capacitance modeling. This approach rules out common problems like, e.g., discrepancies between the AC-model conductance parameters and the derivatives of the DC-model currents.
The interpolation uses piecewise polynomial and/or exponential
splines in each dimension (e.g.,
,
:
polynomial;
:
exponential) to account for the physical nature of the
quantities (especially the exponential dependence of the currents).
The interpolation functions have the following form:
![]() |
(4.3) |
![]() |
(4.4) |
![]() |
To determine the accuracy of the model (4.5) was
used as a test function (cf. the EKV model [42]).
The worst-case interpolation error,
i.e., the norm of the relative error,
was determined numerically as a function of the gate voltage
(cf. Fig. 4.6). The modified exponential interpolation
is clearly better than the cubic one, yielding an error
of < 0.2% for the function value and < 2.0% for the
derivative.
![]() |
![]() |
The maximum error of the output conductance go was determined
numerically, using the following test expression:
![]() |
It is important to note, that, although the polynomial interpolation
used here is generally not monotonic for monotonic samples, the
maximum error of the derivatives is well below 100%.
This is due to the fact that - apart from breakdown phenomena
- terminal quantities of a MOSFET and their derivatives cannot
change arbitrarily fast with respect to the terminal voltages.
Using
(4.5) and (4.6) it can be shown
that non-monotonicity cannot occur for a sampling interval
of less than
.
Monotonicity, on the other hand, still permits an error
of 100% and is therefore not sufficient for high-accuracy circuit
simulation.
These one-dimensional interpolations are then combined to a two or
three-dimensional interpolation by nesting as shown in Fig. 4.10.
A full 3-dimensional interpolation requires 64 supporting data points
around the target interval.
First, the data are interpolated in bulk-direction for 16 points in the
-
plane for the given
:
second, the data are interpolated in
drain-direction for 4 points on the
line for the given
;
and
last, an interpolation is performed in gate-direction for the given
.
This algorithm is also employed for the computation of the derivatives.
Although the partial interpolation of derivatives is generally not
consistent with the exact computation, the relative errors were found to be
marginal (< 10-4).
The actual algorithm uses extensive precomputation of polynomial
coefficients to ensure high CPU efficiency of the program.
In the current implementation one call to the model function takes
on an HP-PA 735 workstation.
The memory consumption, taking typical numbers of
5 x 20 x 20 = 2000 data points
in
,
,
and
direction,
is about 80Kbytes per transistor type.
Saving the precomputed coefficients and decision flags could also be stored
to speed up the execution at the expense of a higher memory consumption.