SPICE Model Validation
(part II)
Introduction
The importance of the MOS device SPICE model validation and the introduction of the validation routine in UTMOST III was presented in Simulation Standard article issued on September 1996. The recent developments and the practical applications for the "Validate" routine will be presented in this article.
Figure 1: The Fitting Variable Screen for the Validate Routine.
Figure 2: The Validate Measurement Setup Screen
The validate routine allows users to verify the measured versus simulated parameters such as VSAT (Saturation Voltage), ISAT (Saturation Current) and VTH (Threshold Voltage) for the range of L-array or W-array devices. Different combination of the L-array devices or W-array devices or parameters can be selected using the flags in the fit variable screen of the "Validate" routine.
Data Acquisition
The Validate routine can only read measurement data from BSIM3_MG and ALL_DC routines. The Validate routine can not be used for measurement. The measurement variables in the measurement setup screen is used for simulation only.
Measurement Setup
Measurement Variables (Used with simulation only)
1 VGS_sat Constant Gate voltage for Isat and Vsat plots.
2 VBSstart_sat Starting value of the bulk voltage for Isat and Vsat plots.
3 VBSstep_sat Step value of the bulk voltage for Isat and Vsat plots.
4 #of_VBS_step Number of substrate bias points for Isat and Vsat plots.
5 VDS_VTH Constant drain voltage for Vth vs L/W/Vbs plots.
6 VBSstart_VTH Starting value for the bulk voltage of Vth vs L, W or Vbs plots.
7 VBSstep_VTH Step value of the bulk voltage for Vth vs L or W plots.
8 #of_VBS_step Defines a number of substrate bias points for Vth vs L or W plots.
9 VBS_VTD Constant bulk voltage for Vth vs Vds plot.
10 VDSstart_VTD Starting value of the drain voltage for Vth vs Vds plot.
11 VDSstep_VTD Step value for the drain voltage for Vth vs Vds plot.
12 #of_VDS_step Number of drain bias points for the Vth vs Vds plot.
13 VBSstep_VBS Step value for the bulk voltage for Vth vs Vbs plot.
14 #of_VBS_step Number of bulk bias points for the Vth vs Vbs plot.
15 SAT_L_group Strategy screen Group number for Isat or Vsat vs L plots.
16 SAT_W_group Strategy screen Group number for Isat/Vsat vs W plots.
17 VTH_L_group Strategy screen Group number for Vth vs L plot.
18 VTH_W_group Strategy screen Group number for Vth vs W plot.
19 VTH_VD_group Strategy screen Group number for Vth vs Vds plot.
20 VTH_VB_group Strategy screen Group number for Vth vs Vbs number.
Fitting Variables
The fitting variables allow the user to select the type of data that will be displayed in the graphics screen and define the method used for Vth extraction.
The fitting variables (from 1 to 8) can take one of the 4 possible values:
0 No plot
1 Measurement data only
2 Simulation data only
3 Measurement + Simulation data
* ISAT_vs_L: Flag for Isat vs L plot.
* ISAT_vs_W: Flag for Isat vs W plot.
* VSAT_vs_L: Flag for Vsat vs L plot.
* VSAT_vs_W: Flag for Vsat vs W plot.
* VTH_vs_L: Flag for Vth vs L plot.
* VTH_vs_W: Flag for Vth vs W plot.
* VTH_vs_VDS: Flag for Vth vs Vds plot.
* VTH_vs_VBS: Flag for Vth vs Vbs plot.
* Model (Old=0): Model Selector for Vth extraction (0 - 5).
* Vth_factor: Vth factor value for threshold voltage extraction using a constant current method.
* vdsat_sel: Drain voltage used for the direct drain current extraction.
* points_sim: Number of simulation points used when"Get Raw Data from" is set to "Simulation" and all plot flags in the fit variable screen are set to 2. Used to improve the extraction accuracy.
Parameter Extraction
The parameters Vsat, Isat and Vth are extracted using the methods described below.
Models |
Vth Extraction Method | Isat Extraction Method |
0 |
Maximum Slope of Ids versus Vgs curve: GMmax. | Intercept between linear slope and the minimum saturation slope on ID/VD - VG: Lin. Sat. Inter |
1 |
Constant current : Vg(Id= <vth_factor> W/L) where <vth_factor> is the value of the fitting variable vth_factor. |
Intercept between linear slope and the minimum saturation slope on ID/VD - VG: Lin. Sat. Inter. |
2 |
Maximum Slope of Ids versus Vgs curve: GMmax | Drain current for Vds = <vdsat_sel> where <vdsat_sel> is the value of the fitting variable vdsat_sel: Id(Vd)=<vdsat_sel> |
3 |
Constant current : Vg(Id= <vth_factor> W/L) where <vth_factor> is the value of the fitting variable vth_factor. |
Drain current for Vds = <vdsat_sel> where <vdsat_sel> is the value of the fitting variable vdsat_sel : Id(Vd=<vdsat_sel> |
4 |
Maximum Slope of sqrt(Ids) versus Vgs curve: Sqrt(Id) | Intercept between linear slope and the minimum saturation slope on ID/VD - VG: Lin. Sat. Inter. |
5 |
Maximum Slope of sqrt(Ids) versus Vgs curve: Sqrt(Id) | Drain current for Vds = <vdsat_sel> where <vdsat_sel> is the value of the fitting variable vdsat_sel : Id(Vd=<vdsat_sel> |
Table 1. Vth and ISAT Extraction Methodolgies.
Vsat/Isat Extraction
The saturation voltage and the saturation current (if Model is set to 0, 1 or 4) are extracted from the last sweep of the Ids/Vds - Vbs curves. These parameters are the coordinates of the intersection between the slope of the linear region and the minimum slope of the saturation region.
If Model is set to 1, 2 or 5, the saturation current is directly extracted as the drain current for the drain voltage set with the vdsat_sel fitting variable. The saturation voltage is always extracted from the intersection between the slope of the linear region and the minimum slope of the saturation region.
Figure 3 : Isat versus Ldrawn.
VTh Extraction
Three methods of threshold voltage extraction are available within the Validate routine.
If Model is set to 0 or 2, Vth is extracted from the linear regression fit with the maximum slope using the IDS versus VGS curve at zero substrate bias voltage (maximum slope method).
If Model is set to 1 or 3, Vth is the Vgs voltage when the Ids current is equal to the current defined as: vth_factor * Wdrawn/Ldrawn. The Vth_factor is set by the user in the Fit Variable Screen.
If Model is set to 4 or 5, Vth is extracted from the largest slope of the sqrt(Ids) versus Vgs curve when the transistor is in saturation mode (high Vds). If the Vds value is too low, a warning message will be displayed on the UTMOST screen.
Isat or Vsat vs Ldrawn or Wdrawn data
If the measured data is available (coming from BSIM3 or ALL_DC routines) the validate routine will sort the devices with constant W and varying L or constant L and varying W. The Isat or Vsat values for each device will be extracted based on the methodology described earlier. The Isat vs L or W data will be displayed for different VBS values. The simulation data will also use the same device selection and Isat calculation methods.
Figure 4 : Vsat versus Ldrawn
Vth vs Ldrawn or Vth vs Wdrawn data
Based on the flag selection in the fit variable screen the validate routine will extract and display the VTH versus L-array or W-array curves. The VTH extraction will be performed at different VBS bias conditions. The VTH extraction method is defined by the "Model" flag in the fit variable screen.
Figure 5. Vth versus Ldrawn.
Vth vs VDS data
The validation of the threshold voltage variations with Vds is performed on the L-array devices only. The Vth extraction is performed at Vbs=0V bias condition.
Figure 6. Vth versus VDS.
Vth vs VBS data
The validation of the threshold voltage variations with Vbs is performed on the L-array devices only. The Vth extraction is performed for single Vds bias condition.
Figure 7.Vth versus VBS.
Simulation
Simulation data can be used for model validation in two different ways.
If measured data is available, simulation data can be obtained for the same bias points used for the measured data. The measured and simulated data will be superimposed on all validation curves.
A standalone simulation option (without the measured
data) can be utilized to verify the continuity of the model for
different L-array or W-array devices. This option requires the user
to set all fit variable flags to 2. and set the correct group numbers
in the measurement setup screen. The accuracy of the actraction
for the simulation only option is defined by the "points_sim"
flag.