⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b4.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
📖 第 1 页 / 共 4 页
字号:
/**** BSIM4.4.0  Released by Xuemei (Jane) Xi 03/04/2004 ****//********** * Copyright 2004 Regents of the University of California. All rights reserved. * File: b4.c of BSIM4.4.0. * Author: 2000 Weidong Liu * Authors: 2001- Xuemei Xi, Jin He, Kanyu Cao, Mohan Dunga, Mansun Chan, Ali Niknejad, Chenming Hu. * Project Director: Prof. Chenming Hu. * Modified by Xuemei Xi, 04/06/2001. * Modified by Xuemei Xi, 10/05/2001. * Modified by Xuemei Xi, 11/15/2002. * Modified by Xuemei Xi, 05/09/2003. * Modified by Xuemei Xi, 03/04/2004. **********/#include "ngspice.h"#include "devdefs.h"#include "bsim4def.h"#include "suffix.h"IFparm BSIM4pTable[] = { /* parameters */IOP( "l",   BSIM4_L,      IF_REAL   , "Length"),IOP( "w",   BSIM4_W,      IF_REAL   , "Width"),IOP( "m",   BSIM4_M,      IF_REAL   , "Separate Parallel multiplier"),IOP( "nf",  BSIM4_NF,     IF_REAL   , "Number of fingers"),IOP( "sa",  BSIM4_SA,     IF_REAL   , "distance between  OD edge to poly of one side "),IOP( "sb",  BSIM4_SB,     IF_REAL   , "distance between  OD edge to poly of the other side"),IOP( "sd",  BSIM4_SD,     IF_REAL   , "distance between neighbour fingers"),IOP( "min",  BSIM4_MIN,   IF_INTEGER , "Minimize either D or S"),IOP( "ad",  BSIM4_AD,     IF_REAL   , "Drain area"),IOP( "as",  BSIM4_AS,     IF_REAL   , "Source area"),IOP( "pd",  BSIM4_PD,     IF_REAL   , "Drain perimeter"),IOP( "ps",  BSIM4_PS,     IF_REAL   , "Source perimeter"),IOP( "nrd", BSIM4_NRD,    IF_REAL   , "Number of squares in drain"),IOP( "nrs", BSIM4_NRS,    IF_REAL   , "Number of squares in source"),IOP( "off", BSIM4_OFF,    IF_FLAG   , "Device is initially off"),IOP( "rbdb", BSIM4_RBDB,  IF_REAL   , "Body resistance"),IOP( "rbsb", BSIM4_RBSB,  IF_REAL   , "Body resistance"),IOP( "rbpb", BSIM4_RBPB,  IF_REAL   , "Body resistance"),IOP( "rbps", BSIM4_RBPS,  IF_REAL   , "Body resistance"),IOP( "rbpd", BSIM4_RBPD,  IF_REAL   , "Body resistance"),IOP( "trnqsmod", BSIM4_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"),IOP( "acnqsmod", BSIM4_ACNQSMOD, IF_INTEGER, "AC NQS model selector"),IOP( "rbodymod", BSIM4_RBODYMOD, IF_INTEGER, "Distributed body R model selector"),IOP( "rgatemod", BSIM4_RGATEMOD, IF_INTEGER, "Gate resistance model selector"),IOP( "geomod", BSIM4_GEOMOD, IF_INTEGER, "Geometry dependent parasitics model selector"),IOP( "rgeomod", BSIM4_RGEOMOD, IF_INTEGER, "S/D resistance and contact model selector"),IP( "ic",  BSIM4_IC,     IF_REALVEC , "Vector of DS,GS,BS initial voltages"),OP( "gmbs",         BSIM4_GMBS,       IF_REAL,    "Gmb"),OP( "gm",           BSIM4_GM,         IF_REAL,    "Gm"),OP( "gds",          BSIM4_GDS,        IF_REAL,    "Gds"),OP( "vdsat",        BSIM4_VDSAT,      IF_REAL,    "Vdsat"),OP( "vth",          BSIM4_VON,        IF_REAL,    "Vth"),OP( "id",           BSIM4_CD,         IF_REAL,    "Ids"),OP( "ibd",          BSIM4_CBD,        IF_REAL,    "Ibd"),OP( "ibs",          BSIM4_CBS,        IF_REAL,    "Ibs"),OP( "gbd",          BSIM4_GBD,        IF_REAL,    "gbd"),OP( "gbs",          BSIM4_GBS,        IF_REAL,    "gbs"),OP( "isub",         BSIM4_CSUB,       IF_REAL,    "Isub"),OP( "igidl",        BSIM4_IGIDL,      IF_REAL,    "Igidl"),OP( "igisl",        BSIM4_IGISL,      IF_REAL,    "Igisl"),OP( "igs",          BSIM4_IGS,        IF_REAL,    "Igs"),OP( "igd",          BSIM4_IGD,        IF_REAL,    "Igd"),OP( "igb",          BSIM4_IGB,        IF_REAL,    "Igb"),OP( "igcs",         BSIM4_IGCS,       IF_REAL,    "Igcs"),OP( "igcd",         BSIM4_IGCD,       IF_REAL,    "Igcd"),OP( "vbs",          BSIM4_VBS,        IF_REAL,    "Vbs"),OP( "vgs",          BSIM4_VGS,        IF_REAL,    "Vgs"),OP( "vds",          BSIM4_VDS,        IF_REAL,    "Vds"),OP( "cgg",         BSIM4_CGGB,       IF_REAL,    "Cggb"),OP( "cgs",         BSIM4_CGSB,       IF_REAL,    "Cgsb"),OP( "cgd",         BSIM4_CGDB,       IF_REAL,    "Cgdb"),OP( "cbg",         BSIM4_CBGB,       IF_REAL,    "Cbgb"),OP( "cbd",         BSIM4_CBDB,       IF_REAL,    "Cbdb"),OP( "cbs",         BSIM4_CBSB,       IF_REAL,    "Cbsb"),OP( "cdg",         BSIM4_CDGB,       IF_REAL,    "Cdgb"),OP( "cdd",         BSIM4_CDDB,       IF_REAL,    "Cddb"),OP( "cds",         BSIM4_CDSB,       IF_REAL,    "Cdsb"),OP( "csg",         BSIM4_CSGB,       IF_REAL,    "Csgb"),OP( "csd",         BSIM4_CSDB,       IF_REAL,    "Csdb"),OP( "css",         BSIM4_CSSB,       IF_REAL,    "Cssb"),OP( "cgb",         BSIM4_CGBB,       IF_REAL,    "Cgbb"),OP( "cdb",         BSIM4_CDBB,       IF_REAL,    "Cdbb"),OP( "csb",         BSIM4_CSBB,       IF_REAL,    "Csbb"),OP( "cbb",         BSIM4_CBBB,       IF_REAL,    "Cbbb"),OP( "capbd",       BSIM4_CAPBD,      IF_REAL,    "Capbd"),OP( "capbs",       BSIM4_CAPBS,      IF_REAL,    "Capbs"),OP( "qg",          BSIM4_QG,         IF_REAL,    "Qgate"),OP( "qb",          BSIM4_QB,         IF_REAL,    "Qbulk"),OP( "qd",          BSIM4_QD,         IF_REAL,    "Qdrain"),OP( "qs",          BSIM4_QS,         IF_REAL,    "Qsource"),OP( "qinv",        BSIM4_QINV,       IF_REAL,    "Qinversion"),};IFparm BSIM4mPTable[] = { /* model parameters */IOP( "capmod", BSIM4_MOD_CAPMOD, IF_INTEGER, "Capacitance model selector"),IOP( "diomod", BSIM4_MOD_DIOMOD, IF_INTEGER, "Diode IV model selector"),IOP( "rdsmod", BSIM4_MOD_RDSMOD, IF_INTEGER, "Bias-dependent S/D resistance model selector"),IOP( "trnqsmod", BSIM4_MOD_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"),IOP( "acnqsmod", BSIM4_MOD_ACNQSMOD, IF_INTEGER, "AC NQS model selector"),IOP( "mobmod", BSIM4_MOD_MOBMOD, IF_INTEGER, "Mobility model selector"),IOP( "rbodymod", BSIM4_MOD_RBODYMOD, IF_INTEGER, "Distributed body R model selector"),IOP( "rgatemod", BSIM4_MOD_RGATEMOD, IF_INTEGER, "Gate R model selector"),IOP( "permod", BSIM4_MOD_PERMOD, IF_INTEGER, "Pd and Ps model selector"),IOP( "geomod", BSIM4_MOD_GEOMOD, IF_INTEGER, "Geometry dependent parasitics model selector"),IOP( "fnoimod", BSIM4_MOD_FNOIMOD, IF_INTEGER, "Flicker noise model selector"),IOP( "tnoimod", BSIM4_MOD_TNOIMOD, IF_INTEGER, "Thermal noise model selector"),IOP( "igcmod", BSIM4_MOD_IGCMOD, IF_INTEGER, "Gate-to-channel Ig model selector"),IOP( "igbmod", BSIM4_MOD_IGBMOD, IF_INTEGER, "Gate-to-body Ig model selector"),IOP( "tempmod", BSIM4_MOD_TEMPMOD, IF_INTEGER, "Temperature model selector"),IOP( "paramchk", BSIM4_MOD_PARAMCHK, IF_INTEGER, "Model parameter checking selector"),IOP( "binunit", BSIM4_MOD_BINUNIT, IF_INTEGER, "Bin  unit  selector"),IOP( "version", BSIM4_MOD_VERSION, IF_STRING, "parameter for model version"),IOP( "toxe", BSIM4_MOD_TOXE, IF_REAL, "Electrical gate oxide thickness in meters"),IOP( "toxp", BSIM4_MOD_TOXP, IF_REAL, "Physical gate oxide thickness in meters"),IOP( "toxm", BSIM4_MOD_TOXM, IF_REAL, "Gate oxide thickness at which parameters are extracted"),IOP( "toxref", BSIM4_MOD_TOXREF, IF_REAL, "Target tox value"),IOP( "dtox", BSIM4_MOD_DTOX, IF_REAL, "Defined as (toxe - toxp) "),IOP( "epsrox", BSIM4_MOD_EPSROX, IF_REAL, "Dielectric constant of the gate oxide relative to vacuum"),IOP( "cdsc", BSIM4_MOD_CDSC, IF_REAL, "Drain/Source and channel coupling capacitance"),IOP( "cdscb", BSIM4_MOD_CDSCB, IF_REAL, "Body-bias dependence of cdsc"), IOP( "cdscd", BSIM4_MOD_CDSCD, IF_REAL, "Drain-bias dependence of cdsc"), IOP( "cit", BSIM4_MOD_CIT, IF_REAL, "Interface state capacitance"),IOP( "nfactor", BSIM4_MOD_NFACTOR, IF_REAL, "Subthreshold swing Coefficient"),IOP( "xj", BSIM4_MOD_XJ, IF_REAL, "Junction depth in meters"),IOP( "vsat", BSIM4_MOD_VSAT, IF_REAL, "Saturation velocity at tnom"),IOP( "at", BSIM4_MOD_AT, IF_REAL, "Temperature coefficient of vsat"),IOP( "a0", BSIM4_MOD_A0, IF_REAL, "Non-uniform depletion width effect coefficient."), IOP( "ags", BSIM4_MOD_AGS, IF_REAL, "Gate bias  coefficient of Abulk."), IOP( "a1", BSIM4_MOD_A1, IF_REAL, "Non-saturation effect coefficient"),IOP( "a2", BSIM4_MOD_A2, IF_REAL, "Non-saturation effect coefficient"),IOP( "keta", BSIM4_MOD_KETA, IF_REAL, "Body-bias coefficient of non-uniform depletion width effect."),IOP( "nsub", BSIM4_MOD_NSUB, IF_REAL, "Substrate doping concentration"),IOP( "ndep", BSIM4_MOD_NDEP, IF_REAL, "Channel doping concentration at the depletion edge"),IOP( "nsd", BSIM4_MOD_NSD, IF_REAL, "S/D doping concentration"),IOP( "phin", BSIM4_MOD_PHIN, IF_REAL, "Adjusting parameter for surface potential due to non-uniform vertical doping"),IOP( "ngate", BSIM4_MOD_NGATE, IF_REAL, "Poly-gate doping concentration"),IOP( "gamma1", BSIM4_MOD_GAMMA1, IF_REAL, "Vth body coefficient"),IOP( "gamma2", BSIM4_MOD_GAMMA2, IF_REAL, "Vth body coefficient"),IOP( "vbx", BSIM4_MOD_VBX, IF_REAL, "Vth transition body Voltage"),IOP( "vbm", BSIM4_MOD_VBM, IF_REAL, "Maximum body voltage"),IOP( "xt", BSIM4_MOD_XT, IF_REAL, "Doping depth"),IOP( "k1", BSIM4_MOD_K1, IF_REAL, "Bulk effect coefficient 1"),IOP( "kt1", BSIM4_MOD_KT1, IF_REAL, "Temperature coefficient of Vth"),IOP( "kt1l", BSIM4_MOD_KT1L, IF_REAL, "Temperature coefficient of Vth"),IOP( "kt2",  BSIM4_MOD_KT2, IF_REAL, "Body-coefficient of kt1"),IOP( "k2",   BSIM4_MOD_K2,  IF_REAL, "Bulk effect coefficient 2"),IOP( "k3",   BSIM4_MOD_K3,  IF_REAL, "Narrow width effect coefficient"),IOP( "k3b",  BSIM4_MOD_K3B, IF_REAL, "Body effect coefficient of k3"),IOP( "w0",   BSIM4_MOD_W0,  IF_REAL, "Narrow width effect parameter"),IOP( "dvtp0",  BSIM4_MOD_DVTP0, IF_REAL, "First parameter for Vth shift due to pocket"),IOP( "dvtp1",  BSIM4_MOD_DVTP1, IF_REAL, "Second parameter for Vth shift due to pocket"),IOP( "lpe0",  BSIM4_MOD_LPE0, IF_REAL, "Equivalent length of pocket region at zero bias"),IOP( "lpeb",  BSIM4_MOD_LPEB, IF_REAL, "Equivalent length of pocket region accounting for body bias"),IOP( "dvt0", BSIM4_MOD_DVT0, IF_REAL, "Short channel effect coeff. 0"),IOP( "dvt1", BSIM4_MOD_DVT1, IF_REAL, "Short channel effect coeff. 1"),IOP( "dvt2", BSIM4_MOD_DVT2, IF_REAL, "Short channel effect coeff. 2"),IOP( "dvt0w", BSIM4_MOD_DVT0W, IF_REAL, "Narrow Width coeff. 0"),IOP( "dvt1w", BSIM4_MOD_DVT1W, IF_REAL, "Narrow Width effect coeff. 1"),IOP( "dvt2w", BSIM4_MOD_DVT2W, IF_REAL, "Narrow Width effect coeff. 2"),IOP( "drout", BSIM4_MOD_DROUT, IF_REAL, "DIBL coefficient of output resistance"),IOP( "dsub", BSIM4_MOD_DSUB, IF_REAL, "DIBL coefficient in the subthreshold region"),IOP( "vth0", BSIM4_MOD_VTH0, IF_REAL,"Threshold voltage"),IOP( "vtho", BSIM4_MOD_VTH0, IF_REAL,"Threshold voltage"),IOP( "ua", BSIM4_MOD_UA, IF_REAL, "Linear gate dependence of mobility"),IOP( "ua1", BSIM4_MOD_UA1, IF_REAL, "Temperature coefficient of ua"),IOP( "ub", BSIM4_MOD_UB, IF_REAL, "Quadratic gate dependence of mobility"),IOP( "ub1", BSIM4_MOD_UB1, IF_REAL, "Temperature coefficient of ub"),IOP( "uc", BSIM4_MOD_UC, IF_REAL, "Body-bias dependence of mobility"),IOP( "uc1", BSIM4_MOD_UC1, IF_REAL, "Temperature coefficient of uc"),IOP( "u0", BSIM4_MOD_U0, IF_REAL, "Low-field mobility at Tnom"),IOP( "eu", BSIM4_MOD_EU, IF_REAL, "Mobility exponent"),IOP( "ute", BSIM4_MOD_UTE, IF_REAL, "Temperature coefficient of mobility"),IOP( "voff", BSIM4_MOD_VOFF, IF_REAL, "Threshold voltage offset"),IOP( "minv", BSIM4_MOD_MINV, IF_REAL, "Fitting parameter for moderate invversion in Vgsteff"),IOP( "voffl", BSIM4_MOD_VOFFL, IF_REAL, "Length dependence parameter for Vth offset"),IOP( "tnom", BSIM4_MOD_TNOM, IF_REAL, "Parameter measurement temperature"),IOP( "cgso", BSIM4_MOD_CGSO, IF_REAL, "Gate-source overlap capacitance per width"),IOP( "cgdo", BSIM4_MOD_CGDO, IF_REAL, "Gate-drain overlap capacitance per width"),IOP( "cgbo", BSIM4_MOD_CGBO, IF_REAL, "Gate-bulk overlap capacitance per length"),IOP( "xpart", BSIM4_MOD_XPART, IF_REAL, "Channel charge partitioning"),IOP( "delta", BSIM4_MOD_DELTA, IF_REAL, "Effective Vds parameter"),IOP( "rsh", BSIM4_MOD_RSH, IF_REAL, "Source-drain sheet resistance"),IOP( "rdsw", BSIM4_MOD_RDSW, IF_REAL, "Source-drain resistance per width"),    IOP( "rdswmin", BSIM4_MOD_RDSWMIN, IF_REAL, "Source-drain resistance per width at high Vg"),IOP( "rsw", BSIM4_MOD_RSW, IF_REAL, "Source resistance per width"),IOP( "rdw", BSIM4_MOD_RDW, IF_REAL, "Drain resistance per width"),IOP( "rdwmin", BSIM4_MOD_RDWMIN, IF_REAL, "Drain resistance per width at high Vg"),IOP( "rswmin", BSIM4_MOD_RSWMIN, IF_REAL, "Source resistance per width at high Vg"),IOP( "prwg", BSIM4_MOD_PRWG, IF_REAL, "Gate-bias effect on parasitic resistance "),    IOP( "prwb", BSIM4_MOD_PRWB, IF_REAL, "Body-effect on parasitic resistance "),    IOP( "prt", BSIM4_MOD_PRT, IF_REAL, "Temperature coefficient of parasitic resistance "),    IOP( "eta0", BSIM4_MOD_ETA0, IF_REAL, "Subthreshold region DIBL coefficient"),IOP( "etab", BSIM4_MOD_ETAB, IF_REAL, "Subthreshold region DIBL coefficient"),IOP( "pclm", BSIM4_MOD_PCLM, IF_REAL, "Channel length modulation Coefficient"),IOP( "pdiblc1", BSIM4_MOD_PDIBL1, IF_REAL, "Drain-induced barrier lowering coefficient"),   IOP( "pdiblc2", BSIM4_MOD_PDIBL2, IF_REAL, "Drain-induced barrier lowering coefficient"),   IOP( "pdiblcb", BSIM4_MOD_PDIBLB, IF_REAL, "Body-effect on drain-induced barrier lowering"),   IOP( "fprout", BSIM4_MOD_FPROUT, IF_REAL, "Rout degradation coefficient for pocket devices"),IOP( "pdits", BSIM4_MOD_PDITS, IF_REAL, "Coefficient for drain-induced Vth shifts"),IOP( "pditsl", BSIM4_MOD_PDITSL, IF_REAL, "Length dependence of drain-induced Vth shifts"),IOP( "pditsd", BSIM4_MOD_PDITSD, IF_REAL, "Vds dependence of drain-induced Vth shifts"),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -