📄 b3v1s.c
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.Modified by Paolo Nenzi 2002File: b3v1s.c**********/#include "ngspice.h"#include "devdefs.h"#include "bsim3v1sdef.h"#include "suffix.h"IFparm BSIM3v1SpTable[] = { /* parameters */IOP( "l", BSIM3v1S_L, IF_REAL , "Length"),IOP( "w", BSIM3v1S_W, IF_REAL , "Width"),IOP( "ad", BSIM3v1S_AD, IF_REAL , "Drain area"),IOP( "as", BSIM3v1S_AS, IF_REAL , "Source area"),IOP( "pd", BSIM3v1S_PD, IF_REAL , "Drain perimeter"),IOP( "ps", BSIM3v1S_PS, IF_REAL , "Source perimeter"),IOP( "nrd", BSIM3v1S_NRD, IF_REAL , "Number of squares in drain"),IOP( "nrs", BSIM3v1S_NRS, IF_REAL , "Number of squares in source"),IOP( "off", BSIM3v1S_OFF, IF_FLAG , "Device is initially off"),IOP( "nqsmod", BSIM3v1S_NQSMOD, IF_INTEGER, "Non-quasi-static model selector"),IP( "ic", BSIM3v1S_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"),OP( "gmbs", BSIM3v1S_GMBS, IF_REAL, "Gmb"),OP( "gm", BSIM3v1S_GM, IF_REAL, "Gm"),OP( "gds", BSIM3v1S_GDS, IF_REAL, "Gds"),OP( "vdsat", BSIM3v1S_VDSAT, IF_REAL, "Vdsat"),OP( "vth", BSIM3v1S_VON, IF_REAL, "Vth"),OP( "id", BSIM3v1S_CD, IF_REAL, "Ids"),OP( "vbs", BSIM3v1S_VBS, IF_REAL, "Vbs"),OP( "vgs", BSIM3v1S_VGS, IF_REAL, "Vgs"),OP( "vds", BSIM3v1S_VDS, IF_REAL, "Vds"),/* serban */IOP( "m", BSIM3v1S_M, IF_REAL , "Multiplication factor"),};IFparm BSIM3v1SmPTable[] = { /* model parameters */IOP( "capmod", BSIM3v1S_MOD_CAPMOD, IF_INTEGER, "Capacitance model selector"),IOP( "nqsmod", BSIM3v1S_MOD_NQSMOD, IF_INTEGER, "Non-quasi-static model selector"),IOP( "mobmod", BSIM3v1S_MOD_MOBMOD, IF_INTEGER, "Mobility model selector"),IOP( "noimod", BSIM3v1S_MOD_NOIMOD, IF_INTEGER, "Noise model selector"),IOP( "paramchk", BSIM3v1S_MOD_PARAMCHK, IF_INTEGER, "Model parameter checking selector"),IOP( "binunit", BSIM3v1S_MOD_BINUNIT, IF_INTEGER, "Bin unit selector"),IOP( "version", BSIM3v1S_MOD_VERSION, IF_REAL, " parameter for model version"),IOP( "tox", BSIM3v1S_MOD_TOX, IF_REAL, "Gate oxide thickness in meters"),IOP( "cdsc", BSIM3v1S_MOD_CDSC, IF_REAL, "Drain/Source and channel coupling capacitance"),IOP( "cdscb", BSIM3v1S_MOD_CDSCB, IF_REAL, "Body-bias dependence of cdsc"), IOP( "cdscd", BSIM3v1S_MOD_CDSCD, IF_REAL, "Drain-bias dependence of cdsc"), IOP( "cit", BSIM3v1S_MOD_CIT, IF_REAL, "Interface state capacitance"),IOP( "nfactor", BSIM3v1S_MOD_NFACTOR, IF_REAL, "Subthreshold swing Coefficient"),IOP( "xj", BSIM3v1S_MOD_XJ, IF_REAL, "Junction depth in meters"),IOP( "vsat", BSIM3v1S_MOD_VSAT, IF_REAL, "Saturation velocity at tnom"),IOP( "at", BSIM3v1S_MOD_AT, IF_REAL, "Temperature coefficient of vsat"),IOP( "a0", BSIM3v1S_MOD_A0, IF_REAL, "Non-uniform depletion width effect coefficient."), IOP( "ags", BSIM3v1S_MOD_AGS, IF_REAL, "Gate bias coefficient of Abulk."), IOP( "a1", BSIM3v1S_MOD_A1, IF_REAL, "Non-saturation effect coefficient"),IOP( "a2", BSIM3v1S_MOD_A2, IF_REAL, "Non-saturation effect coefficient"),IOP( "keta", BSIM3v1S_MOD_KETA, IF_REAL, "Body-bias coefficient of non-uniform depletion width effect."),IOP( "nsub", BSIM3v1S_MOD_NSUB, IF_REAL, "Substrate doping concentration"),IOP( "nch", BSIM3v1S_MOD_NPEAK, IF_REAL, "Channel doping concentration"),IOP( "ngate", BSIM3v1S_MOD_NGATE, IF_REAL, "Poly-gate doping concentration"),IOP( "gamma1", BSIM3v1S_MOD_GAMMA1, IF_REAL, "Vth body coefficient"),IOP( "gamma2", BSIM3v1S_MOD_GAMMA2, IF_REAL, "Vth body coefficient"),IOP( "vbx", BSIM3v1S_MOD_VBX, IF_REAL, "Vth transition body Voltage"),IOP( "vbm", BSIM3v1S_MOD_VBM, IF_REAL, "Maximum body voltage"),IOP( "xt", BSIM3v1S_MOD_XT, IF_REAL, "Doping depth"),IOP( "k1", BSIM3v1S_MOD_K1, IF_REAL, "Bulk effect coefficient 1"),IOP( "kt1", BSIM3v1S_MOD_KT1, IF_REAL, "Temperature coefficient of Vth"),IOP( "kt1l", BSIM3v1S_MOD_KT1L, IF_REAL, "Temperature coefficient of Vth"),IOP( "kt2", BSIM3v1S_MOD_KT2, IF_REAL, "Body-coefficient of kt1"),IOP( "k2", BSIM3v1S_MOD_K2, IF_REAL, "Bulk effect coefficient 2"),IOP( "k3", BSIM3v1S_MOD_K3, IF_REAL, "Narrow width effect coefficient"),IOP( "k3b", BSIM3v1S_MOD_K3B, IF_REAL, "Body effect coefficient of k3"),IOP( "w0", BSIM3v1S_MOD_W0, IF_REAL, "Narrow width effect parameter"),IOP( "nlx", BSIM3v1S_MOD_NLX, IF_REAL, "Lateral non-uniform doping effect"),IOP( "dvt0", BSIM3v1S_MOD_DVT0, IF_REAL, "Short channel effect coeff. 0"),IOP( "dvt1", BSIM3v1S_MOD_DVT1, IF_REAL, "Short channel effect coeff. 1"),IOP( "dvt2", BSIM3v1S_MOD_DVT2, IF_REAL, "Short channel effect coeff. 2"),IOP( "dvt0w", BSIM3v1S_MOD_DVT0W, IF_REAL, "Narrow Width coeff. 0"),IOP( "dvt1w", BSIM3v1S_MOD_DVT1W, IF_REAL, "Narrow Width effect coeff. 1"),IOP( "dvt2w", BSIM3v1S_MOD_DVT2W, IF_REAL, "Narrow Width effect coeff. 2"),IOP( "drout", BSIM3v1S_MOD_DROUT, IF_REAL, "DIBL coefficient of output resistance"),IOP( "dsub", BSIM3v1S_MOD_DSUB, IF_REAL, "DIBL coefficient in the subthreshold region"),IOP( "vth0", BSIM3v1S_MOD_VTH0, IF_REAL,"Threshold voltage"),IOP( "vtho", BSIM3v1S_MOD_VTH0, IF_REAL,"Threshold voltage"),IOP( "ua", BSIM3v1S_MOD_UA, IF_REAL, "Linear gate dependence of mobility"),IOP( "ua1", BSIM3v1S_MOD_UA1, IF_REAL, "Temperature coefficient of ua"),IOP( "ub", BSIM3v1S_MOD_UB, IF_REAL, "Quadratic gate dependence of mobility"),IOP( "ub1", BSIM3v1S_MOD_UB1, IF_REAL, "Temperature coefficient of ub"),IOP( "uc", BSIM3v1S_MOD_UC, IF_REAL, "Body-bias dependence of mobility"),IOP( "uc1", BSIM3v1S_MOD_UC1, IF_REAL, "Temperature coefficient of uc"),IOP( "u0", BSIM3v1S_MOD_U0, IF_REAL, "Low-field mobility at Tnom"),IOP( "ute", BSIM3v1S_MOD_UTE, IF_REAL, "Temperature coefficient of mobility"),IOP( "voff", BSIM3v1S_MOD_VOFF, IF_REAL, "Threshold voltage offset"),IOP( "tnom", BSIM3v1S_MOD_TNOM, IF_REAL, "Parameter measurement temperature"),IOP( "cgso", BSIM3v1S_MOD_CGSO, IF_REAL, "Gate-source overlap capacitance per width"),IOP( "cgdo", BSIM3v1S_MOD_CGDO, IF_REAL, "Gate-drain overlap capacitance per width"),IOP( "cgbo", BSIM3v1S_MOD_CGBO, IF_REAL, "Gate-bulk overlap capacitance per length"),IOP( "xpart", BSIM3v1S_MOD_XPART, IF_REAL, "Channel charge partitioning"),IOP( "elm", BSIM3v1S_MOD_ELM, IF_REAL, "Non-quasi-static Elmore Constant Parameter"),IOP( "delta", BSIM3v1S_MOD_DELTA, IF_REAL, "Effective Vds parameter"),IOP( "rsh", BSIM3v1S_MOD_RSH, IF_REAL, "Source-drain sheet resistance"),IOP( "rdsw", BSIM3v1S_MOD_RDSW, IF_REAL, "Source-drain resistance per width"), IOP( "prwg", BSIM3v1S_MOD_PRWG, IF_REAL, "Gate-bias effect on parasitic resistance "), IOP( "prwb", BSIM3v1S_MOD_PRWB, IF_REAL, "Body-effect on parasitic resistance "), IOP( "prt", BSIM3v1S_MOD_PRT, IF_REAL, "Temperature coefficient of parasitic resistance "), IOP( "eta0", BSIM3v1S_MOD_ETA0, IF_REAL, "Subthreshold region DIBL coefficient"),IOP( "etab", BSIM3v1S_MOD_ETAB, IF_REAL, "Subthreshold region DIBL coefficient"),IOP( "pclm", BSIM3v1S_MOD_PCLM, IF_REAL, "Channel length modulation Coefficient"),IOP( "pdiblc1", BSIM3v1S_MOD_PDIBL1, IF_REAL, "Drain-induced barrier lowering coefficient"), IOP( "pdiblc2", BSIM3v1S_MOD_PDIBL2, IF_REAL, "Drain-induced barrier lowering coefficient"), IOP( "pdiblcb", BSIM3v1S_MOD_PDIBLB, IF_REAL, "Body-effect on drain-induced barrier lowering"), IOP( "pscbe1", BSIM3v1S_MOD_PSCBE1, IF_REAL, "Substrate current body-effect coefficient"), IOP( "pscbe2", BSIM3v1S_MOD_PSCBE2, IF_REAL, "Substrate current body-effect coefficient"), IOP( "pvag", BSIM3v1S_MOD_PVAG, IF_REAL, "Gate dependence of output resistance parameter"), IOP( "js", BSIM3v1S_MOD_JS, IF_REAL, "Source/drain junction reverse saturation current density"),IOP( "jsw", BSIM3v1S_MOD_JSW, IF_REAL, "Sidewall junction reverse saturation current density"),IOP( "pb", BSIM3v1S_MOD_PB, IF_REAL, "Source/drain junction built-in potential"),IOP( "nj", BSIM3v1S_MOD_NJ, IF_REAL, "Source/drain junction emission coefficient"),IOP( "xti", BSIM3v1S_MOD_XTI, IF_REAL, "Junction current temperature exponent"),IOP( "mj", BSIM3v1S_MOD_MJ, IF_REAL, "Source/drain bottom junction capacitance grading coefficient"),IOP( "pbsw", BSIM3v1S_MOD_PBSW, IF_REAL, "Source/drain sidewall junction capacitance built in potential"),IOP( "mjsw", BSIM3v1S_MOD_MJSW, IF_REAL, "Source/drain sidewall junction capacitance grading coefficient"),IOP( "pbswg", BSIM3v1S_MOD_PBSWG, IF_REAL, "Source/drain (gate side) sidewall junction capacitance built in potential"),IOP( "mjswg", BSIM3v1S_MOD_MJSWG, IF_REAL, "Source/drain (gate side) sidewall junction capacitance grading coefficient"),IOP( "cj", BSIM3v1S_MOD_CJ, IF_REAL, "Source/drain bottom junction capacitance per unit area"),IOP( "vfbcv", BSIM3v1S_MOD_VFBCV, IF_REAL, "Flat Band Voltage parameter for capmod=0 only"),IOP( "cjsw", BSIM3v1S_MOD_CJSW, IF_REAL, "Source/drain sidewall junction capacitance per unit periphery"),IOP( "cjswg", BSIM3v1S_MOD_CJSWG, IF_REAL, "Source/drain (gate side) sidewall junction capacitance per unit width"),IOP( "lint", BSIM3v1S_MOD_LINT, IF_REAL, "Length reduction parameter"),IOP( "ll", BSIM3v1S_MOD_LL, IF_REAL, "Length reduction parameter"),IOP( "lln", BSIM3v1S_MOD_LLN, IF_REAL, "Length reduction parameter"),IOP( "lw", BSIM3v1S_MOD_LW, IF_REAL, "Length reduction parameter"),IOP( "lwn", BSIM3v1S_MOD_LWN, IF_REAL, "Length reduction parameter"),IOP( "lwl", BSIM3v1S_MOD_LWL, IF_REAL, "Length reduction parameter"),IOP( "lmin", BSIM3v1S_MOD_LMIN, IF_REAL, "Minimum length for the model"),IOP( "lmax", BSIM3v1S_MOD_LMAX, IF_REAL, "Maximum length for the model"),IOP( "wr", BSIM3v1S_MOD_WR, IF_REAL, "Width dependence of rds"),IOP( "wint", BSIM3v1S_MOD_WINT, IF_REAL, "Width reduction parameter"),IOP( "dwg", BSIM3v1S_MOD_DWG, IF_REAL, "Width reduction parameter"),IOP( "dwb", BSIM3v1S_MOD_DWB, IF_REAL, "Width reduction parameter"),IOP( "wl", BSIM3v1S_MOD_WL, IF_REAL, "Width reduction parameter"),IOP( "wln", BSIM3v1S_MOD_WLN, IF_REAL, "Width reduction parameter"),IOP( "ww", BSIM3v1S_MOD_WW, IF_REAL, "Width reduction parameter"),IOP( "wwn", BSIM3v1S_MOD_WWN, IF_REAL, "Width reduction parameter"),IOP( "wwl", BSIM3v1S_MOD_WWL, IF_REAL, "Width reduction parameter"),IOP( "wmin", BSIM3v1S_MOD_WMIN, IF_REAL, "Minimum width for the model"),IOP( "wmax", BSIM3v1S_MOD_WMAX, IF_REAL, "Maximum width for the model"),IOP( "b0", BSIM3v1S_MOD_B0, IF_REAL, "Abulk narrow width parameter"),IOP( "b1", BSIM3v1S_MOD_B1, IF_REAL, "Abulk narrow width parameter"),IOP( "cgsl", BSIM3v1S_MOD_CGSL, IF_REAL, "New C-V model parameter"),IOP( "cgdl", BSIM3v1S_MOD_CGDL, IF_REAL, "New C-V model parameter"),IOP( "ckappa", BSIM3v1S_MOD_CKAPPA, IF_REAL, "New C-V model parameter"),IOP( "cf", BSIM3v1S_MOD_CF, IF_REAL, "Fringe capacitance parameter"),IOP( "clc", BSIM3v1S_MOD_CLC, IF_REAL, "Vdsat parameter for C-V model"),IOP( "cle", BSIM3v1S_MOD_CLE, IF_REAL, "Vdsat parameter for C-V model"),IOP( "dwc", BSIM3v1S_MOD_DWC, IF_REAL, "Delta W for C-V model"),IOP( "dlc", BSIM3v1S_MOD_DLC, IF_REAL, "Delta L for C-V model"),IOP( "alpha0", BSIM3v1S_MOD_ALPHA0, IF_REAL, "substrate current model parameter"),IOP( "beta0", BSIM3v1S_MOD_BETA0, IF_REAL, "substrate current model parameter"),IOP( "lcdsc", BSIM3v1S_MOD_LCDSC, IF_REAL, "Length dependence of cdsc"),IOP( "lcdscb", BSIM3v1S_MOD_LCDSCB, IF_REAL, "Length dependence of cdscb"),IOP( "lcdscd", BSIM3v1S_MOD_LCDSCD, IF_REAL, "Length dependence of cdscd"),IOP( "lcit", BSIM3v1S_MOD_LCIT, IF_REAL, "Length dependence of cit"),IOP( "lnfactor", BSIM3v1S_MOD_LNFACTOR, IF_REAL, "Length dependence of nfactor"),IOP( "lxj", BSIM3v1S_MOD_LXJ, IF_REAL, "Length dependence of xj"),IOP( "lvsat", BSIM3v1S_MOD_LVSAT, IF_REAL, "Length dependence of vsat"),IOP( "lat", BSIM3v1S_MOD_LAT, IF_REAL, "Length dependence of at"),IOP( "la0", BSIM3v1S_MOD_LA0, IF_REAL, "Length dependence of a0"), IOP( "lags", BSIM3v1S_MOD_LAGS, IF_REAL, "Length dependence of ags"), IOP( "la1", BSIM3v1S_MOD_LA1, IF_REAL, "Length dependence of a1"),IOP( "la2", BSIM3v1S_MOD_LA2, IF_REAL, "Length dependence of a2"),IOP( "lketa", BSIM3v1S_MOD_LKETA, IF_REAL, "Length dependence of keta"),IOP( "lnsub", BSIM3v1S_MOD_LNSUB, IF_REAL, "Length dependence of nsub"),IOP( "lnch", BSIM3v1S_MOD_LNPEAK, IF_REAL, "Length dependence of nch"),IOP( "lngate", BSIM3v1S_MOD_LNGATE, IF_REAL, "Length dependence of ngate"),IOP( "lgamma1", BSIM3v1S_MOD_LGAMMA1, IF_REAL, "Length dependence of gamma1"),IOP( "lgamma2", BSIM3v1S_MOD_LGAMMA2, IF_REAL, "Length dependence of gamma2"),IOP( "lvbx", BSIM3v1S_MOD_LVBX, IF_REAL, "Length dependence of vbx"),IOP( "lvbm", BSIM3v1S_MOD_LVBM, IF_REAL, "Length dependence of vbm"),IOP( "lxt", BSIM3v1S_MOD_LXT, IF_REAL, "Length dependence of xt"),IOP( "lk1", BSIM3v1S_MOD_LK1, IF_REAL, "Length dependence of k1"),IOP( "lkt1", BSIM3v1S_MOD_LKT1, IF_REAL, "Length dependence of kt1"),IOP( "lkt1l", BSIM3v1S_MOD_LKT1L, IF_REAL, "Length dependence of kt1l"),IOP( "lkt2", BSIM3v1S_MOD_LKT2, IF_REAL, "Length dependence of kt2"),IOP( "lk2", BSIM3v1S_MOD_LK2, IF_REAL, "Length dependence of k2"),IOP( "lk3", BSIM3v1S_MOD_LK3, IF_REAL, "Length dependence of k3"),IOP( "lk3b", BSIM3v1S_MOD_LK3B, IF_REAL, "Length dependence of k3b"),IOP( "lw0", BSIM3v1S_MOD_LW0, IF_REAL, "Length dependence of w0"),IOP( "lnlx", BSIM3v1S_MOD_LNLX, IF_REAL, "Length dependence of nlx"),IOP( "ldvt0", BSIM3v1S_MOD_LDVT0, IF_REAL, "Length dependence of dvt0"),IOP( "ldvt1", BSIM3v1S_MOD_LDVT1, IF_REAL, "Length dependence of dvt1"),IOP( "ldvt2", BSIM3v1S_MOD_LDVT2, IF_REAL, "Length dependence of dvt2"),IOP( "ldvt0w", BSIM3v1S_MOD_LDVT0W, IF_REAL, "Length dependence of dvt0w"),IOP( "ldvt1w", BSIM3v1S_MOD_LDVT1W, IF_REAL, "Length dependence of dvt1w"),IOP( "ldvt2w", BSIM3v1S_MOD_LDVT2W, IF_REAL, "Length dependence of dvt2w"),IOP( "ldrout", BSIM3v1S_MOD_LDROUT, IF_REAL, "Length dependence of drout"),IOP( "ldsub", BSIM3v1S_MOD_LDSUB, IF_REAL, "Length dependence of dsub"),IOP( "lvth0", BSIM3v1S_MOD_LVTH0, IF_REAL,"Length dependence of vto"),IOP( "lvtho", BSIM3v1S_MOD_LVTH0, IF_REAL,"Length dependence of vto"),IOP( "lua", BSIM3v1S_MOD_LUA, IF_REAL, "Length dependence of ua"),IOP( "lua1", BSIM3v1S_MOD_LUA1, IF_REAL, "Length dependence of ua1"),IOP( "lub", BSIM3v1S_MOD_LUB, IF_REAL, "Length dependence of ub"),IOP( "lub1", BSIM3v1S_MOD_LUB1, IF_REAL, "Length dependence of ub1"),IOP( "luc", BSIM3v1S_MOD_LUC, IF_REAL, "Length dependence of uc"),IOP( "luc1", BSIM3v1S_MOD_LUC1, IF_REAL, "Length dependence of uc1"),IOP( "lu0", BSIM3v1S_MOD_LU0, IF_REAL, "Length dependence of u0"),IOP( "lute", BSIM3v1S_MOD_LUTE, IF_REAL, "Length dependence of ute"),IOP( "lvoff", BSIM3v1S_MOD_LVOFF, IF_REAL, "Length dependence of voff"),IOP( "lelm", BSIM3v1S_MOD_LELM, IF_REAL, "Length dependence of elm"),IOP( "ldelta", BSIM3v1S_MOD_LDELTA, IF_REAL, "Length dependence of delta"),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -