Optimizing
The steps below represent the basic maxiset optimization sequence.
- Vsb=0V: Optimize VTOR, SLVTO, SL2VTO, SWVTO, BETSQ, THE1R, SLTHE1R, and SWTHE1.
- Varying Vsb: Optimize KOR, SLKO, SWKO, (KR, SLK, SWK, VSBXR, SLVSBX, SWVSBX), THE2R, SLTHE2R, and SWTHE2.
2 |
Subthreshold Ids - Vgs data |
- Vsb = 0V: Optimize GAMOOR, SLGAMOO, MOR, SLMO, ZET1R, and SLZET1.
3 |
Saturation gds - Vds data |
- Vsb = 0V: Optimize GAM1R, SLGAM1, SWGAM1, ALPR, SLALP, SWALP, and VPR.
4 |
Saturation Ids - Vds data |
- Vsb = 0V: Optimize THE3R, SLTHE3R, and SWTHE3.
5 |
Substrate current (Isub - Vgs) data |
- Vsb = 0V: Optimize A1R, SLA1, SWA1, A2R, SLA2, SWA2, A3R, SLA3, and SWA3.
6 |
Subthreshold Ids - Vgs data |
- Varying Vsb: Optimize VSBTR and SLVSBT.
Optimization Transforms and Macros
The transforms described in this section are available with the DUT extract.
full_extract
The full_extract transform controls the optimization sequence for miniset extraction. It can be found under the setup single_ext.
1 |
Initialize parameters (par_init) |
2 |
Linear region fitting at Vbs = 0 (lin_opt1) |
3 |
Linear region fitting at all Vbs (lin_opt2 for 2 k-factor model) or (lin_opt3 for 1 k-factor model) |
4 |
Subthreshold fitting at Vbs = 0 (subvt_opt1) |
5 |
Gds fitting at Vbs = 0 (normal_gds_opt1 for most devices) or (large_gds_opt1 for the large device) |
6 |
Ids fitting for Vbs = 0 (ids_opt1) |
7 |
Avalanche fitting for Vbs = 0 (isub_opt1) |
8 |
Repeat steps 2 through 7 |
9 |
Subthreshold fitting for all Vbs (subvt_opt2) |
sca_opt
The sca_opt transform controls the optimization sequence for maxiset extraction. It can be found under the setup scaled_ext.
1 |
Linear region fitting at Vbs = 0 (sca_lin_opt1) |
2 |
Linear region fitting for all Vbs (sca_lin_opt2 for the 2 k-factor option) or (sca_lin_opt3 for the 1 k-factor option) |
3 |
Subthreshold fitting at Vbs = 0 (sca_subvt_opt1) |
4 |
Gds fitting at Vbs = 0 (sca_gds_opt1) |
5 |
Ids fitting at Vbs = 0 (sca_ids_opt1) |
6 |
Avalanche current fitting at Vbs = 0 (sca_isub_opt1) |
7 |
Subthreshold fitting for all Vbs (sca_subvt_opt2) |
single_temp_opt
The single_temp_opt transform controls the optimization sequence for the temperature-dependent parameters at a single non-nominal temperature. It can be found under the setup single_temp_extract.
1 |
Initialize variables (temp_par_init) |
2 |
Linear fitting at Vbs = 0 (single_temp_lin_opt1) |
3 |
Linear fitting at all Vbs (single_tep_lin_opt2) |
4 |
Subthreshold fitting at Vbs = 0 (single_temp_subvt_opt1) |
5 |
Ids fitting at Vbs = 0 (single_temp_ids_opt1) |
6 |
Avalanche current fitting at Vbs = 0 (single_temp_isub_opt1) |
optimize_temperature_coefficients
The optimize_temperature_coefficients macro controls the optimization sequence for the temperature coefficients by calling the transforms listed below (found under the all_temp_extract setup) in the order shown.
|