cor_ex02 : Creating Corner Models

cor_ex02 : Creating Corner Models

cor_ex02 : Creating Corner Models

Requires: Utmost IV, SmartSpice, SmartView

Minimum Versions: Utmost IV 2.19.2.R, SmartSpice 5.2.0.R, SmartView 2.2207.0.R

This example shows how to use the Utmost IV Corner and Retargeting module to generate typical, slow and fast corner models starting from an existing MOSFET SPICE base (or nominal) model card.

The typical corner data in general comes from the statistical mean values of the targets, based on a large set of measurements. Because of this, the typical target values are usually slightly different from the ones predicted by the base (nominal) model card, which is presumably extracted based on a reference wafer (or “golden” wafer). As a consequence, the typical corner model also needs to be extracted, as well as the other two corner models.

For this example, the “Slow” and “Fast” values of the TOXE parameter are specified as +8% and -8% of the nominal value for the “Fast” and “Slow” corners, resepectively.

The project file cor_ex02.prj for this example should be loaded into your Utmost IV Corner and Retargeting module. The corner module uses Electrical Table (ET) data. The measured data is already included in the project, as shown in the cor_ex02_01.png
.

Each row in the table represents a specific device, with a particular set of attribute values. The columns can be either attributes (the first 2 columns, in this example) or targets. The data used in this example includes two attributes, W and L, and three targets, Vth_cc, Idlin and Idsat.

The targets are specific measurements (extractions) performed on the devices. One can examine and edit the target definitions by selecting the Setup->Target Setups menu item, as shown in cor_ex02_02.png
. Each target must have the following components:

  • Name: the name of the target
  • Temperature: the temperature at which the target is measured
  • Setup: the measurement setup used to generating device characteristics at the given temperature
  • Extraction: the extraction performed on the device characteristics
  • Pre Extract: indicates whether or not a preliminary extraction is needed in order to measure the target.

If a preliminary extraction is not required, the last 4 columns are empty. If a preliminary extraction is needed, the last 4 columns will contain:

  • PE Delta Temperature: the temperature difference versus the main extraction, at which the preliminary extraction is performed
  • PE Setup: the measurement setup used to generating device characteristics for the preliminary extraction
  • PE Extraction: the preliminary extraction
  • PE Variable: the variable name to store the result of the preliminary extraction

The target definitions in the project, including their measurement setups, extractions and variables, must be the same as the ones that have been used when acquiring the data in the data table.

The data table has four views, which can be selected by using the Select View widget, as follows:

  • Values: the data values to match
  • Simulations: the simulated values (empty until a simulation is performed)
  • Errors: the differences between data and simulated values (empty until a simulation is performed)
  • Settings: the type and the values of the two warning levels for each target in the table (the error specifications)

In this example, data tables are available for the typical case, and for two additional corners (“Fast” and “Slow”, respectivaly). Switching from one corner to another can be done through the Select Corner widget. This will show the data for the “Fast” and “Slow” corners, as seen in cor_ex02_03.png
and cor_ex02_04.png
, respectively.

The parameters that are already preselected for this project can be examined by selecting the “Corner Parameters” tab, as shown in cor_ex02_05.png
. The values of the TOXE parameter for each corner are set based on the specifications:

  • Nominal TOXE for the Typical corner (1.03nm)
  • 108% of the nominal TOXE for the Fast corner (1.1124nm)
  • 92% of the nominal TOXE for the Slow corner (0.9476nm)

The values of the VTH0 and U0 parameters are all based on the nominal (base) model card.

Switching back to the “Corner Targets” tab, we select the “Typ” corner from the “Select Corner” drop-down list and the “Errors” from the “Select View” drop-down list, as shown in cor_ex02_06.png
.

The data and the simulated values can be also examined using trend plots. This is done by selecting the Corner->Plot menu item, which will display the plots in the viewer, as shown in cor_ex02_07.png
. For this example the plots are shown versus the L attribute, using logarithmic scales for the X and Y axes. If needed the plot setup can be changed by selecting the Setup->Plot Setup menu item, which opens the “Plot Setup” Dialog, as shown in cor_ex02_08.png

By pressing the “Simulate” button in the viewer, a simulation can be performed which will compare the measured and simulated data as shown in cor_ex02_09.png
. This also updates the simulated and the error values in the table, as shown in cor_ex02_10.png
. The cells in the Errors table are shown in different colors, depending on their value:

  • Red: the error is larger than the Warning Level 2 value
  • Yellow: the error is larger than the Warning Level 1 value, but lower than the Warning Level 2 value
  • White: the error is lower than the Warning Level 1 value

The extraction of the corner model is done by opening the Rubberband from the viewer, as shown in cor_ex02_11.png
for the Typical corner case. For this example we are using the following model parameters:

  • TOXE: the oxide thickness
  • VTH0: the threshold voltage for the long and wide device
  • U0: the low field mobility

In the Rubberband “Optimize” column we unselect the TOXE parameter, as shown in cor_ex02_12.png
, as this parameter needs to be set to its fixed value, according to the specifications. We continue by pressing the “Optimize” button in Rubberband, to optimize just the VTH0 and U0 parameters. Once the optimization is finished, we press the “OK” button to close the Rubberband and save the values of the parameters for the “Typ” corner model.

The values in the Errors table indicate that the resulting “Typ” corner model meets the specifications, with just a few minor differences, that may be accepted: cor_ex02_13.png
. The plots also illustrate the good fitting of the extracted model: cor_ex02_14.png

We continue by selecting the “Fast” Corner from the “Select Corner” drop-down list. We show the plots for the “Fast” corner and open the Rubberband from the viewer. In the Rubberband “Optimize” column we unselect the TOXE parameter, as shown in cor_ex02_15.png
. We continue by pressing the “Optimize” button in Rubberband, to optimize just the VTH0 and U0 parameters. Once the optimization is finished, we press the “OK” button to close the Rubberband and save the values of the parameters for the “Fast” corner model. The values in the Errors table indicate that the resulting “Fast” corner model meets the specifications, with just a few minor differences, that may be accepted: cor_ex02_16.png
. The plots also illustrate the good fitting of the extracted model: cor_ex02_17.png

Finally, we proceed the same way for the “Slow” Corner, by selecting it from the “Select Corner” drop-down list. We show the plots for the “Slow” corner and open the Rubberband from the viewer. In the Rubberband “Optimize” column we unselect the TOXE parameter, as shown in cor_ex02_18.png
. We continue by pressing the “Optimize” button in Rubberband, to optimize just the VTH0 and U0 parameters. Once the optimization is finished, we press the “OK” button to close the Rubberband and save the values of the parameters for the “Slow” corner model. The values in the Errors table indicate that the resulting “Slow” corner model meets the specifications, with just a few minor differences, that may be accepted: cor_ex02_19.png
. The plots also illustrate the good fitting of the extracted model: cor_ex02_20.png

The tuned parameters for the 3 corners can now be further examined in the Corner Parameters tab, as shown in cor_ex02_21.png
. Furthermore, a model library can be created by selecting the Corner->Write to Library menu item, which opens the “Write Library File” Dialog, as shown in cor_ex02_22.png
. One can then specify a file name and an optional prefix for the updated model parameters.

The contents of the saved library file is show in cor_ex02.lib. The parameter set for each corner are saved under corresponding libraries with the same names as the project corner names (“Typ”, “Fast” and “Slow”, respectively. The TOXE, U0 and VTH0 parameters in the model card are referring the netlist parameters defined in the corner libraries.

Graphics

cor_ex02_01.png
cor_ex02_02.png
cor_ex02_03.png
cor_ex02_04.png
cor_ex02_05.png
cor_ex02_06.png
cor_ex02_07.png
cor_ex02_08.png
cor_ex02_09.png
cor_ex02_10.png
cor_ex02_11.png
cor_ex02_12.png
cor_ex02_13.png
cor_ex02_14.png
cor_ex02_15.png
cor_ex02_16.png
cor_ex02_17.png
cor_ex02_18.png
cor_ex02_19.png
cor_ex02_20.png
cor_ex02_21.png
cor_ex02_22.png

Files

cor_ex02.lib

.LIB Typ
.PARAM cor_TOXE_nmos = 1.03e-09
.PARAM cor_U0_nmos = 0.00227056
.PARAM cor_VTH0_nmos = 0.086824
.ENDL Typ

.LIB Fast
.PARAM cor_TOXE_nmos = 1.1124e-09
.PARAM cor_U0_nmos = 0.00336038
.PARAM cor_VTH0_nmos = 0.0779741
.ENDL Fast

.LIB Slow
.PARAM cor_TOXE_nmos = 9.476e-10
.PARAM cor_U0_nmos = 0.00206273
.PARAM cor_VTH0_nmos = 0.0985796
.ENDL Slow

.LIB models
.MODEL nmos NMOS (
+LEVEL    = 54             VERSION  = 4.6            BINUNIT  = 1              
+PARAMCHK = 1              MOBMOD   = 1              RDSMOD   = 0              
+IGCMOD   = 0              IGBMOD   = 0              CAPMOD   = 2              
+RGATEMOD = 0              RBODYMOD = 0              TRNQSMOD = 0              
+ACNQSMOD = 0              FNOIMOD  = 1              TNOIMOD  = 0              
+DIOMOD   = 1              PERMOD   = 1              GEOMOD   = 0              
+EPSROX   = 3.9            
+TOXE = cor_TOXE_nmos
+DTOX     = 0              XJ       = 1.5e-07        NDEP     = 9.42239e+16    
+NGATE    = 0              NSD      = 1e+20          RSH      = 0              
+RSHG     = 0.1            
+VTH0 = cor_VTH0_nmos
+VFB      = 1              PHIN     = -0.3074        K1       = 0.737411       
+K2       = -0.117964      K3       = 279.24         K3B      = -489.377       
+W0       = 1e-05          LPE0     = 1.07487e-07    LPEB     = -7.15578e-09   
+DVT0     = 1.56021        DVT1     = 0.794481       DVT2     = -0.032         
+DVTP0    = 0              DVTP1    = 0              DVT0W    = 0              
+DVT1W    = 0              DVT2W    = -0.032         U0       = cor_U0_nmos    
+UA       = -8.62977e-10   UB       = 7.34966e-19    UC       = 0.45946        
+EU       = 1.67           VSAT     = 36046.4        A0       = 1.82081        
+AGS      = 0.00786686     B0       = 0              B1       = 0              
+KETA     = 0.13231        A1       = 0              A2       = 1              
+WINT     = 1.09686e-09    LINT     = 8.5955e-09     DWG      = -7.09648e-09   
+DWB      = -7.71477e-08   VOFF     = -0.118411      VOFFL    = 0              
+MINV     = -0.0764226     NFACTOR  = 22.0768        ETA0     = 0.477988       
+ETAB     = -0.07          DSUB     = 0.371266       CIT      = 0              
+CDSC     = 0.00024        CDSCB    = 0              CDSCD    = 0              
+PCLM     = 0.649886       PDIBLC1  = 0.001          PDIBLC2  = 1e-05          
+PDIBLCB  = 0              DROUT    = 0.829187       PSCBE1   = 4.14233e+08    
+PSCBE2   = 0.000386234    PVAG     = 9.25299        DELTA    = 0.00465946     
+FPROUT   = 0              PDITS    = 0              PDITSL   = 0              
+PDITSD   = 0              LAMBDA   = 0              VTL      = 205000         
+LC       = 0              XN       = 3              RDSW     = 5082.17        
+RDSWMIN  = 369.532        RDW      = 100            RDWMIN   = 0              
+RSW      = 100            RSWMIN   = 0              PRWG     = 4.36516        
+PRWB     = -0.839777      WR       = 1              ALPHA0   = 0              
+ALPHA1   = 0              BETA0    = 30             AGIDL    = 0              
+BGIDL    = 2.3e+09        CGIDL    = 0.5            EGIDL    = 0.8            
+AIGBACC  = 0.43           BIGBACC  = 0.054          CIGBACC  = 0.075          
+NIGBACC  = 1              AIGBINV  = 0.35           BIGBINV  = 0.03           
+CIGBINV  = 0.006          EIGBINV  = 1.1            NIGBINV  = 3              
+AIGC     = 0.0136         BIGC     = 0.00171        CIGC     = 0.075          
+DLCIG    = 0              NIGC     = 1              POXEDGE  = 1              
+PIGCD    = 1              NTOX     = 1              TOXREF   = 3e-09          
+XPART    = 0              CGSO     = 6.19328e-10    CGDO     = 6.19707e-10    
+CGSL     = 2.53081e-10    CGDL     = 2.52918e-10    CKAPPAS  = 0.0255362      
+CKAPPAD  = 0.0248237      CLC      = 1e-07          CLE      = 0.6            
+DLC      = 0              DWC      = 0              VFBCV    = -1             
+NOFF     = 1              VOFFCV   = 0.162526       ACDE     = 1              
+MOIN     = 15             XRCRG1   = 12             XRCRG2   = 1              
+RBPB     = 50             RBPD     = 50             RBPS     = 50             
+RBDB     = 50             RBSB     = 50             GBMIN    = 1e-12          
+NOIC     = 8.75           EM       = 4.1e+07        AF       = 1              
+EF       = 1              KF       = 0              NTNOI    = 1              
+TNOIA    = 1.5            TNOIB    = 3.5            RNOIA    = 0.577          
+RNOIB    = 0.37           DMCG     = 0              DMCI     = 0              
+DMDG     = 0              DMCGT    = 0              DWJ      = 0              
+XGW      = 0              XGL      = 0              XL       = 0              
+XW       = 0              NGCON    = 1              IJTHSREV = 0.1            
+IJTHDREV = 0.1            IJTHSFWD = 0.1            IJTHDFWD = 0.1            
+XJBVS    = 1              XJBVD    = 1              BVS      = 10             
+BVD      = 10             JSS      = 0.0001         JSD      = 0.0001         
+JSWS     = 0              JSWD     = 0              JSWGS    = 0              
+JSWGD    = 0              CJS      = 0.0005         CJD      = 0.0005         
+MJS      = 0.5            MJD      = 0.5            MJSWS    = 0.33           
+MJSWD    = 0.33           CJSWS    = 5e-10          CJSWD    = 5e-10          
+CJSWGS   = 5e-10          CJSWGD   = 5e-10          MJSWGS   = 0.33           
+MJSWGD   = 0.33           PB       = 1              PBSWS    = 1              
+PBSWD    = 1              PBSWGS   = 1              PBSWGD   = 1              
+TNOM     = 27             UTE      = -0.623226      KT1      = -0.660124      
+KT1L     = 2.02929e-08    KT2      = -0.178646      UA1      = 1.14212e-09    
+UB1      = 2.92892e-19    UC1      = -0.0687707     AT       = 86944.8        
+PRT      = 9.99937        NJS      = 1              NJD      = 1              
+XTIS     = 3              XTID     = 3              TPB      = 0              
+TPBSW    = 0              TPBSWG   = 0              TCJ      = 0              
+TCJSW    = 0              TCJSWG   = 0              SAREF    = 1e-06          
+SBREF    = 1e-06          WLOD     = 0              KU0      = 0              
+KVSAT    = 0              TKU0     = 0              LKU0     = 0              
+WKU0     = 0              LLODKU0  = 0              WLODKU0  = 0              
+KVTH0    = 0              LKVTH0   = 0              WKVTH0   = 0              
+LLODVTH  = 0              WLODVTH  = 0              STK2     = 0              
+LODK2    = 1              STETA0   = 0              LODETA0  = 1              
+WL       = 0              WLN      = 1              WW       = 0              
+WWN      = 1              WWL      = 0              LL       = 0              
+LLN      = 1              LW       = 0              LWN      = 1              
+LWL      = 0              LLC      = 0              LWC      = 0              
+LWLC     = 0              WLC      = 0              WWC      = 0              
+WWLC     = 0              LMIN     = 0              LMAX     = 1              
+WMIN     = 0              WMAX     = 1              AIGS     = 0.0136         
+BIGS     = 0.00171        CIGS     = 0.075          AIGD     = 0.0136         
+BIGD     = 0.00171        CIGD     = 0.075          DLCIGD   = 0 )
.ENDL models

Related Articles