next up previous contents
Next: 4.3.4 Applications Up: 4.3 A Table-Based Device Previous: 4.3.2 Transient Device Characterization

4.3.3 Model Function and Simulation Environment

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., $\ensuremath{V_{\mathit{B}}}\xspace $, $\ensuremath{V_{\mathit{D}}}\xspace $: polynomial; $\ensuremath{V_{\mathit{G}}}\xspace $: exponential) to account for the physical nature of the quantities (especially the exponential dependence of the currents). The interpolation functions have the following form:

\begin{displaymath}
\begin{array}{r@{\quad:\quad}l}
x < 0 & f(x) = g(x) \\
0 ...
... \cdot g(x) + x \cdot h(x) \\
x > 1 & f(x) = h(x)
\end{array}\end{displaymath} (4.3)

where the interval [0,1] is the transformed target interval. The functions g and h depend on the type of the interpolation (cf. also Fig. 4.5):

\begin{displaymath}
\begin{array}{r@{\quad:\quad}lr@{\quad:\quad}l}
\mbox{polyno...
... = a_0 + a_1 \cdot e^{a_2 x},& h(x) &\mathrm{dto.}
\end{array}\end{displaymath} (4.4)

This ensures a continuous derivative , which is essential for simulator convergence. The exponential splines exhibit excellent extrapolation properties in the subthreshold region.

Figure 4.5: Construction of the interpolation function f(x) from the functions g(x) and h(x) to interpolate the function ${\rm foo}(x)$ in the interval [0,1]
\includegraphics[scale=1.2]{intfunc.eps}

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 $L_\infty$ 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.

\begin{displaymath}
{\ensuremath{I_{\mathit{D}}}\xspace = \ensuremath{I_{\mathi...
...\mathit{T}}}\xspace }{2 \ensuremath{U_{\mathit{T}}}\xspace })}
\end{displaymath} (4.5)

As can be seen the moderate-inversion region ( $\ensuremath{V_{\mathit{G}}}\xspace \approx\ensuremath{V_{\mathit{T}}}\xspace $) is most critical.

Figure 4.6: Worst-case interpolation error of $\ensuremath{I_{\mathit{D}}}\xspace $ and $\ensuremath{g_{\mathit{m}}}\xspace $ using (4.5) as test function and a data sampling interval of $1\cdot\ensuremath{U_{\mathit{T}}}\xspace $
\includegraphics[scale=1.0]{erel-x.eps}

Figure 4.7: Worst-case interpolation error of $\ensuremath{I_{\mathit{D}}}\xspace $ and $\ensuremath{g_{\mathit{m}}}\xspace $ vs. the data sampling interval for noisy data (n=0.1%)
\includegraphics[scale=1.0]{erel-n.eps}

Figure 4.7 shows the influence of noisy data on the interpolation error depending on the sampling interval. For a very small data sampling interval $\Delta V$ the error of the derivative actually increases as $1 / {\Delta V}$. In practice optimum values for $\Delta V$ are about 1-2 thermal voltages.

The maximum error of the output conductance go was determined numerically, using the following test expression:

\begin{displaymath}
{\ensuremath{I_{\mathit{D}}}\xspace = \ensuremath{I_{\mathi...
...eft( 1 + \lambda \ensuremath{V_{\mathit{DS}}}\xspace \right)
}\end{displaymath} (4.6)

with $\lambda = 1/100\rm V$ for long-channel transistors. The results are shown in Fig. 4.9: In strong inversion the critical range of $\ensuremath{V_{\mathit{DS}}}\xspace $ lies in the vicinity of VDS,sat, i.e., the transition between the linear and saturation region. In moderate to weak inversion, where the output curve becomes exponential, the critical range is $\rm0V$ to several $\ensuremath{U_{\mathit{T}}}\xspace $. In the critical $\ensuremath{V_{\mathit{DS}}}\xspace $ range the modified exponential interpolation with a maximum error of $\rm 4\%$ performs better than the polynomial one. This may be important for some devices in analog circuits.

Figure 4.8: Worst-case interpolation error of \ensuremath{I_{\mathit{D}}} and $\ensuremath{g_{\mathit{o}}}\xspace = \partial\ensuremath{I_{\mathit{D}}}\xspace / \partial\ensuremath{V_{\mathit{DS}}}\xspace $ vs. \ensuremath{V_{\mathit{GS}}} (sampling interval $= 1\ensuremath{U_{\mathit{T}}}\xspace $)
\includegraphics[scale=1.0]{erel-m2.eps}

Figure 4.9: Worst-case interpolation error of $\ensuremath{g_{\mathit{o}}}\xspace = \partial\ensuremath{I_{\mathit{D}}}\xspace / \partial\ensuremath{V_{\mathit{DS}}}\xspace $ vs. \ensuremath{V_{\mathit{DS}}} in moderate inversion ( $\ensuremath{V_{\mathit{GS}}}\xspace -\ensuremath{V_{\mathit{T}}}\xspace =0\rm V$) and strong inversion ( $\ensuremath{V_{\mathit{GS}}}\xspace -\ensuremath{V_{\mathit{T}}}\xspace =20\ensuremath{U_{\mathit{T}}}\xspace $) (sampling interval $= 1\ensuremath{U_{\mathit{T}}}\xspace $)
\includegraphics[scale=1.0]{erel-x2s.eps}

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 $1.94\ensuremath{U_{\mathit{T}}}\xspace $. 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 $\ensuremath{V_{\mathit{D}}}\xspace $- $\ensuremath{V_{\mathit{G}}}\xspace $ plane for the given $\ensuremath{V_{\mathit{B}}}\xspace $: second, the data are interpolated in drain-direction for 4 points on the $\ensuremath{V_{\mathit{G}}}\xspace $ line for the given $\ensuremath{V_{\mathit{D}}}\xspace $; and last, an interpolation is performed in gate-direction for the given $\ensuremath{V_{\mathit{G}}}\xspace $. 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.

Figure 4.10: Interpolation in two and three dimensions
\includegraphics[scale=1.0]{ipol2d.ps}
\includegraphics[scale=1.0]{ipol3d.ps}

In the current implementation one call to the model function takes $\rm 76\mu s$ on an HP-PA 735 workstation. The memory consumption, taking typical numbers of 5 x 20 x 20 = 2000 data points in $\ensuremath{V_{\mathit{BS}}}\xspace $, $\ensuremath{V_{\mathit{GS}}}\xspace $, and $\ensuremath{V_{\mathit{DS}}}\xspace $ 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.


next up previous contents
Next: 4.3.4 Applications Up: 4.3 A Table-Based Device Previous: 4.3.2 Transient Device Characterization

G. Schrom