devices/bsim3: whitespace cleanup

This commit is contained in:
dwarning 2013-05-05 11:43:26 +02:00 committed by rlar
parent e953d9a796
commit 5f0a6aa0fb
7 changed files with 2084 additions and 2087 deletions

View File

@ -26,37 +26,37 @@ IOP( "nrs", BSIM3_NRS, IF_REAL , "Number of squares in source"),
IOP( "off", BSIM3_OFF, IF_FLAG , "Device is initially off"),
IOP( "nqsmod", BSIM3_NQSMOD, IF_INTEGER, "Non-quasi-static model selector"),
IOP( "acnqsmod", BSIM3_ACNQSMOD, IF_INTEGER, "AC NQS model selector"),
IP( "ic", BSIM3_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"),
OP( "gmbs", BSIM3_GMBS, IF_REAL, "Gmb"),
OP( "gm", BSIM3_GM, IF_REAL, "Gm"),
OP( "gds", BSIM3_GDS, IF_REAL, "Gds"),
OP( "vdsat", BSIM3_VDSAT, IF_REAL, "Vdsat"),
OP( "vth", BSIM3_VON, IF_REAL, "Vth"),
OP( "id", BSIM3_CD, IF_REAL, "Ids"),
OP( "vbs", BSIM3_VBS, IF_REAL, "Vbs"),
OP( "vgs", BSIM3_VGS, IF_REAL, "Vgs"),
OP( "vds", BSIM3_VDS, IF_REAL, "Vds"),
OP( "ibd", BSIM3_CBD, IF_REAL, "Ibd"), /* newly added from here */
OP( "ibs", BSIM3_CBS, IF_REAL, "Ibs"),
OP( "gbd", BSIM3_GBD, IF_REAL, "gbd"),
OP( "gbs", BSIM3_GBS, IF_REAL, "gbs"),
OP( "qb", BSIM3_QB, IF_REAL, "Qbulk"),
OP( "cqb", BSIM3_CQB, IF_REAL, "CQbulk"),
OP( "qg", BSIM3_QG, IF_REAL, "Qgate"),
OP( "cqg", BSIM3_CQG, IF_REAL, "CQgate"),
OP( "qd", BSIM3_QD, IF_REAL, "Qdrain"),
OP( "cqd", BSIM3_CQD, IF_REAL, "CQdrain"),
OP( "cgg", BSIM3_CGG, IF_REAL, "Cggb"),
OP( "cgd", BSIM3_CGD, IF_REAL, "Cgdb"),
OP( "cgs", BSIM3_CGS, IF_REAL, "Cgsb"),
OP( "cdg", BSIM3_CDG, IF_REAL, "Cdgb"),
OP( "cdd", BSIM3_CDD, IF_REAL, "Cddb"),
OP( "cds", BSIM3_CDS, IF_REAL, "Cdsb"),
OP( "cbg", BSIM3_CBG, IF_REAL, "Cbgb"),
OP( "cbd", BSIM3_CBDB, IF_REAL, "Cbdb"),
OP( "cbs", BSIM3_CBSB, IF_REAL, "Cbsb"),
OP( "capbd", BSIM3_CAPBD, IF_REAL, "Capbd"),
OP( "capbs", BSIM3_CAPBS, IF_REAL, "Capbs"),
IP( "ic", BSIM3_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"),
OP( "gmbs", BSIM3_GMBS, IF_REAL, "Gmb"),
OP( "gm", BSIM3_GM, IF_REAL, "Gm"),
OP( "gds", BSIM3_GDS, IF_REAL, "Gds"),
OP( "vdsat", BSIM3_VDSAT, IF_REAL, "Vdsat"),
OP( "vth", BSIM3_VON, IF_REAL, "Vth"),
OP( "id", BSIM3_CD, IF_REAL, "Ids"),
OP( "vbs", BSIM3_VBS, IF_REAL, "Vbs"),
OP( "vgs", BSIM3_VGS, IF_REAL, "Vgs"),
OP( "vds", BSIM3_VDS, IF_REAL, "Vds"),
OP( "ibd", BSIM3_CBD, IF_REAL, "Ibd"), /* newly added from here */
OP( "ibs", BSIM3_CBS, IF_REAL, "Ibs"),
OP( "gbd", BSIM3_GBD, IF_REAL, "gbd"),
OP( "gbs", BSIM3_GBS, IF_REAL, "gbs"),
OP( "qb", BSIM3_QB, IF_REAL, "Qbulk"),
OP( "cqb", BSIM3_CQB, IF_REAL, "CQbulk"),
OP( "qg", BSIM3_QG, IF_REAL, "Qgate"),
OP( "cqg", BSIM3_CQG, IF_REAL, "CQgate"),
OP( "qd", BSIM3_QD, IF_REAL, "Qdrain"),
OP( "cqd", BSIM3_CQD, IF_REAL, "CQdrain"),
OP( "cgg", BSIM3_CGG, IF_REAL, "Cggb"),
OP( "cgd", BSIM3_CGD, IF_REAL, "Cgdb"),
OP( "cgs", BSIM3_CGS, IF_REAL, "Cgsb"),
OP( "cdg", BSIM3_CDG, IF_REAL, "Cdgb"),
OP( "cdd", BSIM3_CDD, IF_REAL, "Cddb"),
OP( "cds", BSIM3_CDS, IF_REAL, "Cdsb"),
OP( "cbg", BSIM3_CBG, IF_REAL, "Cbgb"),
OP( "cbd", BSIM3_CBDB, IF_REAL, "Cbdb"),
OP( "cbs", BSIM3_CBSB, IF_REAL, "Cbsb"),
OP( "capbd", BSIM3_CAPBD, IF_REAL, "Capbd"),
OP( "capbs", BSIM3_CAPBS, IF_REAL, "Capbs"),
};
IFparm BSIM3mPTable[] = { /* model parameters */
@ -71,15 +71,15 @@ IOP( "tox", BSIM3_MOD_TOX, IF_REAL, "Gate oxide thickness in meters"),
IOP( "toxm", BSIM3_MOD_TOXM, IF_REAL, "Gate oxide thickness used in extraction"),
IOP( "cdsc", BSIM3_MOD_CDSC, IF_REAL, "Drain/Source and channel coupling capacitance"),
IOP( "cdscb", BSIM3_MOD_CDSCB, IF_REAL, "Body-bias dependence of cdsc"),
IOP( "cdscd", BSIM3_MOD_CDSCD, IF_REAL, "Drain-bias dependence of cdsc"),
IOP( "cdscb", BSIM3_MOD_CDSCB, IF_REAL, "Body-bias dependence of cdsc"),
IOP( "cdscd", BSIM3_MOD_CDSCD, IF_REAL, "Drain-bias dependence of cdsc"),
IOP( "cit", BSIM3_MOD_CIT, IF_REAL, "Interface state capacitance"),
IOP( "nfactor", BSIM3_MOD_NFACTOR, IF_REAL, "Subthreshold swing Coefficient"),
IOP( "xj", BSIM3_MOD_XJ, IF_REAL, "Junction depth in meters"),
IOP( "vsat", BSIM3_MOD_VSAT, IF_REAL, "Saturation velocity at tnom"),
IOP( "at", BSIM3_MOD_AT, IF_REAL, "Temperature coefficient of vsat"),
IOP( "a0", BSIM3_MOD_A0, IF_REAL, "Non-uniform depletion width effect coefficient."),
IOP( "ags", BSIM3_MOD_AGS, IF_REAL, "Gate bias coefficient of Abulk."),
IOP( "a0", BSIM3_MOD_A0, IF_REAL, "Non-uniform depletion width effect coefficient."),
IOP( "ags", BSIM3_MOD_AGS, IF_REAL, "Gate bias coefficient of Abulk."),
IOP( "a1", BSIM3_MOD_A1, IF_REAL, "Non-saturation effect coefficient"),
IOP( "a2", BSIM3_MOD_A2, IF_REAL, "Non-saturation effect coefficient"),
IOP( "keta", BSIM3_MOD_KETA, IF_REAL, "Body-bias coefficient of non-uniform depletion width effect."),
@ -128,21 +128,21 @@ IOP( "xpart", BSIM3_MOD_XPART, IF_REAL, "Channel charge partitioning"),
IOP( "elm", BSIM3_MOD_ELM, IF_REAL, "Non-quasi-static Elmore Constant Parameter"),
IOP( "delta", BSIM3_MOD_DELTA, IF_REAL, "Effective Vds parameter"),
IOP( "rsh", BSIM3_MOD_RSH, IF_REAL, "Source-drain sheet resistance"),
IOP( "rdsw", BSIM3_MOD_RDSW, IF_REAL, "Source-drain resistance per width"),
IOP( "rdsw", BSIM3_MOD_RDSW, IF_REAL, "Source-drain resistance per width"),
IOP( "prwg", BSIM3_MOD_PRWG, IF_REAL, "Gate-bias effect on parasitic resistance "),
IOP( "prwb", BSIM3_MOD_PRWB, IF_REAL, "Body-effect on parasitic resistance "),
IOP( "prwg", BSIM3_MOD_PRWG, IF_REAL, "Gate-bias effect on parasitic resistance "),
IOP( "prwb", BSIM3_MOD_PRWB, IF_REAL, "Body-effect on parasitic resistance "),
IOP( "prt", BSIM3_MOD_PRT, IF_REAL, "Temperature coefficient of parasitic resistance "),
IOP( "prt", BSIM3_MOD_PRT, IF_REAL, "Temperature coefficient of parasitic resistance "),
IOP( "eta0", BSIM3_MOD_ETA0, IF_REAL, "Subthreshold region DIBL coefficient"),
IOP( "etab", BSIM3_MOD_ETAB, IF_REAL, "Subthreshold region DIBL coefficient"),
IOP( "pclm", BSIM3_MOD_PCLM, IF_REAL, "Channel length modulation Coefficient"),
IOP( "pdiblc1", BSIM3_MOD_PDIBL1, IF_REAL, "Drain-induced barrier lowering coefficient"),
IOP( "pdiblc2", BSIM3_MOD_PDIBL2, IF_REAL, "Drain-induced barrier lowering coefficient"),
IOP( "pdiblcb", BSIM3_MOD_PDIBLB, IF_REAL, "Body-effect on drain-induced barrier lowering"),
IOP( "pscbe1", BSIM3_MOD_PSCBE1, IF_REAL, "Substrate current body-effect coefficient"),
IOP( "pscbe2", BSIM3_MOD_PSCBE2, IF_REAL, "Substrate current body-effect coefficient"),
IOP( "pvag", BSIM3_MOD_PVAG, IF_REAL, "Gate dependence of output resistance parameter"),
IOP( "pdiblc1", BSIM3_MOD_PDIBL1, IF_REAL, "Drain-induced barrier lowering coefficient"),
IOP( "pdiblc2", BSIM3_MOD_PDIBL2, IF_REAL, "Drain-induced barrier lowering coefficient"),
IOP( "pdiblcb", BSIM3_MOD_PDIBLB, IF_REAL, "Body-effect on drain-induced barrier lowering"),
IOP( "pscbe1", BSIM3_MOD_PSCBE1, IF_REAL, "Substrate current body-effect coefficient"),
IOP( "pscbe2", BSIM3_MOD_PSCBE2, IF_REAL, "Substrate current body-effect coefficient"),
IOP( "pvag", BSIM3_MOD_PVAG, IF_REAL, "Gate dependence of output resistance parameter"),
IOP( "js", BSIM3_MOD_JS, IF_REAL, "Source/drain junction reverse saturation current density"),
IOP( "jsw", BSIM3_MOD_JSW, IF_REAL, "Sidewall junction reverse saturation current density"),
IOP( "pb", BSIM3_MOD_PB, IF_REAL, "Source/drain junction built-in potential"),
@ -221,8 +221,8 @@ IOP( "lnfactor", BSIM3_MOD_LNFACTOR, IF_REAL, "Length dependence of nfactor"),
IOP( "lxj", BSIM3_MOD_LXJ, IF_REAL, "Length dependence of xj"),
IOP( "lvsat", BSIM3_MOD_LVSAT, IF_REAL, "Length dependence of vsat"),
IOP( "lat", BSIM3_MOD_LAT, IF_REAL, "Length dependence of at"),
IOP( "la0", BSIM3_MOD_LA0, IF_REAL, "Length dependence of a0"),
IOP( "lags", BSIM3_MOD_LAGS, IF_REAL, "Length dependence of ags"),
IOP( "la0", BSIM3_MOD_LA0, IF_REAL, "Length dependence of a0"),
IOP( "lags", BSIM3_MOD_LAGS, IF_REAL, "Length dependence of ags"),
IOP( "la1", BSIM3_MOD_LA1, IF_REAL, "Length dependence of a1"),
IOP( "la2", BSIM3_MOD_LA2, IF_REAL, "Length dependence of a2"),
IOP( "lketa", BSIM3_MOD_LKETA, IF_REAL, "Length dependence of keta"),
@ -264,21 +264,21 @@ IOP( "lute", BSIM3_MOD_LUTE, IF_REAL, "Length dependence of ute"),
IOP( "lvoff", BSIM3_MOD_LVOFF, IF_REAL, "Length dependence of voff"),
IOP( "lelm", BSIM3_MOD_LELM, IF_REAL, "Length dependence of elm"),
IOP( "ldelta", BSIM3_MOD_LDELTA, IF_REAL, "Length dependence of delta"),
IOP( "lrdsw", BSIM3_MOD_LRDSW, IF_REAL, "Length dependence of rdsw "),
IOP( "lrdsw", BSIM3_MOD_LRDSW, IF_REAL, "Length dependence of rdsw "),
IOP( "lprwg", BSIM3_MOD_LPRWG, IF_REAL, "Length dependence of prwg "),
IOP( "lprwb", BSIM3_MOD_LPRWB, IF_REAL, "Length dependence of prwb "),
IOP( "lprwg", BSIM3_MOD_LPRWG, IF_REAL, "Length dependence of prwg "),
IOP( "lprwb", BSIM3_MOD_LPRWB, IF_REAL, "Length dependence of prwb "),
IOP( "lprt", BSIM3_MOD_LPRT, IF_REAL, "Length dependence of prt "),
IOP( "leta0", BSIM3_MOD_LETA0, IF_REAL, "Length dependence of eta0"),
IOP( "letab", BSIM3_MOD_LETAB, IF_REAL, "Length dependence of etab"),
IOP( "lpclm", BSIM3_MOD_LPCLM, IF_REAL, "Length dependence of pclm"),
IOP( "lpdiblc1", BSIM3_MOD_LPDIBL1, IF_REAL, "Length dependence of pdiblc1"),
IOP( "lpdiblc2", BSIM3_MOD_LPDIBL2, IF_REAL, "Length dependence of pdiblc2"),
IOP( "lpdiblcb", BSIM3_MOD_LPDIBLB, IF_REAL, "Length dependence of pdiblcb"),
IOP( "lpscbe1", BSIM3_MOD_LPSCBE1, IF_REAL, "Length dependence of pscbe1"),
IOP( "lpscbe2", BSIM3_MOD_LPSCBE2, IF_REAL, "Length dependence of pscbe2"),
IOP( "lpvag", BSIM3_MOD_LPVAG, IF_REAL, "Length dependence of pvag"),
IOP( "lprt", BSIM3_MOD_LPRT, IF_REAL, "Length dependence of prt "),
IOP( "leta0", BSIM3_MOD_LETA0, IF_REAL, "Length dependence of eta0"),
IOP( "letab", BSIM3_MOD_LETAB, IF_REAL, "Length dependence of etab"),
IOP( "lpclm", BSIM3_MOD_LPCLM, IF_REAL, "Length dependence of pclm"),
IOP( "lpdiblc1", BSIM3_MOD_LPDIBL1, IF_REAL, "Length dependence of pdiblc1"),
IOP( "lpdiblc2", BSIM3_MOD_LPDIBL2, IF_REAL, "Length dependence of pdiblc2"),
IOP( "lpdiblcb", BSIM3_MOD_LPDIBLB, IF_REAL, "Length dependence of pdiblcb"),
IOP( "lpscbe1", BSIM3_MOD_LPSCBE1, IF_REAL, "Length dependence of pscbe1"),
IOP( "lpscbe2", BSIM3_MOD_LPSCBE2, IF_REAL, "Length dependence of pscbe2"),
IOP( "lpvag", BSIM3_MOD_LPVAG, IF_REAL, "Length dependence of pvag"),
IOP( "lwr", BSIM3_MOD_LWR, IF_REAL, "Length dependence of wr"),
IOP( "ldwg", BSIM3_MOD_LDWG, IF_REAL, "Length dependence of dwg"),
IOP( "ldwb", BSIM3_MOD_LDWB, IF_REAL, "Length dependence of dwb"),
@ -300,15 +300,15 @@ IOP( "lmoin", BSIM3_MOD_LMOIN, IF_REAL, "Length dependence of moin"),
IOP( "lnoff", BSIM3_MOD_LNOFF, IF_REAL, "Length dependence of noff"),
IOP( "lvoffcv", BSIM3_MOD_LVOFFCV, IF_REAL, "Length dependence of voffcv"),
IOP( "wcdsc", BSIM3_MOD_WCDSC, IF_REAL, "Width dependence of cdsc"),
IOP( "wcdscb", BSIM3_MOD_WCDSCB, IF_REAL, "Width dependence of cdscb"),
IOP( "wcdscd", BSIM3_MOD_WCDSCD, IF_REAL, "Width dependence of cdscd"),
IOP( "wcdscb", BSIM3_MOD_WCDSCB, IF_REAL, "Width dependence of cdscb"),
IOP( "wcdscd", BSIM3_MOD_WCDSCD, IF_REAL, "Width dependence of cdscd"),
IOP( "wcit", BSIM3_MOD_WCIT, IF_REAL, "Width dependence of cit"),
IOP( "wnfactor", BSIM3_MOD_WNFACTOR, IF_REAL, "Width dependence of nfactor"),
IOP( "wxj", BSIM3_MOD_WXJ, IF_REAL, "Width dependence of xj"),
IOP( "wvsat", BSIM3_MOD_WVSAT, IF_REAL, "Width dependence of vsat"),
IOP( "wat", BSIM3_MOD_WAT, IF_REAL, "Width dependence of at"),
IOP( "wa0", BSIM3_MOD_WA0, IF_REAL, "Width dependence of a0"),
IOP( "wags", BSIM3_MOD_WAGS, IF_REAL, "Width dependence of ags"),
IOP( "wa0", BSIM3_MOD_WA0, IF_REAL, "Width dependence of a0"),
IOP( "wags", BSIM3_MOD_WAGS, IF_REAL, "Width dependence of ags"),
IOP( "wa1", BSIM3_MOD_WA1, IF_REAL, "Width dependence of a1"),
IOP( "wa2", BSIM3_MOD_WA2, IF_REAL, "Width dependence of a2"),
IOP( "wketa", BSIM3_MOD_WKETA, IF_REAL, "Width dependence of keta"),
@ -356,15 +356,15 @@ IOP( "wprwg", BSIM3_MOD_WPRWG, IF_REAL, "Width dependence of prwg "),
IOP( "wprwb", BSIM3_MOD_WPRWB, IF_REAL, "Width dependence of prwb "),
IOP( "wprt", BSIM3_MOD_WPRT, IF_REAL, "Width dependence of prt"),
IOP( "weta0", BSIM3_MOD_WETA0, IF_REAL, "Width dependence of eta0"),
IOP( "wetab", BSIM3_MOD_WETAB, IF_REAL, "Width dependence of etab"),
IOP( "wpclm", BSIM3_MOD_WPCLM, IF_REAL, "Width dependence of pclm"),
IOP( "wpdiblc1", BSIM3_MOD_WPDIBL1, IF_REAL, "Width dependence of pdiblc1"),
IOP( "wpdiblc2", BSIM3_MOD_WPDIBL2, IF_REAL, "Width dependence of pdiblc2"),
IOP( "wpdiblcb", BSIM3_MOD_WPDIBLB, IF_REAL, "Width dependence of pdiblcb"),
IOP( "wpscbe1", BSIM3_MOD_WPSCBE1, IF_REAL, "Width dependence of pscbe1"),
IOP( "wpscbe2", BSIM3_MOD_WPSCBE2, IF_REAL, "Width dependence of pscbe2"),
IOP( "wpvag", BSIM3_MOD_WPVAG, IF_REAL, "Width dependence of pvag"),
IOP( "weta0", BSIM3_MOD_WETA0, IF_REAL, "Width dependence of eta0"),
IOP( "wetab", BSIM3_MOD_WETAB, IF_REAL, "Width dependence of etab"),
IOP( "wpclm", BSIM3_MOD_WPCLM, IF_REAL, "Width dependence of pclm"),
IOP( "wpdiblc1", BSIM3_MOD_WPDIBL1, IF_REAL, "Width dependence of pdiblc1"),
IOP( "wpdiblc2", BSIM3_MOD_WPDIBL2, IF_REAL, "Width dependence of pdiblc2"),
IOP( "wpdiblcb", BSIM3_MOD_WPDIBLB, IF_REAL, "Width dependence of pdiblcb"),
IOP( "wpscbe1", BSIM3_MOD_WPSCBE1, IF_REAL, "Width dependence of pscbe1"),
IOP( "wpscbe2", BSIM3_MOD_WPSCBE2, IF_REAL, "Width dependence of pscbe2"),
IOP( "wpvag", BSIM3_MOD_WPVAG, IF_REAL, "Width dependence of pvag"),
IOP( "wwr", BSIM3_MOD_WWR, IF_REAL, "Width dependence of wr"),
IOP( "wdwg", BSIM3_MOD_WDWG, IF_REAL, "Width dependence of dwg"),
IOP( "wdwb", BSIM3_MOD_WDWB, IF_REAL, "Width dependence of dwb"),
@ -387,14 +387,14 @@ IOP( "wnoff", BSIM3_MOD_WNOFF, IF_REAL, "Width dependence of noff"),
IOP( "wvoffcv", BSIM3_MOD_WVOFFCV, IF_REAL, "Width dependence of voffcv"),
IOP( "pcdsc", BSIM3_MOD_PCDSC, IF_REAL, "Cross-term dependence of cdsc"),
IOP( "pcdscb", BSIM3_MOD_PCDSCB, IF_REAL, "Cross-term dependence of cdscb"),
IOP( "pcdscb", BSIM3_MOD_PCDSCB, IF_REAL, "Cross-term dependence of cdscb"),
IOP( "pcdscd", BSIM3_MOD_PCDSCD, IF_REAL, "Cross-term dependence of cdscd"),
IOP( "pcit", BSIM3_MOD_PCIT, IF_REAL, "Cross-term dependence of cit"),
IOP( "pnfactor", BSIM3_MOD_PNFACTOR, IF_REAL, "Cross-term dependence of nfactor"),
IOP( "pxj", BSIM3_MOD_PXJ, IF_REAL, "Cross-term dependence of xj"),
IOP( "pvsat", BSIM3_MOD_PVSAT, IF_REAL, "Cross-term dependence of vsat"),
IOP( "pat", BSIM3_MOD_PAT, IF_REAL, "Cross-term dependence of at"),
IOP( "pa0", BSIM3_MOD_PA0, IF_REAL, "Cross-term dependence of a0"),
IOP( "pa0", BSIM3_MOD_PA0, IF_REAL, "Cross-term dependence of a0"),
IOP( "pags", BSIM3_MOD_PAGS, IF_REAL, "Cross-term dependence of ags"),
IOP( "pa1", BSIM3_MOD_PA1, IF_REAL, "Cross-term dependence of a1"),
IOP( "pa2", BSIM3_MOD_PA2, IF_REAL, "Cross-term dependence of a2"),
@ -437,10 +437,10 @@ IOP( "pute", BSIM3_MOD_PUTE, IF_REAL, "Cross-term dependence of ute"),
IOP( "pvoff", BSIM3_MOD_PVOFF, IF_REAL, "Cross-term dependence of voff"),
IOP( "pelm", BSIM3_MOD_PELM, IF_REAL, "Cross-term dependence of elm"),
IOP( "pdelta", BSIM3_MOD_PDELTA, IF_REAL, "Cross-term dependence of delta"),
IOP( "prdsw", BSIM3_MOD_PRDSW, IF_REAL, "Cross-term dependence of rdsw "),
IOP( "prdsw", BSIM3_MOD_PRDSW, IF_REAL, "Cross-term dependence of rdsw "),
IOP( "pprwg", BSIM3_MOD_PPRWG, IF_REAL, "Cross-term dependence of prwg "),
IOP( "pprwb", BSIM3_MOD_PPRWB, IF_REAL, "Cross-term dependence of prwb "),
IOP( "pprwg", BSIM3_MOD_PPRWG, IF_REAL, "Cross-term dependence of prwg "),
IOP( "pprwb", BSIM3_MOD_PPRWB, IF_REAL, "Cross-term dependence of prwb "),
IOP( "pprt", BSIM3_MOD_PPRT, IF_REAL, "Cross-term dependence of prt "),
IOP( "peta0", BSIM3_MOD_PETA0, IF_REAL, "Cross-term dependence of eta0"),
@ -451,7 +451,7 @@ IOP( "ppdiblc2", BSIM3_MOD_PPDIBL2, IF_REAL, "Cross-term dependence of pdiblc2")
IOP( "ppdiblcb", BSIM3_MOD_PPDIBLB, IF_REAL, "Cross-term dependence of pdiblcb"),
IOP( "ppscbe1", BSIM3_MOD_PPSCBE1, IF_REAL, "Cross-term dependence of pscbe1"),
IOP( "ppscbe2", BSIM3_MOD_PPSCBE2, IF_REAL, "Cross-term dependence of pscbe2"),
IOP( "ppvag", BSIM3_MOD_PPVAG, IF_REAL, "Cross-term dependence of pvag"),
IOP( "ppvag", BSIM3_MOD_PPVAG, IF_REAL, "Cross-term dependence of pvag"),
IOP( "pwr", BSIM3_MOD_PWR, IF_REAL, "Cross-term dependence of wr"),
IOP( "pdwg", BSIM3_MOD_PDWG, IF_REAL, "Cross-term dependence of dwg"),
IOP( "pdwb", BSIM3_MOD_PDWB, IF_REAL, "Cross-term dependence of dwb"),
@ -493,11 +493,8 @@ char *BSIM3names[] = {
"Charge"
};
int BSIM3nSize = NUMELEMS(BSIM3names);
int BSIM3pTSize = NUMELEMS(BSIM3pTable);
int BSIM3mPTSize = NUMELEMS(BSIM3mPTable);
int BSIM3iSize = sizeof(BSIM3instance);
int BSIM3mSize = sizeof(BSIM3model);
int BSIM3nSize = NUMELEMS(BSIM3names);
int BSIM3pTSize = NUMELEMS(BSIM3pTable);
int BSIM3mPTSize = NUMELEMS(BSIM3mPTable);
int BSIM3iSize = sizeof(BSIM3instance);
int BSIM3mSize = sizeof(BSIM3model);

View File

@ -28,7 +28,7 @@ BSIM3instance *here = (BSIM3instance*)inst;
NG_IGNORE(select);
switch(which)
switch(which)
{ case BSIM3_L:
value->rValue = here->BSIM3l;
return(OK);
@ -94,11 +94,11 @@ BSIM3instance *here = (BSIM3instance*)inst;
return(OK);
case BSIM3_SOURCECONDUCT:
value->rValue = here->BSIM3sourceConductance;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_DRAINCONDUCT:
value->rValue = here->BSIM3drainConductance;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_VBD:
value->rValue = *(ckt->CKTstate0 + here->BSIM3vbd);
@ -113,118 +113,118 @@ BSIM3instance *here = (BSIM3instance*)inst;
value->rValue = *(ckt->CKTstate0 + here->BSIM3vds);
return(OK);
case BSIM3_CD:
value->rValue = here->BSIM3cd;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cd;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CBS:
value->rValue = here->BSIM3cbs;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cbs;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CBD:
value->rValue = here->BSIM3cbd;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cbd;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_GM:
value->rValue = here->BSIM3gm;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3gm;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_GDS:
value->rValue = here->BSIM3gds;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3gds;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_GMBS:
value->rValue = here->BSIM3gmbs;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3gmbs;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_GBD:
value->rValue = here->BSIM3gbd;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3gbd;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_GBS:
value->rValue = here->BSIM3gbs;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3gbs;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_QB:
value->rValue = *(ckt->CKTstate0 + here->BSIM3qb);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3qb);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CQB:
value->rValue = *(ckt->CKTstate0 + here->BSIM3cqb);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3cqb);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_QG:
value->rValue = *(ckt->CKTstate0 + here->BSIM3qg);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3qg);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CQG:
value->rValue = *(ckt->CKTstate0 + here->BSIM3cqg);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3cqg);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_QD:
value->rValue = *(ckt->CKTstate0 + here->BSIM3qd);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3qd);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CQD:
value->rValue = *(ckt->CKTstate0 + here->BSIM3cqd);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3cqd);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CGG:
value->rValue = here->BSIM3cggb;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cggb;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CGD:
value->rValue = here->BSIM3cgdb;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CGS:
value->rValue = here->BSIM3cgsb;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CDG:
value->rValue = here->BSIM3cdgb;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cdgb;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CDD:
value->rValue = here->BSIM3cddb;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cddb;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CDS:
value->rValue = here->BSIM3cdsb;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3cdsb;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CBG:
value->rValue = here->BSIM3cbgb;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CBDB:
value->rValue = here->BSIM3cbdb;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CBSB:
value->rValue = here->BSIM3cbsb;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CAPBD:
value->rValue = here->BSIM3capbd;
value->rValue *= here->BSIM3m;
value->rValue = here->BSIM3capbd;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_CAPBS:
value->rValue = here->BSIM3capbs;
value->rValue *= here->BSIM3m;
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_VON:
value->rValue = here->BSIM3von;
value->rValue = here->BSIM3von;
return(OK);
case BSIM3_VDSAT:
value->rValue = here->BSIM3vdsat;
value->rValue = here->BSIM3vdsat;
return(OK);
case BSIM3_QBS:
value->rValue = *(ckt->CKTstate0 + here->BSIM3qbs);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3qbs);
value->rValue *= here->BSIM3m;
return(OK);
case BSIM3_QBD:
value->rValue = *(ckt->CKTstate0 + here->BSIM3qbd);
value->rValue *= here->BSIM3m;
value->rValue = *(ckt->CKTstate0 + here->BSIM3qbd);
value->rValue *= here->BSIM3m;
return(OK);
default:
return(E_BADPARM);

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@ IFvalue *select)
if (!cp_getvar("scale", CP_REAL, &scale))
scale = 1;
switch(param)
switch(param)
{ case BSIM3_W:
here->BSIM3w = value->rValue*scale;
here->BSIM3wGiven = TRUE;
@ -40,10 +40,10 @@ IFvalue *select)
here->BSIM3l = value->rValue*scale;
here->BSIM3lGiven = TRUE;
break;
case BSIM3_M:
here->BSIM3m = value->rValue;
here->BSIM3mGiven = TRUE;
break;
case BSIM3_M:
here->BSIM3m = value->rValue;
here->BSIM3mGiven = TRUE;
break;
case BSIM3_AS:
here->BSIM3sourceArea = value->rValue*scale*scale;
here->BSIM3sourceAreaGiven = TRUE;

View File

@ -906,7 +906,7 @@ BSIM3instance **InstArray;
here->BSIM3m = 1;
/* process drain series resistance */
if ((model->BSIM3sheetResistance > 0.0) &&
if ((model->BSIM3sheetResistance > 0.0) &&
(here->BSIM3drainSquares > 0.0 ))
{
if(here->BSIM3dNodePrime == 0) {
@ -928,7 +928,7 @@ BSIM3instance **InstArray;
}
/* process source series resistance */
if ((model->BSIM3sheetResistance > 0.0) &&
if ((model->BSIM3sheetResistance > 0.0) &&
(here->BSIM3sourceSquares > 0.0 ))
{
if(here->BSIM3sNodePrime == 0) {

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ File: bsim3def.h
#include "ngspice/gendefs.h"
#include "ngspice/cktdefs.h"
#include "ngspice/complex.h"
#include "ngspice/noisedef.h"
#include "ngspice/noisedef.h"
typedef struct sBSIM3instance
{
@ -32,7 +32,7 @@ typedef struct sBSIM3instance
/* MCJ */
double BSIM3ueff;
double BSIM3thetavth;
double BSIM3thetavth;
double BSIM3von;
double BSIM3vdsat;
double BSIM3cgdo;
@ -44,7 +44,7 @@ typedef struct sBSIM3instance
double BSIM3l;
double BSIM3w;
double BSIM3m;
double BSIM3m;
double BSIM3drainArea;
double BSIM3sourceArea;
double BSIM3drainSquares;
@ -115,7 +115,7 @@ typedef struct sBSIM3instance
unsigned BSIM3lGiven :1;
unsigned BSIM3wGiven :1;
unsigned BSIM3mGiven :1;
unsigned BSIM3mGiven :1;
unsigned BSIM3drainAreaGiven :1;
unsigned BSIM3sourceAreaGiven :1;
unsigned BSIM3drainSquaresGiven :1;
@ -253,29 +253,29 @@ struct bsim3SizeDependParam
double Width;
double Length;
double BSIM3cdsc;
double BSIM3cdscb;
double BSIM3cdscd;
double BSIM3cit;
double BSIM3nfactor;
double BSIM3cdsc;
double BSIM3cdscb;
double BSIM3cdscd;
double BSIM3cit;
double BSIM3nfactor;
double BSIM3xj;
double BSIM3vsat;
double BSIM3at;
double BSIM3a0;
double BSIM3ags;
double BSIM3a1;
double BSIM3a2;
double BSIM3keta;
double BSIM3vsat;
double BSIM3at;
double BSIM3a0;
double BSIM3ags;
double BSIM3a1;
double BSIM3a2;
double BSIM3keta;
double BSIM3nsub;
double BSIM3npeak;
double BSIM3ngate;
double BSIM3gamma1;
double BSIM3gamma2;
double BSIM3vbx;
double BSIM3vbi;
double BSIM3vbm;
double BSIM3vbsc;
double BSIM3xt;
double BSIM3npeak;
double BSIM3ngate;
double BSIM3gamma1;
double BSIM3gamma2;
double BSIM3vbx;
double BSIM3vbi;
double BSIM3vbm;
double BSIM3vbsc;
double BSIM3xt;
double BSIM3phi;
double BSIM3litl;
double BSIM3k1;
@ -287,14 +287,14 @@ struct bsim3SizeDependParam
double BSIM3k3b;
double BSIM3w0;
double BSIM3nlx;
double BSIM3dvt0;
double BSIM3dvt1;
double BSIM3dvt2;
double BSIM3dvt0w;
double BSIM3dvt1w;
double BSIM3dvt2w;
double BSIM3drout;
double BSIM3dsub;
double BSIM3dvt0;
double BSIM3dvt1;
double BSIM3dvt2;
double BSIM3dvt0w;
double BSIM3dvt1w;
double BSIM3dvt2w;
double BSIM3drout;
double BSIM3dsub;
double BSIM3vth0;
double BSIM3ua;
double BSIM3ua1;
@ -307,20 +307,20 @@ struct bsim3SizeDependParam
double BSIM3voff;
double BSIM3vfb;
double BSIM3delta;
double BSIM3rdsw;
double BSIM3rds0;
double BSIM3prwg;
double BSIM3prwb;
double BSIM3prt;
double BSIM3eta0;
double BSIM3etab;
double BSIM3pclm;
double BSIM3pdibl1;
double BSIM3pdibl2;
double BSIM3pdiblb;
double BSIM3pscbe1;
double BSIM3pscbe2;
double BSIM3pvag;
double BSIM3rdsw;
double BSIM3rds0;
double BSIM3prwg;
double BSIM3prwb;
double BSIM3prt;
double BSIM3eta0;
double BSIM3etab;
double BSIM3pclm;
double BSIM3pdibl1;
double BSIM3pdibl2;
double BSIM3pdiblb;
double BSIM3pscbe1;
double BSIM3pscbe2;
double BSIM3pvag;
double BSIM3wr;
double BSIM3dwg;
double BSIM3dwb;
@ -363,14 +363,14 @@ struct bsim3SizeDependParam
double BSIM3cgbo;
double BSIM3tconst;
double BSIM3u0temp;
double BSIM3vsattemp;
double BSIM3sqrtPhi;
double BSIM3phis3;
double BSIM3Xdep0;
double BSIM3sqrtXdep0;
double BSIM3u0temp;
double BSIM3vsattemp;
double BSIM3sqrtPhi;
double BSIM3phis3;
double BSIM3Xdep0;
double BSIM3sqrtXdep0;
double BSIM3theta0vb0;
double BSIM3thetaRout;
double BSIM3thetaRout;
double BSIM3cof1;
double BSIM3cof2;
@ -386,12 +386,12 @@ struct bsim3SizeDependParam
};
typedef struct sBSIM3model
typedef struct sBSIM3model
{
int BSIM3modType;
struct sBSIM3model *BSIM3nextModel;
BSIM3instance *BSIM3instances;
IFuid BSIM3modName;
IFuid BSIM3modName;
int BSIM3type;
int BSIM3mobMod;
@ -400,30 +400,30 @@ typedef struct sBSIM3model
int BSIM3acnqsMod;
int BSIM3binUnit;
int BSIM3paramChk;
char *BSIM3version;
double BSIM3tox;
char *BSIM3version;
double BSIM3tox;
double BSIM3toxm;
double BSIM3cdsc;
double BSIM3cdscb;
double BSIM3cdscd;
double BSIM3cit;
double BSIM3nfactor;
double BSIM3cdsc;
double BSIM3cdscb;
double BSIM3cdscd;
double BSIM3cit;
double BSIM3nfactor;
double BSIM3xj;
double BSIM3vsat;
double BSIM3at;
double BSIM3a0;
double BSIM3ags;
double BSIM3a1;
double BSIM3a2;
double BSIM3keta;
double BSIM3vsat;
double BSIM3at;
double BSIM3a0;
double BSIM3ags;
double BSIM3a1;
double BSIM3a2;
double BSIM3keta;
double BSIM3nsub;
double BSIM3npeak;
double BSIM3ngate;
double BSIM3gamma1;
double BSIM3gamma2;
double BSIM3vbx;
double BSIM3vbm;
double BSIM3xt;
double BSIM3npeak;
double BSIM3ngate;
double BSIM3gamma1;
double BSIM3gamma2;
double BSIM3vbx;
double BSIM3vbm;
double BSIM3xt;
double BSIM3k1;
double BSIM3kt1;
double BSIM3kt1l;
@ -433,14 +433,14 @@ typedef struct sBSIM3model
double BSIM3k3b;
double BSIM3w0;
double BSIM3nlx;
double BSIM3dvt0;
double BSIM3dvt1;
double BSIM3dvt2;
double BSIM3dvt0w;
double BSIM3dvt1w;
double BSIM3dvt2w;
double BSIM3drout;
double BSIM3dsub;
double BSIM3dvt0;
double BSIM3dvt1;
double BSIM3dvt2;
double BSIM3dvt0w;
double BSIM3dvt1w;
double BSIM3dvt2w;
double BSIM3drout;
double BSIM3dsub;
double BSIM3vth0;
double BSIM3ua;
double BSIM3ua1;
@ -452,19 +452,19 @@ typedef struct sBSIM3model
double BSIM3ute;
double BSIM3voff;
double BSIM3delta;
double BSIM3rdsw;
double BSIM3rdsw;
double BSIM3prwg;
double BSIM3prwb;
double BSIM3prt;
double BSIM3eta0;
double BSIM3etab;
double BSIM3pclm;
double BSIM3pdibl1;
double BSIM3pdibl2;
double BSIM3prt;
double BSIM3eta0;
double BSIM3etab;
double BSIM3pclm;
double BSIM3pdibl1;
double BSIM3pdibl2;
double BSIM3pdiblb;
double BSIM3pscbe1;
double BSIM3pscbe2;
double BSIM3pvag;
double BSIM3pscbe1;
double BSIM3pscbe2;
double BSIM3pvag;
double BSIM3wr;
double BSIM3dwg;
double BSIM3dwb;
@ -499,27 +499,27 @@ typedef struct sBSIM3model
double BSIM3tpbswg;
/* Length Dependence */
double BSIM3lcdsc;
double BSIM3lcdscb;
double BSIM3lcdscd;
double BSIM3lcit;
double BSIM3lnfactor;
double BSIM3lcdsc;
double BSIM3lcdscb;
double BSIM3lcdscd;
double BSIM3lcit;
double BSIM3lnfactor;
double BSIM3lxj;
double BSIM3lvsat;
double BSIM3lat;
double BSIM3la0;
double BSIM3lags;
double BSIM3la1;
double BSIM3la2;
double BSIM3lketa;
double BSIM3lvsat;
double BSIM3lat;
double BSIM3la0;
double BSIM3lags;
double BSIM3la1;
double BSIM3la2;
double BSIM3lketa;
double BSIM3lnsub;
double BSIM3lnpeak;
double BSIM3lngate;
double BSIM3lgamma1;
double BSIM3lgamma2;
double BSIM3lvbx;
double BSIM3lvbm;
double BSIM3lxt;
double BSIM3lnpeak;
double BSIM3lngate;
double BSIM3lgamma1;
double BSIM3lgamma2;
double BSIM3lvbx;
double BSIM3lvbm;
double BSIM3lxt;
double BSIM3lk1;
double BSIM3lkt1;
double BSIM3lkt1l;
@ -529,14 +529,14 @@ typedef struct sBSIM3model
double BSIM3lk3b;
double BSIM3lw0;
double BSIM3lnlx;
double BSIM3ldvt0;
double BSIM3ldvt1;
double BSIM3ldvt2;
double BSIM3ldvt0w;
double BSIM3ldvt1w;
double BSIM3ldvt2w;
double BSIM3ldrout;
double BSIM3ldsub;
double BSIM3ldvt0;
double BSIM3ldvt1;
double BSIM3ldvt2;
double BSIM3ldvt0w;
double BSIM3ldvt1w;
double BSIM3ldvt2w;
double BSIM3ldrout;
double BSIM3ldsub;
double BSIM3lvth0;
double BSIM3lua;
double BSIM3lua1;
@ -548,19 +548,19 @@ typedef struct sBSIM3model
double BSIM3lute;
double BSIM3lvoff;
double BSIM3ldelta;
double BSIM3lrdsw;
double BSIM3lrdsw;
double BSIM3lprwg;
double BSIM3lprwb;
double BSIM3lprt;
double BSIM3leta0;
double BSIM3letab;
double BSIM3lpclm;
double BSIM3lpdibl1;
double BSIM3lpdibl2;
double BSIM3lprt;
double BSIM3leta0;
double BSIM3letab;
double BSIM3lpclm;
double BSIM3lpdibl1;
double BSIM3lpdibl2;
double BSIM3lpdiblb;
double BSIM3lpscbe1;
double BSIM3lpscbe2;
double BSIM3lpvag;
double BSIM3lpscbe1;
double BSIM3lpscbe2;
double BSIM3lpvag;
double BSIM3lwr;
double BSIM3ldwg;
double BSIM3ldwb;
@ -586,27 +586,27 @@ typedef struct sBSIM3model
double BSIM3lmoin;
/* Width Dependence */
double BSIM3wcdsc;
double BSIM3wcdscb;
double BSIM3wcdscd;
double BSIM3wcit;
double BSIM3wnfactor;
double BSIM3wcdsc;
double BSIM3wcdscb;
double BSIM3wcdscd;
double BSIM3wcit;
double BSIM3wnfactor;
double BSIM3wxj;
double BSIM3wvsat;
double BSIM3wat;
double BSIM3wa0;
double BSIM3wags;
double BSIM3wa1;
double BSIM3wa2;
double BSIM3wketa;
double BSIM3wvsat;
double BSIM3wat;
double BSIM3wa0;
double BSIM3wags;
double BSIM3wa1;
double BSIM3wa2;
double BSIM3wketa;
double BSIM3wnsub;
double BSIM3wnpeak;
double BSIM3wngate;
double BSIM3wgamma1;
double BSIM3wgamma2;
double BSIM3wvbx;
double BSIM3wvbm;
double BSIM3wxt;
double BSIM3wnpeak;
double BSIM3wngate;
double BSIM3wgamma1;
double BSIM3wgamma2;
double BSIM3wvbx;
double BSIM3wvbm;
double BSIM3wxt;
double BSIM3wk1;
double BSIM3wkt1;
double BSIM3wkt1l;
@ -616,14 +616,14 @@ typedef struct sBSIM3model
double BSIM3wk3b;
double BSIM3ww0;
double BSIM3wnlx;
double BSIM3wdvt0;
double BSIM3wdvt1;
double BSIM3wdvt2;
double BSIM3wdvt0w;
double BSIM3wdvt1w;
double BSIM3wdvt2w;
double BSIM3wdrout;
double BSIM3wdsub;
double BSIM3wdvt0;
double BSIM3wdvt1;
double BSIM3wdvt2;
double BSIM3wdvt0w;
double BSIM3wdvt1w;
double BSIM3wdvt2w;
double BSIM3wdrout;
double BSIM3wdsub;
double BSIM3wvth0;
double BSIM3wua;
double BSIM3wua1;
@ -635,19 +635,19 @@ typedef struct sBSIM3model
double BSIM3wute;
double BSIM3wvoff;
double BSIM3wdelta;
double BSIM3wrdsw;
double BSIM3wrdsw;
double BSIM3wprwg;
double BSIM3wprwb;
double BSIM3wprt;
double BSIM3weta0;
double BSIM3wetab;
double BSIM3wpclm;
double BSIM3wpdibl1;
double BSIM3wpdibl2;
double BSIM3wprt;
double BSIM3weta0;
double BSIM3wetab;
double BSIM3wpclm;
double BSIM3wpdibl1;
double BSIM3wpdibl2;
double BSIM3wpdiblb;
double BSIM3wpscbe1;
double BSIM3wpscbe2;
double BSIM3wpvag;
double BSIM3wpscbe1;
double BSIM3wpscbe2;
double BSIM3wpvag;
double BSIM3wwr;
double BSIM3wdwg;
double BSIM3wdwb;
@ -673,27 +673,27 @@ typedef struct sBSIM3model
double BSIM3wmoin;
/* Cross-term Dependence */
double BSIM3pcdsc;
double BSIM3pcdscb;
double BSIM3pcdscd;
double BSIM3pcit;
double BSIM3pnfactor;
double BSIM3pcdsc;
double BSIM3pcdscb;
double BSIM3pcdscd;
double BSIM3pcit;
double BSIM3pnfactor;
double BSIM3pxj;
double BSIM3pvsat;
double BSIM3pat;
double BSIM3pa0;
double BSIM3pags;
double BSIM3pa1;
double BSIM3pa2;
double BSIM3pketa;
double BSIM3pvsat;
double BSIM3pat;
double BSIM3pa0;
double BSIM3pags;
double BSIM3pa1;
double BSIM3pa2;
double BSIM3pketa;
double BSIM3pnsub;
double BSIM3pnpeak;
double BSIM3pngate;
double BSIM3pgamma1;
double BSIM3pgamma2;
double BSIM3pvbx;
double BSIM3pvbm;
double BSIM3pxt;
double BSIM3pnpeak;
double BSIM3pngate;
double BSIM3pgamma1;
double BSIM3pgamma2;
double BSIM3pvbx;
double BSIM3pvbm;
double BSIM3pxt;
double BSIM3pk1;
double BSIM3pkt1;
double BSIM3pkt1l;
@ -703,14 +703,14 @@ typedef struct sBSIM3model
double BSIM3pk3b;
double BSIM3pw0;
double BSIM3pnlx;
double BSIM3pdvt0;
double BSIM3pdvt1;
double BSIM3pdvt2;
double BSIM3pdvt0w;
double BSIM3pdvt1w;
double BSIM3pdvt2w;
double BSIM3pdrout;
double BSIM3pdsub;
double BSIM3pdvt0;
double BSIM3pdvt1;
double BSIM3pdvt2;
double BSIM3pdvt0w;
double BSIM3pdvt1w;
double BSIM3pdvt2w;
double BSIM3pdrout;
double BSIM3pdsub;
double BSIM3pvth0;
double BSIM3pua;
double BSIM3pua1;
@ -725,16 +725,16 @@ typedef struct sBSIM3model
double BSIM3prdsw;
double BSIM3pprwg;
double BSIM3pprwb;
double BSIM3pprt;
double BSIM3peta0;
double BSIM3petab;
double BSIM3ppclm;
double BSIM3ppdibl1;
double BSIM3ppdibl2;
double BSIM3pprt;
double BSIM3peta0;
double BSIM3petab;
double BSIM3ppclm;
double BSIM3ppdibl1;
double BSIM3ppdibl2;
double BSIM3ppdiblb;
double BSIM3ppscbe1;
double BSIM3ppscbe2;
double BSIM3ppvag;
double BSIM3ppscbe1;
double BSIM3ppscbe2;
double BSIM3ppvag;
double BSIM3pwr;
double BSIM3pdwg;
double BSIM3pdwb;
@ -809,7 +809,7 @@ typedef struct sBSIM3model
/* Pre-calculated constants */
/* MCJ: move to size-dependent param. */
double BSIM3vtm;
double BSIM3vtm;
double BSIM3cox;
double BSIM3cof1;
double BSIM3cof2;
@ -826,18 +826,18 @@ typedef struct sBSIM3model
double BSIM3unitLengthSidewallTempJctCap;
double BSIM3unitLengthGateSidewallTempJctCap;
double BSIM3oxideTrapDensityA;
double BSIM3oxideTrapDensityB;
double BSIM3oxideTrapDensityC;
double BSIM3em;
double BSIM3ef;
double BSIM3af;
double BSIM3kf;
double BSIM3oxideTrapDensityA;
double BSIM3oxideTrapDensityB;
double BSIM3oxideTrapDensityC;
double BSIM3em;
double BSIM3ef;
double BSIM3af;
double BSIM3kf;
double BSIM3lintnoi; /* lint offset for noise calculation */
struct bsim3SizeDependParam *pSizeDependParamKnot;
#ifdef USE_OMP
int BSIM3InstCount;
struct sBSIM3instance **BSIM3InstanceArray;
@ -866,7 +866,7 @@ typedef struct sBSIM3model
unsigned BSIM3agsGiven :1;
unsigned BSIM3a1Given :1;
unsigned BSIM3a2Given :1;
unsigned BSIM3ketaGiven :1;
unsigned BSIM3ketaGiven :1;
unsigned BSIM3nsubGiven :1;
unsigned BSIM3npeakGiven :1;
unsigned BSIM3ngateGiven :1;
@ -884,14 +884,14 @@ typedef struct sBSIM3model
unsigned BSIM3k3bGiven :1;
unsigned BSIM3w0Given :1;
unsigned BSIM3nlxGiven :1;
unsigned BSIM3dvt0Given :1;
unsigned BSIM3dvt1Given :1;
unsigned BSIM3dvt2Given :1;
unsigned BSIM3dvt0wGiven :1;
unsigned BSIM3dvt1wGiven :1;
unsigned BSIM3dvt2wGiven :1;
unsigned BSIM3droutGiven :1;
unsigned BSIM3dsubGiven :1;
unsigned BSIM3dvt0Given :1;
unsigned BSIM3dvt1Given :1;
unsigned BSIM3dvt2Given :1;
unsigned BSIM3dvt0wGiven :1;
unsigned BSIM3dvt1wGiven :1;
unsigned BSIM3dvt2wGiven :1;
unsigned BSIM3droutGiven :1;
unsigned BSIM3dsubGiven :1;
unsigned BSIM3vth0Given :1;
unsigned BSIM3uaGiven :1;
unsigned BSIM3ua1Given :1;
@ -902,20 +902,20 @@ typedef struct sBSIM3model
unsigned BSIM3u0Given :1;
unsigned BSIM3uteGiven :1;
unsigned BSIM3voffGiven :1;
unsigned BSIM3rdswGiven :1;
unsigned BSIM3prwgGiven :1;
unsigned BSIM3prwbGiven :1;
unsigned BSIM3prtGiven :1;
unsigned BSIM3eta0Given :1;
unsigned BSIM3etabGiven :1;
unsigned BSIM3pclmGiven :1;
unsigned BSIM3pdibl1Given :1;
unsigned BSIM3pdibl2Given :1;
unsigned BSIM3pdiblbGiven :1;
unsigned BSIM3pscbe1Given :1;
unsigned BSIM3pscbe2Given :1;
unsigned BSIM3pvagGiven :1;
unsigned BSIM3deltaGiven :1;
unsigned BSIM3rdswGiven :1;
unsigned BSIM3prwgGiven :1;
unsigned BSIM3prwbGiven :1;
unsigned BSIM3prtGiven :1;
unsigned BSIM3eta0Given :1;
unsigned BSIM3etabGiven :1;
unsigned BSIM3pclmGiven :1;
unsigned BSIM3pdibl1Given :1;
unsigned BSIM3pdibl2Given :1;
unsigned BSIM3pdiblbGiven :1;
unsigned BSIM3pscbe1Given :1;
unsigned BSIM3pscbe2Given :1;
unsigned BSIM3pvagGiven :1;
unsigned BSIM3deltaGiven :1;
unsigned BSIM3wrGiven :1;
unsigned BSIM3dwgGiven :1;
unsigned BSIM3dwbGiven :1;
@ -928,7 +928,7 @@ typedef struct sBSIM3model
unsigned BSIM3vfbGiven :1;
/* CV model */
unsigned BSIM3elmGiven :1;
unsigned BSIM3elmGiven :1;
unsigned BSIM3cgslGiven :1;
unsigned BSIM3cgdlGiven :1;
unsigned BSIM3ckappaGiven :1;
@ -963,7 +963,7 @@ typedef struct sBSIM3model
unsigned BSIM3lagsGiven :1;
unsigned BSIM3la1Given :1;
unsigned BSIM3la2Given :1;
unsigned BSIM3lketaGiven :1;
unsigned BSIM3lketaGiven :1;
unsigned BSIM3lnsubGiven :1;
unsigned BSIM3lnpeakGiven :1;
unsigned BSIM3lngateGiven :1;
@ -981,14 +981,14 @@ typedef struct sBSIM3model
unsigned BSIM3lk3bGiven :1;
unsigned BSIM3lw0Given :1;
unsigned BSIM3lnlxGiven :1;
unsigned BSIM3ldvt0Given :1;
unsigned BSIM3ldvt1Given :1;
unsigned BSIM3ldvt2Given :1;
unsigned BSIM3ldvt0wGiven :1;
unsigned BSIM3ldvt1wGiven :1;
unsigned BSIM3ldvt2wGiven :1;
unsigned BSIM3ldroutGiven :1;
unsigned BSIM3ldsubGiven :1;
unsigned BSIM3ldvt0Given :1;
unsigned BSIM3ldvt1Given :1;
unsigned BSIM3ldvt2Given :1;
unsigned BSIM3ldvt0wGiven :1;
unsigned BSIM3ldvt1wGiven :1;
unsigned BSIM3ldvt2wGiven :1;
unsigned BSIM3ldroutGiven :1;
unsigned BSIM3ldsubGiven :1;
unsigned BSIM3lvth0Given :1;
unsigned BSIM3luaGiven :1;
unsigned BSIM3lua1Given :1;
@ -999,20 +999,20 @@ typedef struct sBSIM3model
unsigned BSIM3lu0Given :1;
unsigned BSIM3luteGiven :1;
unsigned BSIM3lvoffGiven :1;
unsigned BSIM3lrdswGiven :1;
unsigned BSIM3lprwgGiven :1;
unsigned BSIM3lprwbGiven :1;
unsigned BSIM3lprtGiven :1;
unsigned BSIM3leta0Given :1;
unsigned BSIM3letabGiven :1;
unsigned BSIM3lpclmGiven :1;
unsigned BSIM3lpdibl1Given :1;
unsigned BSIM3lpdibl2Given :1;
unsigned BSIM3lpdiblbGiven :1;
unsigned BSIM3lpscbe1Given :1;
unsigned BSIM3lpscbe2Given :1;
unsigned BSIM3lpvagGiven :1;
unsigned BSIM3ldeltaGiven :1;
unsigned BSIM3lrdswGiven :1;
unsigned BSIM3lprwgGiven :1;
unsigned BSIM3lprwbGiven :1;
unsigned BSIM3lprtGiven :1;
unsigned BSIM3leta0Given :1;
unsigned BSIM3letabGiven :1;
unsigned BSIM3lpclmGiven :1;
unsigned BSIM3lpdibl1Given :1;
unsigned BSIM3lpdibl2Given :1;
unsigned BSIM3lpdiblbGiven :1;
unsigned BSIM3lpscbe1Given :1;
unsigned BSIM3lpscbe2Given :1;
unsigned BSIM3lpvagGiven :1;
unsigned BSIM3ldeltaGiven :1;
unsigned BSIM3lwrGiven :1;
unsigned BSIM3ldwgGiven :1;
unsigned BSIM3ldwbGiven :1;
@ -1024,7 +1024,7 @@ typedef struct sBSIM3model
unsigned BSIM3lvfbGiven :1;
/* CV model */
unsigned BSIM3lelmGiven :1;
unsigned BSIM3lelmGiven :1;
unsigned BSIM3lcgslGiven :1;
unsigned BSIM3lcgdlGiven :1;
unsigned BSIM3lckappaGiven :1;
@ -1050,7 +1050,7 @@ typedef struct sBSIM3model
unsigned BSIM3wagsGiven :1;
unsigned BSIM3wa1Given :1;
unsigned BSIM3wa2Given :1;
unsigned BSIM3wketaGiven :1;
unsigned BSIM3wketaGiven :1;
unsigned BSIM3wnsubGiven :1;
unsigned BSIM3wnpeakGiven :1;
unsigned BSIM3wngateGiven :1;
@ -1068,14 +1068,14 @@ typedef struct sBSIM3model
unsigned BSIM3wk3bGiven :1;
unsigned BSIM3ww0Given :1;
unsigned BSIM3wnlxGiven :1;
unsigned BSIM3wdvt0Given :1;
unsigned BSIM3wdvt1Given :1;
unsigned BSIM3wdvt2Given :1;
unsigned BSIM3wdvt0wGiven :1;
unsigned BSIM3wdvt1wGiven :1;
unsigned BSIM3wdvt2wGiven :1;
unsigned BSIM3wdroutGiven :1;
unsigned BSIM3wdsubGiven :1;
unsigned BSIM3wdvt0Given :1;
unsigned BSIM3wdvt1Given :1;
unsigned BSIM3wdvt2Given :1;
unsigned BSIM3wdvt0wGiven :1;
unsigned BSIM3wdvt1wGiven :1;
unsigned BSIM3wdvt2wGiven :1;
unsigned BSIM3wdroutGiven :1;
unsigned BSIM3wdsubGiven :1;
unsigned BSIM3wvth0Given :1;
unsigned BSIM3wuaGiven :1;
unsigned BSIM3wua1Given :1;
@ -1086,20 +1086,20 @@ typedef struct sBSIM3model
unsigned BSIM3wu0Given :1;
unsigned BSIM3wuteGiven :1;
unsigned BSIM3wvoffGiven :1;
unsigned BSIM3wrdswGiven :1;
unsigned BSIM3wprwgGiven :1;
unsigned BSIM3wprwbGiven :1;
unsigned BSIM3wprtGiven :1;
unsigned BSIM3weta0Given :1;
unsigned BSIM3wetabGiven :1;
unsigned BSIM3wpclmGiven :1;
unsigned BSIM3wpdibl1Given :1;
unsigned BSIM3wpdibl2Given :1;
unsigned BSIM3wpdiblbGiven :1;
unsigned BSIM3wpscbe1Given :1;
unsigned BSIM3wpscbe2Given :1;
unsigned BSIM3wpvagGiven :1;
unsigned BSIM3wdeltaGiven :1;
unsigned BSIM3wrdswGiven :1;
unsigned BSIM3wprwgGiven :1;
unsigned BSIM3wprwbGiven :1;
unsigned BSIM3wprtGiven :1;
unsigned BSIM3weta0Given :1;
unsigned BSIM3wetabGiven :1;
unsigned BSIM3wpclmGiven :1;
unsigned BSIM3wpdibl1Given :1;
unsigned BSIM3wpdibl2Given :1;
unsigned BSIM3wpdiblbGiven :1;
unsigned BSIM3wpscbe1Given :1;
unsigned BSIM3wpscbe2Given :1;
unsigned BSIM3wpvagGiven :1;
unsigned BSIM3wdeltaGiven :1;
unsigned BSIM3wwrGiven :1;
unsigned BSIM3wdwgGiven :1;
unsigned BSIM3wdwbGiven :1;
@ -1111,7 +1111,7 @@ typedef struct sBSIM3model
unsigned BSIM3wvfbGiven :1;
/* CV model */
unsigned BSIM3welmGiven :1;
unsigned BSIM3welmGiven :1;
unsigned BSIM3wcgslGiven :1;
unsigned BSIM3wcgdlGiven :1;
unsigned BSIM3wckappaGiven :1;
@ -1137,7 +1137,7 @@ typedef struct sBSIM3model
unsigned BSIM3pagsGiven :1;
unsigned BSIM3pa1Given :1;
unsigned BSIM3pa2Given :1;
unsigned BSIM3pketaGiven :1;
unsigned BSIM3pketaGiven :1;
unsigned BSIM3pnsubGiven :1;
unsigned BSIM3pnpeakGiven :1;
unsigned BSIM3pngateGiven :1;
@ -1155,14 +1155,14 @@ typedef struct sBSIM3model
unsigned BSIM3pk3bGiven :1;
unsigned BSIM3pw0Given :1;
unsigned BSIM3pnlxGiven :1;
unsigned BSIM3pdvt0Given :1;
unsigned BSIM3pdvt1Given :1;
unsigned BSIM3pdvt2Given :1;
unsigned BSIM3pdvt0wGiven :1;
unsigned BSIM3pdvt1wGiven :1;
unsigned BSIM3pdvt2wGiven :1;
unsigned BSIM3pdroutGiven :1;
unsigned BSIM3pdsubGiven :1;
unsigned BSIM3pdvt0Given :1;
unsigned BSIM3pdvt1Given :1;
unsigned BSIM3pdvt2Given :1;
unsigned BSIM3pdvt0wGiven :1;
unsigned BSIM3pdvt1wGiven :1;
unsigned BSIM3pdvt2wGiven :1;
unsigned BSIM3pdroutGiven :1;
unsigned BSIM3pdsubGiven :1;
unsigned BSIM3pvth0Given :1;
unsigned BSIM3puaGiven :1;
unsigned BSIM3pua1Given :1;
@ -1173,20 +1173,20 @@ typedef struct sBSIM3model
unsigned BSIM3pu0Given :1;
unsigned BSIM3puteGiven :1;
unsigned BSIM3pvoffGiven :1;
unsigned BSIM3prdswGiven :1;
unsigned BSIM3pprwgGiven :1;
unsigned BSIM3pprwbGiven :1;
unsigned BSIM3pprtGiven :1;
unsigned BSIM3peta0Given :1;
unsigned BSIM3petabGiven :1;
unsigned BSIM3ppclmGiven :1;
unsigned BSIM3ppdibl1Given :1;
unsigned BSIM3ppdibl2Given :1;
unsigned BSIM3ppdiblbGiven :1;
unsigned BSIM3ppscbe1Given :1;
unsigned BSIM3ppscbe2Given :1;
unsigned BSIM3ppvagGiven :1;
unsigned BSIM3pdeltaGiven :1;
unsigned BSIM3prdswGiven :1;
unsigned BSIM3pprwgGiven :1;
unsigned BSIM3pprwbGiven :1;
unsigned BSIM3pprtGiven :1;
unsigned BSIM3peta0Given :1;
unsigned BSIM3petabGiven :1;
unsigned BSIM3ppclmGiven :1;
unsigned BSIM3ppdibl1Given :1;
unsigned BSIM3ppdibl2Given :1;
unsigned BSIM3ppdiblbGiven :1;
unsigned BSIM3ppscbe1Given :1;
unsigned BSIM3ppscbe2Given :1;
unsigned BSIM3ppvagGiven :1;
unsigned BSIM3pdeltaGiven :1;
unsigned BSIM3pwrGiven :1;
unsigned BSIM3pdwgGiven :1;
unsigned BSIM3pdwbGiven :1;
@ -1198,7 +1198,7 @@ typedef struct sBSIM3model
unsigned BSIM3pvfbGiven :1;
/* CV model */
unsigned BSIM3pelmGiven :1;
unsigned BSIM3pelmGiven :1;
unsigned BSIM3pcgslGiven :1;
unsigned BSIM3pcgdlGiven :1;
unsigned BSIM3pckappaGiven :1;
@ -1231,15 +1231,15 @@ typedef struct sBSIM3model
unsigned BSIM3bulkJctGateSideGradingCoeffGiven :1;
unsigned BSIM3unitLengthGateSidewallJctCapGiven :1;
unsigned BSIM3jctEmissionCoeffGiven :1;
unsigned BSIM3jctTempExponentGiven :1;
unsigned BSIM3jctTempExponentGiven :1;
unsigned BSIM3oxideTrapDensityAGiven :1;
unsigned BSIM3oxideTrapDensityBGiven :1;
unsigned BSIM3oxideTrapDensityCGiven :1;
unsigned BSIM3emGiven :1;
unsigned BSIM3efGiven :1;
unsigned BSIM3afGiven :1;
unsigned BSIM3kfGiven :1;
unsigned BSIM3oxideTrapDensityAGiven :1;
unsigned BSIM3oxideTrapDensityBGiven :1;
unsigned BSIM3oxideTrapDensityCGiven :1;
unsigned BSIM3emGiven :1;
unsigned BSIM3efGiven :1;
unsigned BSIM3afGiven :1;
unsigned BSIM3kfGiven :1;
unsigned BSIM3lintnoiGiven :1;
unsigned BSIM3LintGiven :1;
@ -1295,8 +1295,8 @@ typedef struct sBSIM3model
/* model parameters */
#define BSIM3_MOD_CAPMOD 101
#define BSIM3_MOD_MOBMOD 103
#define BSIM3_MOD_NOIMOD 104
#define BSIM3_MOD_MOBMOD 103
#define BSIM3_MOD_NOIMOD 104
#define BSIM3_MOD_TOX 105
@ -1310,14 +1310,14 @@ typedef struct sBSIM3model
#define BSIM3_MOD_A0 113
#define BSIM3_MOD_A1 114
#define BSIM3_MOD_A2 115
#define BSIM3_MOD_KETA 116
#define BSIM3_MOD_KETA 116
#define BSIM3_MOD_NSUB 117
#define BSIM3_MOD_NPEAK 118
#define BSIM3_MOD_NGATE 120
#define BSIM3_MOD_GAMMA1 121
#define BSIM3_MOD_GAMMA2 122
#define BSIM3_MOD_VBX 123
#define BSIM3_MOD_BINUNIT 124
#define BSIM3_MOD_BINUNIT 124
#define BSIM3_MOD_VBM 125
@ -1419,7 +1419,7 @@ typedef struct sBSIM3model
#define BSIM3_MOD_LA0 258
#define BSIM3_MOD_LA1 259
#define BSIM3_MOD_LA2 260
#define BSIM3_MOD_LKETA 261
#define BSIM3_MOD_LKETA 261
#define BSIM3_MOD_LNSUB 262
#define BSIM3_MOD_LNPEAK 263
#define BSIM3_MOD_LNGATE 265
@ -1487,7 +1487,7 @@ typedef struct sBSIM3model
#define BSIM3_MOD_LCDSCD 327
#define BSIM3_MOD_LAGS 328
#define BSIM3_MOD_LFRINGE 331
#define BSIM3_MOD_LELM 332
@ -1516,7 +1516,7 @@ typedef struct sBSIM3model
#define BSIM3_MOD_WA0 388
#define BSIM3_MOD_WA1 389
#define BSIM3_MOD_WA2 390
#define BSIM3_MOD_WKETA 391
#define BSIM3_MOD_WKETA 391
#define BSIM3_MOD_WNSUB 392
#define BSIM3_MOD_WNPEAK 393
#define BSIM3_MOD_WNGATE 395
@ -1613,7 +1613,7 @@ typedef struct sBSIM3model
#define BSIM3_MOD_PA0 518
#define BSIM3_MOD_PA1 519
#define BSIM3_MOD_PA2 520
#define BSIM3_MOD_PKETA 521
#define BSIM3_MOD_PKETA 521
#define BSIM3_MOD_PNSUB 522
#define BSIM3_MOD_PNPEAK 523
#define BSIM3_MOD_PNGATE 525
@ -1810,8 +1810,8 @@ typedef struct sBSIM3model
#include "bsim3ext.h"
extern void BSIM3evaluate(double,double,double,BSIM3instance*,BSIM3model*,
double*,double*,double*, double*, double*, double*, double*,
double*, double*, double*, double*, double*, double*, double*,
double*,double*,double*, double*, double*, double*, double*,
double*, double*, double*, double*, double*, double*, double*,
double*, double*, double*, double*, CKTcircuit*);
extern int BSIM3debug(BSIM3model*, BSIM3instance*, CKTcircuit*, int);
extern int BSIM3checkModel(BSIM3model*, BSIM3instance*, CKTcircuit*);