Model Generation Using Parameter Optimization

opt_ex01 : Model Generation Using Parameter Optimization

Requires: Utmost IV, SmartSpice, SmartView

Minimum Versions: Utmost IV 1.10.6.R, SmartSpice 4.10.2.R, SmartView 2.28.2.R

This example shows how to use model parameter optimization to extract a mosfet SPICE model.

The project file opt_ex01.prj and the data file opt_ex01.uds for this example should both be loaded into your database. When opened, the project will look as shown in opt_ex01_01.png .

A SPICE model is a mathematical representation of an electrical or electronic device which can be used to predict how this device will behave in a circuit. In order to develop the SPICE model, measured data from this device is used and the parameters of the SPICE model are adjusted until the simulated and measured data are in good agreement.

The measured data or datasets are already stored in the database and to retrieve this data we perform a search which is shown in opt_ex01_02.png . In this simple search we are retrieving any data with the batch name 'opt_ex01' and for the example this will retrieve a single dataset from the database.

In addition to the search, the retrieved datasets must also match to the device netlist which is defined as shown in opt_ex01_03.png . If the datasets do not match to the device nodes and device attributes as defined in the netlist they will not be retrieved.

The device netlist also defines the model which is to be generated, in this case a compact mosfet model called 'NMOS'. A SPICE model which matches to this must be defined. Selecting the Setup->Model Library menu item will open up the model library window as show in opt_ex01_04.png . A single BSIM3 MOSFET model has been added to the model library with the name 'NMOS'in order to match the model name which was defined in the device simulation netlist.

At this point, with the dataset available and the netlist and model card defined, a simulation can be performed which will compare the measured and simulated data as shown in opt_ex01_05.png .

To automate the generation of the SPICE model, we need to select the dataset and add it to the optimization sequence. This is done by creating a data subset as shown in opt_ex01_06.png . In this data subset, datasets with a measurement setup named 'idvg' are selected which gives a single dataset in this case.

Once the data subset has been defined and added into the optimization sequence, we need to define the optimization that is to be performed. This is done by creating an optimization setup as shown in opt_ex01_07.png . The optimization setup has two sections. In the first section, the data targets which are to be used in the optimization are defined. In the second section, the SPICE parameters which are to be optimized are given.

Once the optimization setup has been defined, this can be added into the optimization sequence as the child of the data subset. When the optimization sequence is run, the model parameters are adjusted to reduce the error in the measured data which matches to the data targets which were defined.

After the optimization has finished, the final measured versus simulated data will be displayed as shown in opt_ex01_08.png . In addition, the results of the SPICE model parameter optimization are displayed in the project window as shown in opt_ex01_09.png and are also written into the model library of the project.

The generated SPICE model can then be saved to the database with the project or exported into an external file.