Optimization

 

Discussion

Results

Diagnostics

Flowchart

 

Home Page

Device Parameter Fitting Using Matlab

September 4, 1996


ABSTRACT

The calibration of device simulators to measured data is of paramount importance to accurate simulations. Often, this calibration is done "by hand" through trial-and-error, requiring a lot of time. We demonstrate a conglomeration of programs that will perform this calibration systematically to arbitrary precision. It can locally optimize several variables using the nonlinear simplex method (Nelder-Mead) implemented by the FMINS function in Matlab.

DISCUSSION

In this example, an NMOS transistor is biased in a circuit with a drain resistance (Rd) and a source resistance (Rs). For Rd=1000, Rs=50 and Vgate=3V, we obtain an Id-Vd curve which we define as the standard.

Now, let us suppose that we do not know the Rd and Rs used to obtain that particular Id-Vd curve. We give the calibrator an initial guess (Rd=3000 and Rs=35 in this example). The results of this are shown below.

In this case, the fit is very good -- the "standard" Id-Vd curve and the fitted curve overlap. The following plots show the calibrator converging on the correct values of Rd and Rs.

RESULTS

  • Standard Id-Vd and Fitted Id-Vd
  • Rd and Rs vs Iterations
  • Error vs Iterations

results

DIAGNOSTICS

Unfortunately, global optimization is very difficult to achieve. If the initial guesses are too far away from the actual parameters, the calibrator will happily find a local minimum. The next set of plots shows the dependence of the RMS error (deviation from the "standard" Id-Vd curve) on Rd and Rs. As shown, the RMS error does not depend strongly on Rs, thus the calibrator is prone to converge on a value of Rs quite far from 50.

  • RMS error as a function of Rd
  • RMS error as a function of Rs
  • Rs and Rs pairs used in the simplex
  • RMS error as a function of both Rd and Rs

Error

Error surface

PROGRAM SETUP/FLOWCHART

The calibrator uses the FMINS function in Matlab to perform the optimization. The FMINS function requires only a function evaluation (no gradient required) and is thus suitable for functions that are very costly to compute. This function is defined in the file "medici.m" which runs the Medici device simulator through a Perl script with the desired values of Rd and Rs.

flowchart


Top of Page