|
|
@ -15,29 +15,50 @@ |
|
|
#include "ngspice/suffix.h" |
|
|
#include "ngspice/suffix.h" |
|
|
|
|
|
|
|
|
IFparm BSIM3v32pTable[] = { /* parameters */ |
|
|
IFparm BSIM3v32pTable[] = { /* parameters */ |
|
|
IOP( "l", BSIM3v32_L, IF_REAL , "Length"), |
|
|
|
|
|
IOP( "w", BSIM3v32_W, IF_REAL , "Width"), |
|
|
|
|
|
IOP( "m", BSIM3v32_M, IF_REAL , "Parallel multiplier"), |
|
|
|
|
|
IOP( "ad", BSIM3v32_AD, IF_REAL , "Drain area"), |
|
|
|
|
|
IOP( "as", BSIM3v32_AS, IF_REAL , "Source area"), |
|
|
|
|
|
IOP( "pd", BSIM3v32_PD, IF_REAL , "Drain perimeter"), |
|
|
|
|
|
IOP( "ps", BSIM3v32_PS, IF_REAL , "Source perimeter"), |
|
|
|
|
|
IOP( "nrd", BSIM3v32_NRD, IF_REAL , "Number of squares in drain"), |
|
|
|
|
|
IOP( "nrs", BSIM3v32_NRS, IF_REAL , "Number of squares in source"), |
|
|
|
|
|
IOP( "off", BSIM3v32_OFF, IF_FLAG , "Device is initially off"), |
|
|
|
|
|
|
|
|
IOP( "l", BSIM3v32_L, IF_REAL , "Length"), |
|
|
|
|
|
IOP( "w", BSIM3v32_W, IF_REAL , "Width"), |
|
|
|
|
|
IOP( "m", BSIM3v32_M, IF_REAL , "Parallel multiplier"), |
|
|
|
|
|
IOP( "ad", BSIM3v32_AD, IF_REAL , "Drain area"), |
|
|
|
|
|
IOP( "as", BSIM3v32_AS, IF_REAL , "Source area"), |
|
|
|
|
|
IOP( "pd", BSIM3v32_PD, IF_REAL , "Drain perimeter"), |
|
|
|
|
|
IOP( "ps", BSIM3v32_PS, IF_REAL , "Source perimeter"), |
|
|
|
|
|
IOP( "nrd", BSIM3v32_NRD, IF_REAL , "Number of squares in drain"), |
|
|
|
|
|
IOP( "nrs", BSIM3v32_NRS, IF_REAL , "Number of squares in source"), |
|
|
|
|
|
IOP( "off", BSIM3v32_OFF, IF_FLAG , "Device is initially off"), |
|
|
IOP( "nqsmod", BSIM3v32_NQSMOD, IF_INTEGER, "Non-quasi-static model selector"), |
|
|
IOP( "nqsmod", BSIM3v32_NQSMOD, IF_INTEGER, "Non-quasi-static model selector"), |
|
|
IOP( "delvto", BSIM3v32_DELVTO, IF_REAL , "Zero bias threshold voltage variation"), |
|
|
|
|
|
IOP( "mulu0", BSIM3v32_MULU0, IF_REAL , "Low field mobility multiplier"), |
|
|
|
|
|
IP( "ic", BSIM3v32_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"), |
|
|
|
|
|
OP( "gmbs", BSIM3v32_GMBS, IF_REAL, "Gmb"), |
|
|
|
|
|
OP( "gm", BSIM3v32_GM, IF_REAL, "Gm"), |
|
|
|
|
|
OP( "gds", BSIM3v32_GDS, IF_REAL, "Gds"), |
|
|
|
|
|
OP( "vdsat",BSIM3v32_VDSAT, IF_REAL, "Vdsat"), |
|
|
|
|
|
OP( "vth", BSIM3v32_VON, IF_REAL, "Vth"), |
|
|
|
|
|
OP( "id", BSIM3v32_CD, IF_REAL, "Ids"), |
|
|
|
|
|
OP( "vbs", BSIM3v32_VBS, IF_REAL, "Vbs"), |
|
|
|
|
|
OP( "vgs", BSIM3v32_VGS, IF_REAL, "Vgs"), |
|
|
|
|
|
OP( "vds", BSIM3v32_VDS, IF_REAL, "Vds"), |
|
|
|
|
|
|
|
|
IOP( "delvto", BSIM3v32_DELVTO, IF_REAL , "Zero bias threshold voltage variation"), |
|
|
|
|
|
IOP( "mulu0", BSIM3v32_MULU0, IF_REAL , "Low field mobility multiplier"), |
|
|
|
|
|
IP( "ic", BSIM3v32_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"), |
|
|
|
|
|
OP( "gmbs", BSIM3v32_GMBS, IF_REAL, "Gmb"), |
|
|
|
|
|
OP( "gm", BSIM3v32_GM, IF_REAL, "Gm"), |
|
|
|
|
|
OP( "gds", BSIM3v32_GDS, IF_REAL, "Gds"), |
|
|
|
|
|
OP( "vdsat", BSIM3v32_VDSAT, IF_REAL, "Vdsat"), |
|
|
|
|
|
OP( "vth", BSIM3v32_VON, IF_REAL, "Vth"), |
|
|
|
|
|
OP( "id", BSIM3v32_CD, IF_REAL, "Ids"), |
|
|
|
|
|
OP( "vbs", BSIM3v32_VBS, IF_REAL, "Vbs"), |
|
|
|
|
|
OP( "vgs", BSIM3v32_VGS, IF_REAL, "Vgs"), |
|
|
|
|
|
OP( "vds", BSIM3v32_VDS, IF_REAL, "Vds"), |
|
|
|
|
|
OP( "ibd", BSIM3v32_CBD, IF_REAL, "Ibd"), /* newly added from here */ |
|
|
|
|
|
OP( "ibs", BSIM3v32_CBS, IF_REAL, "Ibs"), |
|
|
|
|
|
OP( "gbd", BSIM3v32_GBD, IF_REAL, "gbd"), |
|
|
|
|
|
OP( "gbs", BSIM3v32_GBS, IF_REAL, "gbs"), |
|
|
|
|
|
OP( "qb", BSIM3v32_QB, IF_REAL, "Qbulk"), |
|
|
|
|
|
OP( "cqb", BSIM3v32_CQB, IF_REAL, "CQbulk"), |
|
|
|
|
|
OP( "qg", BSIM3v32_QG, IF_REAL, "Qgate"), |
|
|
|
|
|
OP( "cqg", BSIM3v32_CQG, IF_REAL, "CQgate"), |
|
|
|
|
|
OP( "qd", BSIM3v32_QD, IF_REAL, "Qdrain"), |
|
|
|
|
|
OP( "cqd", BSIM3v32_CQD, IF_REAL, "CQdrain"), |
|
|
|
|
|
OP( "cgg", BSIM3v32_CGG, IF_REAL, "Cggb"), |
|
|
|
|
|
OP( "cgd", BSIM3v32_CGD, IF_REAL, "Cgdb"), |
|
|
|
|
|
OP( "cgs", BSIM3v32_CGS, IF_REAL, "Cgsb"), |
|
|
|
|
|
OP( "cdg", BSIM3v32_CDG, IF_REAL, "Cdgb"), |
|
|
|
|
|
OP( "cdd", BSIM3v32_CDD, IF_REAL, "Cddb"), |
|
|
|
|
|
OP( "cds", BSIM3v32_CDS, IF_REAL, "Cdsb"), |
|
|
|
|
|
OP( "cbg", BSIM3v32_CBG, IF_REAL, "Cbgb"), |
|
|
|
|
|
OP( "cbd", BSIM3v32_CBDB, IF_REAL, "Cbdb"), |
|
|
|
|
|
OP( "cbs", BSIM3v32_CBSB, IF_REAL, "Cbsb"), |
|
|
|
|
|
OP( "capbd", BSIM3v32_CAPBD, IF_REAL, "Capbd"), |
|
|
|
|
|
OP( "capbs", BSIM3v32_CAPBS, IF_REAL, "Capbs"), |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
IFparm BSIM3v32mPTable[] = { /* model parameters */ |
|
|
IFparm BSIM3v32mPTable[] = { /* model parameters */ |
|
|
|