You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1313 lines
43 KiB

/**** BSIM3v3.3.0, Released by Xuemei Xi 07/29/2005 ****/
/**********
* Copyright 2004 Regents of the University of California. All rights reserved.
* File: b3mask.c of BSIM3v3.3.0
* Author: 1995 Min-Chie Jeng and Mansun Chan.
* Author: 1997-1999 Weidong Liu.
* Author: 2001 Xuemei Xi
**********/
#include "ngspice/ngspice.h"
#include "ngspice/ifsim.h"
#include "ngspice/cktdefs.h"
#include "ngspice/devdefs.h"
#include "bsim3def.h"
#include "ngspice/sperror.h"
#include "ngspice/suffix.h"
int
BSIM3mAsk(
CKTcircuit *ckt,
GENmodel *inst,
int which,
IFvalue *value)
{
BSIM3model *model = (BSIM3model *)inst;
NG_IGNORE(ckt);
switch(which)
{ case BSIM3_MOD_MOBMOD:
value->iValue = model->BSIM3mobMod;
return(OK);
case BSIM3_MOD_PARAMCHK:
value->iValue = model->BSIM3paramChk;
return(OK);
case BSIM3_MOD_BINUNIT:
value->iValue = model->BSIM3binUnit;
return(OK);
case BSIM3_MOD_CAPMOD:
value->iValue = model->BSIM3capMod;
return(OK);
case BSIM3_MOD_NOIMOD:
value->iValue = model->BSIM3noiMod;
return(OK);
case BSIM3_MOD_NQSMOD:
value->iValue = model->BSIM3nqsMod;
return(OK);
case BSIM3_MOD_ACNQSMOD:
value->iValue = model->BSIM3acnqsMod;
return(OK);
case BSIM3_MOD_ACMMOD:
value->iValue = model->BSIM3acmMod;
return(OK);
case BSIM3_MOD_CALCACM:
value->iValue = model->BSIM3calcacm;
return(OK);
case BSIM3_MOD_VERSION :
value->sValue = model->BSIM3version;
return(OK);
case BSIM3_MOD_TOX :
value->rValue = model->BSIM3tox;
return(OK);
case BSIM3_MOD_TOXM :
value->rValue = model->BSIM3toxm;
return(OK);
case BSIM3_MOD_CDSC :
value->rValue = model->BSIM3cdsc;
return(OK);
case BSIM3_MOD_CDSCB :
value->rValue = model->BSIM3cdscb;
return(OK);
case BSIM3_MOD_CDSCD :
value->rValue = model->BSIM3cdscd;
return(OK);
case BSIM3_MOD_CIT :
value->rValue = model->BSIM3cit;
return(OK);
case BSIM3_MOD_NFACTOR :
value->rValue = model->BSIM3nfactor;
return(OK);
case BSIM3_MOD_XJ:
value->rValue = model->BSIM3xj;
return(OK);
case BSIM3_MOD_VSAT:
value->rValue = model->BSIM3vsat;
return(OK);
case BSIM3_MOD_AT:
value->rValue = model->BSIM3at;
return(OK);
case BSIM3_MOD_A0:
value->rValue = model->BSIM3a0;
return(OK);
case BSIM3_MOD_AGS:
value->rValue = model->BSIM3ags;
return(OK);
case BSIM3_MOD_A1:
value->rValue = model->BSIM3a1;
return(OK);
case BSIM3_MOD_A2:
value->rValue = model->BSIM3a2;
return(OK);
case BSIM3_MOD_KETA:
value->rValue = model->BSIM3keta;
return(OK);
case BSIM3_MOD_NSUB:
value->rValue = model->BSIM3nsub;
return(OK);
case BSIM3_MOD_NPEAK:
value->rValue = model->BSIM3npeak;
return(OK);
case BSIM3_MOD_NGATE:
value->rValue = model->BSIM3ngate;
return(OK);
case BSIM3_MOD_GAMMA1:
value->rValue = model->BSIM3gamma1;
return(OK);
case BSIM3_MOD_GAMMA2:
value->rValue = model->BSIM3gamma2;
return(OK);
case BSIM3_MOD_VBX:
value->rValue = model->BSIM3vbx;
return(OK);
case BSIM3_MOD_VBM:
value->rValue = model->BSIM3vbm;
return(OK);
case BSIM3_MOD_XT:
value->rValue = model->BSIM3xt;
return(OK);
case BSIM3_MOD_K1:
value->rValue = model->BSIM3k1;
return(OK);
case BSIM3_MOD_KT1:
value->rValue = model->BSIM3kt1;
return(OK);
case BSIM3_MOD_KT1L:
value->rValue = model->BSIM3kt1l;
return(OK);
case BSIM3_MOD_KT2 :
value->rValue = model->BSIM3kt2;
return(OK);
case BSIM3_MOD_K2 :
value->rValue = model->BSIM3k2;
return(OK);
case BSIM3_MOD_K3:
value->rValue = model->BSIM3k3;
return(OK);
case BSIM3_MOD_K3B:
value->rValue = model->BSIM3k3b;
return(OK);
case BSIM3_MOD_W0:
value->rValue = model->BSIM3w0;
return(OK);
case BSIM3_MOD_NLX:
value->rValue = model->BSIM3nlx;
return(OK);
case BSIM3_MOD_DVT0 :
value->rValue = model->BSIM3dvt0;
return(OK);
case BSIM3_MOD_DVT1 :
value->rValue = model->BSIM3dvt1;
return(OK);
case BSIM3_MOD_DVT2 :
value->rValue = model->BSIM3dvt2;
return(OK);
case BSIM3_MOD_DVT0W :
value->rValue = model->BSIM3dvt0w;
return(OK);
case BSIM3_MOD_DVT1W :
value->rValue = model->BSIM3dvt1w;
return(OK);
case BSIM3_MOD_DVT2W :
value->rValue = model->BSIM3dvt2w;
return(OK);
case BSIM3_MOD_DROUT :
value->rValue = model->BSIM3drout;
return(OK);
case BSIM3_MOD_DSUB :
value->rValue = model->BSIM3dsub;
return(OK);
case BSIM3_MOD_VTH0:
value->rValue = model->BSIM3vth0;
return(OK);
case BSIM3_MOD_UA:
value->rValue = model->BSIM3ua;
return(OK);
case BSIM3_MOD_UA1:
value->rValue = model->BSIM3ua1;
return(OK);
case BSIM3_MOD_UB:
value->rValue = model->BSIM3ub;
return(OK);
case BSIM3_MOD_UB1:
value->rValue = model->BSIM3ub1;
return(OK);
case BSIM3_MOD_UC:
value->rValue = model->BSIM3uc;
return(OK);
case BSIM3_MOD_UC1:
value->rValue = model->BSIM3uc1;
return(OK);
case BSIM3_MOD_U0:
value->rValue = model->BSIM3u0;
return(OK);
case BSIM3_MOD_UTE:
value->rValue = model->BSIM3ute;
return(OK);
case BSIM3_MOD_VOFF:
value->rValue = model->BSIM3voff;
return(OK);
case BSIM3_MOD_DELTA:
value->rValue = model->BSIM3delta;
return(OK);
case BSIM3_MOD_RDSW:
value->rValue = model->BSIM3rdsw;
return(OK);
case BSIM3_MOD_PRWG:
value->rValue = model->BSIM3prwg;
return(OK);
case BSIM3_MOD_PRWB:
value->rValue = model->BSIM3prwb;
return(OK);
case BSIM3_MOD_PRT:
value->rValue = model->BSIM3prt;
return(OK);
case BSIM3_MOD_ETA0:
value->rValue = model->BSIM3eta0;
return(OK);
case BSIM3_MOD_ETAB:
value->rValue = model->BSIM3etab;
return(OK);
case BSIM3_MOD_PCLM:
value->rValue = model->BSIM3pclm;
return(OK);
case BSIM3_MOD_PDIBL1:
value->rValue = model->BSIM3pdibl1;
return(OK);
case BSIM3_MOD_PDIBL2:
value->rValue = model->BSIM3pdibl2;
return(OK);
case BSIM3_MOD_PDIBLB:
value->rValue = model->BSIM3pdiblb;
return(OK);
case BSIM3_MOD_PSCBE1:
value->rValue = model->BSIM3pscbe1;
return(OK);
case BSIM3_MOD_PSCBE2:
value->rValue = model->BSIM3pscbe2;
return(OK);
case BSIM3_MOD_PVAG:
value->rValue = model->BSIM3pvag;
return(OK);
case BSIM3_MOD_WR:
value->rValue = model->BSIM3wr;
return(OK);
case BSIM3_MOD_DWG:
value->rValue = model->BSIM3dwg;
return(OK);
case BSIM3_MOD_DWB:
value->rValue = model->BSIM3dwb;
return(OK);
case BSIM3_MOD_B0:
value->rValue = model->BSIM3b0;
return(OK);
case BSIM3_MOD_B1:
value->rValue = model->BSIM3b1;
return(OK);
case BSIM3_MOD_ALPHA0:
value->rValue = model->BSIM3alpha0;
return(OK);
case BSIM3_MOD_ALPHA1:
value->rValue = model->BSIM3alpha1;
return(OK);
case BSIM3_MOD_BETA0:
value->rValue = model->BSIM3beta0;
return(OK);
case BSIM3_MOD_IJTH:
value->rValue = model->BSIM3ijth;
return(OK);
case BSIM3_MOD_VFB:
value->rValue = model->BSIM3vfb;
return(OK);
case BSIM3_MOD_ELM:
value->rValue = model->BSIM3elm;
return(OK);
case BSIM3_MOD_CGSL:
value->rValue = model->BSIM3cgsl;
return(OK);
case BSIM3_MOD_CGDL:
value->rValue = model->BSIM3cgdl;
return(OK);
case BSIM3_MOD_CKAPPA:
value->rValue = model->BSIM3ckappa;
return(OK);
case BSIM3_MOD_CF:
value->rValue = model->BSIM3cf;
return(OK);
case BSIM3_MOD_CLC:
value->rValue = model->BSIM3clc;
return(OK);
case BSIM3_MOD_CLE:
value->rValue = model->BSIM3cle;
return(OK);
case BSIM3_MOD_DWC:
value->rValue = model->BSIM3dwc;
return(OK);
case BSIM3_MOD_DLC:
value->rValue = model->BSIM3dlc;
return(OK);
case BSIM3_MOD_VFBCV:
value->rValue = model->BSIM3vfbcv;
return(OK);
case BSIM3_MOD_ACDE:
value->rValue = model->BSIM3acde;
return(OK);
case BSIM3_MOD_MOIN:
value->rValue = model->BSIM3moin;
return(OK);
case BSIM3_MOD_NOFF:
value->rValue = model->BSIM3noff;
return(OK);
case BSIM3_MOD_VOFFCV:
value->rValue = model->BSIM3voffcv;
return(OK);
case BSIM3_MOD_TCJ:
value->rValue = model->BSIM3tcj;
return(OK);
case BSIM3_MOD_TPB:
value->rValue = model->BSIM3tpb;
return(OK);
case BSIM3_MOD_TCJSW:
value->rValue = model->BSIM3tcjsw;
return(OK);
case BSIM3_MOD_TPBSW:
value->rValue = model->BSIM3tpbsw;
return(OK);
case BSIM3_MOD_TCJSWG:
value->rValue = model->BSIM3tcjswg;
return(OK);
case BSIM3_MOD_TPBSWG:
value->rValue = model->BSIM3tpbswg;
return(OK);
/* ACM model */
case BSIM3_MOD_HDIF:
value->rValue = model->BSIM3hdif;
return(OK);
case BSIM3_MOD_LDIF:
value->rValue = model->BSIM3ldif;
return(OK);
case BSIM3_MOD_LD:
value->rValue = model->BSIM3ld;
return(OK);
case BSIM3_MOD_RD:
value->rValue = model->BSIM3rd;
return(OK);
case BSIM3_MOD_RS:
value->rValue = model->BSIM3rs;
return(OK);
case BSIM3_MOD_RDC:
value->rValue = model->BSIM3rdc;
return(OK);
case BSIM3_MOD_RSC:
value->rValue = model->BSIM3rsc;
return(OK);
case BSIM3_MOD_WMLT:
value->rValue = model->BSIM3wmlt;
return(OK);
/* Length dependence */
case BSIM3_MOD_LCDSC :
value->rValue = model->BSIM3lcdsc;
return(OK);
case BSIM3_MOD_LCDSCB :
value->rValue = model->BSIM3lcdscb;
return(OK);
case BSIM3_MOD_LCDSCD :
value->rValue = model->BSIM3lcdscd;
return(OK);
case BSIM3_MOD_LCIT :
value->rValue = model->BSIM3lcit;
return(OK);
case BSIM3_MOD_LNFACTOR :
value->rValue = model->BSIM3lnfactor;
return(OK);
case BSIM3_MOD_LXJ:
value->rValue = model->BSIM3lxj;
return(OK);
case BSIM3_MOD_LVSAT:
value->rValue = model->BSIM3lvsat;
return(OK);
case BSIM3_MOD_LAT:
value->rValue = model->BSIM3lat;
return(OK);
case BSIM3_MOD_LA0:
value->rValue = model->BSIM3la0;
return(OK);
case BSIM3_MOD_LAGS:
value->rValue = model->BSIM3lags;
return(OK);
case BSIM3_MOD_LA1:
value->rValue = model->BSIM3la1;
return(OK);
case BSIM3_MOD_LA2:
value->rValue = model->BSIM3la2;
return(OK);
case BSIM3_MOD_LKETA:
value->rValue = model->BSIM3lketa;
return(OK);
case BSIM3_MOD_LNSUB:
value->rValue = model->BSIM3lnsub;
return(OK);
case BSIM3_MOD_LNPEAK:
value->rValue = model->BSIM3lnpeak;
return(OK);
case BSIM3_MOD_LNGATE:
value->rValue = model->BSIM3lngate;
return(OK);
case BSIM3_MOD_LGAMMA1:
value->rValue = model->BSIM3lgamma1;
return(OK);
case BSIM3_MOD_LGAMMA2:
value->rValue = model->BSIM3lgamma2;
return(OK);
case BSIM3_MOD_LVBX:
value->rValue = model->BSIM3lvbx;
return(OK);
case BSIM3_MOD_LVBM:
value->rValue = model->BSIM3lvbm;
return(OK);
case BSIM3_MOD_LXT:
value->rValue = model->BSIM3lxt;
return(OK);
case BSIM3_MOD_LK1:
value->rValue = model->BSIM3lk1;
return(OK);
case BSIM3_MOD_LKT1:
value->rValue = model->BSIM3lkt1;
return(OK);
case BSIM3_MOD_LKT1L:
value->rValue = model->BSIM3lkt1l;
return(OK);
case BSIM3_MOD_LKT2 :
value->rValue = model->BSIM3lkt2;
return(OK);
case BSIM3_MOD_LK2 :
value->rValue = model->BSIM3lk2;
return(OK);
case BSIM3_MOD_LK3:
value->rValue = model->BSIM3lk3;
return(OK);
case BSIM3_MOD_LK3B:
value->rValue = model->BSIM3lk3b;
return(OK);
case BSIM3_MOD_LW0:
value->rValue = model->BSIM3lw0;
return(OK);
case BSIM3_MOD_LNLX:
value->rValue = model->BSIM3lnlx;
return(OK);
case BSIM3_MOD_LDVT0:
value->rValue = model->BSIM3ldvt0;
return(OK);
case BSIM3_MOD_LDVT1 :
value->rValue = model->BSIM3ldvt1;
return(OK);
case BSIM3_MOD_LDVT2 :
value->rValue = model->BSIM3ldvt2;
return(OK);
case BSIM3_MOD_LDVT0W :
value->rValue = model->BSIM3ldvt0w;
return(OK);
case BSIM3_MOD_LDVT1W :
value->rValue = model->BSIM3ldvt1w;
return(OK);
case BSIM3_MOD_LDVT2W :
value->rValue = model->BSIM3ldvt2w;
return(OK);
case BSIM3_MOD_LDROUT :
value->rValue = model->BSIM3ldrout;
return(OK);
case BSIM3_MOD_LDSUB :
value->rValue = model->BSIM3ldsub;
return(OK);
case BSIM3_MOD_LVTH0:
value->rValue = model->BSIM3lvth0;
return(OK);
case BSIM3_MOD_LUA:
value->rValue = model->BSIM3lua;
return(OK);
case BSIM3_MOD_LUA1:
value->rValue = model->BSIM3lua1;
return(OK);
case BSIM3_MOD_LUB:
value->rValue = model->BSIM3lub;
return(OK);
case BSIM3_MOD_LUB1:
value->rValue = model->BSIM3lub1;
return(OK);
case BSIM3_MOD_LUC:
value->rValue = model->BSIM3luc;
return(OK);
case BSIM3_MOD_LUC1:
value->rValue = model->BSIM3luc1;
return(OK);
case BSIM3_MOD_LU0:
value->rValue = model->BSIM3lu0;
return(OK);
case BSIM3_MOD_LUTE:
value->rValue = model->BSIM3lute;
return(OK);
case BSIM3_MOD_LVOFF:
value->rValue = model->BSIM3lvoff;
return(OK);
case BSIM3_MOD_LDELTA:
value->rValue = model->BSIM3ldelta;
return(OK);
case BSIM3_MOD_LRDSW:
value->rValue = model->BSIM3lrdsw;
return(OK);
case BSIM3_MOD_LPRWB:
value->rValue = model->BSIM3lprwb;
return(OK);
case BSIM3_MOD_LPRWG:
value->rValue = model->BSIM3lprwg;
return(OK);
case BSIM3_MOD_LPRT:
value->rValue = model->BSIM3lprt;
return(OK);
case BSIM3_MOD_LETA0:
value->rValue = model->BSIM3leta0;
return(OK);
case BSIM3_MOD_LETAB:
value->rValue = model->BSIM3letab;
return(OK);
case BSIM3_MOD_LPCLM:
value->rValue = model->BSIM3lpclm;
return(OK);
case BSIM3_MOD_LPDIBL1:
value->rValue = model->BSIM3lpdibl1;
return(OK);
case BSIM3_MOD_LPDIBL2:
value->rValue = model->BSIM3lpdibl2;
return(OK);
case BSIM3_MOD_LPDIBLB:
value->rValue = model->BSIM3lpdiblb;
return(OK);
case BSIM3_MOD_LPSCBE1:
value->rValue = model->BSIM3lpscbe1;
return(OK);
case BSIM3_MOD_LPSCBE2:
value->rValue = model->BSIM3lpscbe2;
return(OK);
case BSIM3_MOD_LPVAG:
value->rValue = model->BSIM3lpvag;
return(OK);
case BSIM3_MOD_LWR:
value->rValue = model->BSIM3lwr;
return(OK);
case BSIM3_MOD_LDWG:
value->rValue = model->BSIM3ldwg;
return(OK);
case BSIM3_MOD_LDWB:
value->rValue = model->BSIM3ldwb;
return(OK);
case BSIM3_MOD_LB0:
value->rValue = model->BSIM3lb0;
return(OK);
case BSIM3_MOD_LB1:
value->rValue = model->BSIM3lb1;
return(OK);
case BSIM3_MOD_LALPHA0:
value->rValue = model->BSIM3lalpha0;
return(OK);
case BSIM3_MOD_LALPHA1:
value->rValue = model->BSIM3lalpha1;
return(OK);
case BSIM3_MOD_LBETA0:
value->rValue = model->BSIM3lbeta0;
return(OK);
case BSIM3_MOD_LVFB:
value->rValue = model->BSIM3lvfb;
return(OK);
case BSIM3_MOD_LELM:
value->rValue = model->BSIM3lelm;
return(OK);
case BSIM3_MOD_LCGSL:
value->rValue = model->BSIM3lcgsl;
return(OK);
case BSIM3_MOD_LCGDL:
value->rValue = model->BSIM3lcgdl;
return(OK);
case BSIM3_MOD_LCKAPPA:
value->rValue = model->BSIM3lckappa;
return(OK);
case BSIM3_MOD_LCF:
value->rValue = model->BSIM3lcf;
return(OK);
case BSIM3_MOD_LCLC:
value->rValue = model->BSIM3lclc;
return(OK);
case BSIM3_MOD_LCLE:
value->rValue = model->BSIM3lcle;
return(OK);
case BSIM3_MOD_LVFBCV:
value->rValue = model->BSIM3lvfbcv;
return(OK);
case BSIM3_MOD_LACDE:
value->rValue = model->BSIM3lacde;
return(OK);
case BSIM3_MOD_LMOIN:
value->rValue = model->BSIM3lmoin;
return(OK);
case BSIM3_MOD_LNOFF:
value->rValue = model->BSIM3lnoff;
return(OK);
case BSIM3_MOD_LVOFFCV:
value->rValue = model->BSIM3lvoffcv;
return(OK);
/* Width dependence */
case BSIM3_MOD_WCDSC :
value->rValue = model->BSIM3wcdsc;
return(OK);
case BSIM3_MOD_WCDSCB :
value->rValue = model->BSIM3wcdscb;
return(OK);
case BSIM3_MOD_WCDSCD :
value->rValue = model->BSIM3wcdscd;
return(OK);
case BSIM3_MOD_WCIT :
value->rValue = model->BSIM3wcit;
return(OK);
case BSIM3_MOD_WNFACTOR :
value->rValue = model->BSIM3wnfactor;
return(OK);
case BSIM3_MOD_WXJ:
value->rValue = model->BSIM3wxj;
return(OK);
case BSIM3_MOD_WVSAT:
value->rValue = model->BSIM3wvsat;
return(OK);
case BSIM3_MOD_WAT:
value->rValue = model->BSIM3wat;
return(OK);
case BSIM3_MOD_WA0:
value->rValue = model->BSIM3wa0;
return(OK);
case BSIM3_MOD_WAGS:
value->rValue = model->BSIM3wags;
return(OK);
case BSIM3_MOD_WA1:
value->rValue = model->BSIM3wa1;
return(OK);
case BSIM3_MOD_WA2:
value->rValue = model->BSIM3wa2;
return(OK);
case BSIM3_MOD_WKETA:
value->rValue = model->BSIM3wketa;
return(OK);
case BSIM3_MOD_WNSUB:
value->rValue = model->BSIM3wnsub;
return(OK);
case BSIM3_MOD_WNPEAK:
value->rValue = model->BSIM3wnpeak;
return(OK);
case BSIM3_MOD_WNGATE:
value->rValue = model->BSIM3wngate;
return(OK);
case BSIM3_MOD_WGAMMA1:
value->rValue = model->BSIM3wgamma1;
return(OK);
case BSIM3_MOD_WGAMMA2:
value->rValue = model->BSIM3wgamma2;
return(OK);
case BSIM3_MOD_WVBX:
value->rValue = model->BSIM3wvbx;
return(OK);
case BSIM3_MOD_WVBM:
value->rValue = model->BSIM3wvbm;
return(OK);
case BSIM3_MOD_WXT:
value->rValue = model->BSIM3wxt;
return(OK);
case BSIM3_MOD_WK1:
value->rValue = model->BSIM3wk1;
return(OK);
case BSIM3_MOD_WKT1:
value->rValue = model->BSIM3wkt1;
return(OK);
case BSIM3_MOD_WKT1L:
value->rValue = model->BSIM3wkt1l;
return(OK);
case BSIM3_MOD_WKT2 :
value->rValue = model->BSIM3wkt2;
return(OK);
case BSIM3_MOD_WK2 :
value->rValue = model->BSIM3wk2;
return(OK);
case BSIM3_MOD_WK3:
value->rValue = model->BSIM3wk3;
return(OK);
case BSIM3_MOD_WK3B:
value->rValue = model->BSIM3wk3b;
return(OK);
case BSIM3_MOD_WW0:
value->rValue = model->BSIM3ww0;
return(OK);
case BSIM3_MOD_WNLX:
value->rValue = model->BSIM3wnlx;
return(OK);
case BSIM3_MOD_WDVT0:
value->rValue = model->BSIM3wdvt0;
return(OK);
case BSIM3_MOD_WDVT1 :
value->rValue = model->BSIM3wdvt1;
return(OK);
case BSIM3_MOD_WDVT2 :
value->rValue = model->BSIM3wdvt2;
return(OK);
case BSIM3_MOD_WDVT0W :
value->rValue = model->BSIM3wdvt0w;
return(OK);
case BSIM3_MOD_WDVT1W :
value->rValue = model->BSIM3wdvt1w;
return(OK);
case BSIM3_MOD_WDVT2W :
value->rValue = model->BSIM3wdvt2w;
return(OK);
case BSIM3_MOD_WDROUT :
value->rValue = model->BSIM3wdrout;
return(OK);
case BSIM3_MOD_WDSUB :
value->rValue = model->BSIM3wdsub;
return(OK);
case BSIM3_MOD_WVTH0:
value->rValue = model->BSIM3wvth0;
return(OK);
case BSIM3_MOD_WUA:
value->rValue = model->BSIM3wua;
return(OK);
case BSIM3_MOD_WUA1:
value->rValue = model->BSIM3wua1;
return(OK);
case BSIM3_MOD_WUB:
value->rValue = model->BSIM3wub;
return(OK);
case BSIM3_MOD_WUB1:
value->rValue = model->BSIM3wub1;
return(OK);
case BSIM3_MOD_WUC:
value->rValue = model->BSIM3wuc;
return(OK);
case BSIM3_MOD_WUC1:
value->rValue = model->BSIM3wuc1;
return(OK);
case BSIM3_MOD_WU0:
value->rValue = model->BSIM3wu0;
return(OK);
case BSIM3_MOD_WUTE:
value->rValue = model->BSIM3wute;
return(OK);
case BSIM3_MOD_WVOFF:
value->rValue = model->BSIM3wvoff;
return(OK);
case BSIM3_MOD_WDELTA:
value->rValue = model->BSIM3wdelta;
return(OK);
case BSIM3_MOD_WRDSW:
value->rValue = model->BSIM3wrdsw;
return(OK);
case BSIM3_MOD_WPRWB:
value->rValue = model->BSIM3wprwb;
return(OK);
case BSIM3_MOD_WPRWG:
value->rValue = model->BSIM3wprwg;
return(OK);
case BSIM3_MOD_WPRT:
value->rValue = model->BSIM3wprt;
return(OK);
case BSIM3_MOD_WETA0:
value->rValue = model->BSIM3weta0;
return(OK);
case BSIM3_MOD_WETAB:
value->rValue = model->BSIM3wetab;
return(OK);
case BSIM3_MOD_WPCLM:
value->rValue = model->BSIM3wpclm;
return(OK);
case BSIM3_MOD_WPDIBL1:
value->rValue = model->BSIM3wpdibl1;
return(OK);
case BSIM3_MOD_WPDIBL2:
value->rValue = model->BSIM3wpdibl2;
return(OK);
case BSIM3_MOD_WPDIBLB:
value->rValue = model->BSIM3wpdiblb;
return(OK);
case BSIM3_MOD_WPSCBE1:
value->rValue = model->BSIM3wpscbe1;
return(OK);
case BSIM3_MOD_WPSCBE2:
value->rValue = model->BSIM3wpscbe2;
return(OK);
case BSIM3_MOD_WPVAG:
value->rValue = model->BSIM3wpvag;
return(OK);
case BSIM3_MOD_WWR:
value->rValue = model->BSIM3wwr;
return(OK);
case BSIM3_MOD_WDWG:
value->rValue = model->BSIM3wdwg;
return(OK);
case BSIM3_MOD_WDWB:
value->rValue = model->BSIM3wdwb;
return(OK);
case BSIM3_MOD_WB0:
value->rValue = model->BSIM3wb0;
return(OK);
case BSIM3_MOD_WB1:
value->rValue = model->BSIM3wb1;
return(OK);
case BSIM3_MOD_WALPHA0:
value->rValue = model->BSIM3walpha0;
return(OK);
case BSIM3_MOD_WALPHA1:
value->rValue = model->BSIM3walpha1;
return(OK);
case BSIM3_MOD_WBETA0:
value->rValue = model->BSIM3wbeta0;
return(OK);
case BSIM3_MOD_WVFB:
value->rValue = model->BSIM3wvfb;
return(OK);
case BSIM3_MOD_WELM:
value->rValue = model->BSIM3welm;
return(OK);
case BSIM3_MOD_WCGSL:
value->rValue = model->BSIM3wcgsl;
return(OK);
case BSIM3_MOD_WCGDL:
value->rValue = model->BSIM3wcgdl;
return(OK);
case BSIM3_MOD_WCKAPPA:
value->rValue = model->BSIM3wckappa;
return(OK);
case BSIM3_MOD_WCF:
value->rValue = model->BSIM3wcf;
return(OK);
case BSIM3_MOD_WCLC:
value->rValue = model->BSIM3wclc;
return(OK);
case BSIM3_MOD_WCLE:
value->rValue = model->BSIM3wcle;
return(OK);
case BSIM3_MOD_WVFBCV:
value->rValue = model->BSIM3wvfbcv;
return(OK);
case BSIM3_MOD_WACDE:
value->rValue = model->BSIM3wacde;
return(OK);
case BSIM3_MOD_WMOIN:
value->rValue = model->BSIM3wmoin;
return(OK);
case BSIM3_MOD_WNOFF:
value->rValue = model->BSIM3wnoff;
return(OK);
case BSIM3_MOD_WVOFFCV:
value->rValue = model->BSIM3wvoffcv;
return(OK);
/* Cross-term dependence */
case BSIM3_MOD_PCDSC :
value->rValue = model->BSIM3pcdsc;
return(OK);
case BSIM3_MOD_PCDSCB :
value->rValue = model->BSIM3pcdscb;
return(OK);
case BSIM3_MOD_PCDSCD :
value->rValue = model->BSIM3pcdscd;
return(OK);
case BSIM3_MOD_PCIT :
value->rValue = model->BSIM3pcit;
return(OK);
case BSIM3_MOD_PNFACTOR :
value->rValue = model->BSIM3pnfactor;
return(OK);
case BSIM3_MOD_PXJ:
value->rValue = model->BSIM3pxj;
return(OK);
case BSIM3_MOD_PVSAT:
value->rValue = model->BSIM3pvsat;
return(OK);
case BSIM3_MOD_PAT:
value->rValue = model->BSIM3pat;
return(OK);
case BSIM3_MOD_PA0:
value->rValue = model->BSIM3pa0;
return(OK);
case BSIM3_MOD_PAGS:
value->rValue = model->BSIM3pags;
return(OK);
case BSIM3_MOD_PA1:
value->rValue = model->BSIM3pa1;
return(OK);
case BSIM3_MOD_PA2:
value->rValue = model->BSIM3pa2;
return(OK);
case BSIM3_MOD_PKETA:
value->rValue = model->BSIM3pketa;
return(OK);
case BSIM3_MOD_PNSUB:
value->rValue = model->BSIM3pnsub;
return(OK);
case BSIM3_MOD_PNPEAK:
value->rValue = model->BSIM3pnpeak;
return(OK);
case BSIM3_MOD_PNGATE:
value->rValue = model->BSIM3pngate;
return(OK);
case BSIM3_MOD_PGAMMA1:
value->rValue = model->BSIM3pgamma1;
return(OK);
case BSIM3_MOD_PGAMMA2:
value->rValue = model->BSIM3pgamma2;
return(OK);
case BSIM3_MOD_PVBX:
value->rValue = model->BSIM3pvbx;
return(OK);
case BSIM3_MOD_PVBM:
value->rValue = model->BSIM3pvbm;
return(OK);
case BSIM3_MOD_PXT:
value->rValue = model->BSIM3pxt;
return(OK);
case BSIM3_MOD_PK1:
value->rValue = model->BSIM3pk1;
return(OK);
case BSIM3_MOD_PKT1:
value->rValue = model->BSIM3pkt1;
return(OK);
case BSIM3_MOD_PKT1L:
value->rValue = model->BSIM3pkt1l;
return(OK);
case BSIM3_MOD_PKT2 :
value->rValue = model->BSIM3pkt2;
return(OK);
case BSIM3_MOD_PK2 :
value->rValue = model->BSIM3pk2;
return(OK);
case BSIM3_MOD_PK3:
value->rValue = model->BSIM3pk3;
return(OK);
case BSIM3_MOD_PK3B:
value->rValue = model->BSIM3pk3b;
return(OK);
case BSIM3_MOD_PW0:
value->rValue = model->BSIM3pw0;
return(OK);
case BSIM3_MOD_PNLX:
value->rValue = model->BSIM3pnlx;
return(OK);
case BSIM3_MOD_PDVT0 :
value->rValue = model->BSIM3pdvt0;
return(OK);
case BSIM3_MOD_PDVT1 :
value->rValue = model->BSIM3pdvt1;
return(OK);
case BSIM3_MOD_PDVT2 :
value->rValue = model->BSIM3pdvt2;
return(OK);
case BSIM3_MOD_PDVT0W :
value->rValue = model->BSIM3pdvt0w;
return(OK);
case BSIM3_MOD_PDVT1W :
value->rValue = model->BSIM3pdvt1w;
return(OK);
case BSIM3_MOD_PDVT2W :
value->rValue = model->BSIM3pdvt2w;
return(OK);
case BSIM3_MOD_PDROUT :
value->rValue = model->BSIM3pdrout;
return(OK);
case BSIM3_MOD_PDSUB :
value->rValue = model->BSIM3pdsub;
return(OK);
case BSIM3_MOD_PVTH0:
value->rValue = model->BSIM3pvth0;
return(OK);
case BSIM3_MOD_PUA:
value->rValue = model->BSIM3pua;
return(OK);
case BSIM3_MOD_PUA1:
value->rValue = model->BSIM3pua1;
return(OK);
case BSIM3_MOD_PUB:
value->rValue = model->BSIM3pub;
return(OK);
case BSIM3_MOD_PUB1:
value->rValue = model->BSIM3pub1;
return(OK);
case BSIM3_MOD_PUC:
value->rValue = model->BSIM3puc;
return(OK);
case BSIM3_MOD_PUC1:
value->rValue = model->BSIM3puc1;
return(OK);
case BSIM3_MOD_PU0:
value->rValue = model->BSIM3pu0;
return(OK);
case BSIM3_MOD_PUTE:
value->rValue = model->BSIM3pute;
return(OK);
case BSIM3_MOD_PVOFF:
value->rValue = model->BSIM3pvoff;
return(OK);
case BSIM3_MOD_PDELTA:
value->rValue = model->BSIM3pdelta;
return(OK);
case BSIM3_MOD_PRDSW:
value->rValue = model->BSIM3prdsw;
return(OK);
case BSIM3_MOD_PPRWB:
value->rValue = model->BSIM3pprwb;
return(OK);
case BSIM3_MOD_PPRWG:
value->rValue = model->BSIM3pprwg;
return(OK);
case BSIM3_MOD_PPRT:
value->rValue = model->BSIM3pprt;
return(OK);
case BSIM3_MOD_PETA0:
value->rValue = model->BSIM3peta0;
return(OK);
case BSIM3_MOD_PETAB:
value->rValue = model->BSIM3petab;
return(OK);
case BSIM3_MOD_PPCLM:
value->rValue = model->BSIM3ppclm;
return(OK);
case BSIM3_MOD_PPDIBL1:
value->rValue = model->BSIM3ppdibl1;
return(OK);
case BSIM3_MOD_PPDIBL2:
value->rValue = model->BSIM3ppdibl2;
return(OK);
case BSIM3_MOD_PPDIBLB:
value->rValue = model->BSIM3ppdiblb;
return(OK);
case BSIM3_MOD_PPSCBE1:
value->rValue = model->BSIM3ppscbe1;
return(OK);
case BSIM3_MOD_PPSCBE2:
value->rValue = model->BSIM3ppscbe2;
return(OK);
case BSIM3_MOD_PPVAG:
value->rValue = model->BSIM3ppvag;
return(OK);
case BSIM3_MOD_PWR:
value->rValue = model->BSIM3pwr;
return(OK);
case BSIM3_MOD_PDWG:
value->rValue = model->BSIM3pdwg;
return(OK);
case BSIM3_MOD_PDWB:
value->rValue = model->BSIM3pdwb;
return(OK);
case BSIM3_MOD_PB0:
value->rValue = model->BSIM3pb0;
return(OK);
case BSIM3_MOD_PB1:
value->rValue = model->BSIM3pb1;
return(OK);
case BSIM3_MOD_PALPHA0:
value->rValue = model->BSIM3palpha0;
return(OK);
case BSIM3_MOD_PALPHA1:
value->rValue = model->BSIM3palpha1;
return(OK);
case BSIM3_MOD_PBETA0:
value->rValue = model->BSIM3pbeta0;
return(OK);
case BSIM3_MOD_PVFB:
value->rValue = model->BSIM3pvfb;
return(OK);
case BSIM3_MOD_PELM:
value->rValue = model->BSIM3pelm;
return(OK);
case BSIM3_MOD_PCGSL:
value->rValue = model->BSIM3pcgsl;
return(OK);
case BSIM3_MOD_PCGDL:
value->rValue = model->BSIM3pcgdl;
return(OK);
case BSIM3_MOD_PCKAPPA:
value->rValue = model->BSIM3pckappa;
return(OK);
case BSIM3_MOD_PCF:
value->rValue = model->BSIM3pcf;
return(OK);
case BSIM3_MOD_PCLC:
value->rValue = model->BSIM3pclc;
return(OK);
case BSIM3_MOD_PCLE:
value->rValue = model->BSIM3pcle;
return(OK);
case BSIM3_MOD_PVFBCV:
value->rValue = model->BSIM3pvfbcv;
return(OK);
case BSIM3_MOD_PACDE:
value->rValue = model->BSIM3pacde;
return(OK);
case BSIM3_MOD_PMOIN:
value->rValue = model->BSIM3pmoin;
return(OK);
case BSIM3_MOD_PNOFF:
value->rValue = model->BSIM3pnoff;
return(OK);
case BSIM3_MOD_PVOFFCV:
value->rValue = model->BSIM3pvoffcv;
return(OK);
case BSIM3_MOD_TNOM :
value->rValue = model->BSIM3tnom;
return(OK);
case BSIM3_MOD_CGSO:
value->rValue = model->BSIM3cgso;
return(OK);
case BSIM3_MOD_CGDO:
value->rValue = model->BSIM3cgdo;
return(OK);
case BSIM3_MOD_CGBO:
value->rValue = model->BSIM3cgbo;
return(OK);
case BSIM3_MOD_XPART:
value->rValue = model->BSIM3xpart;
return(OK);
case BSIM3_MOD_RSH:
value->rValue = model->BSIM3sheetResistance;
return(OK);
case BSIM3_MOD_JS:
value->rValue = model->BSIM3jctSatCurDensity;
return(OK);
case BSIM3_MOD_JSW:
value->rValue = model->BSIM3jctSidewallSatCurDensity;
return(OK);
case BSIM3_MOD_PB:
value->rValue = model->BSIM3bulkJctPotential;
return(OK);
case BSIM3_MOD_MJ:
value->rValue = model->BSIM3bulkJctBotGradingCoeff;
return(OK);
case BSIM3_MOD_PBSW:
value->rValue = model->BSIM3sidewallJctPotential;
return(OK);
case BSIM3_MOD_MJSW:
value->rValue = model->BSIM3bulkJctSideGradingCoeff;
return(OK);
case BSIM3_MOD_CJ:
value->rValue = model->BSIM3unitAreaJctCap;
return(OK);
case BSIM3_MOD_CJSW:
value->rValue = model->BSIM3unitLengthSidewallJctCap;
return(OK);
case BSIM3_MOD_PBSWG:
value->rValue = model->BSIM3GatesidewallJctPotential;
return(OK);
case BSIM3_MOD_MJSWG:
value->rValue = model->BSIM3bulkJctGateSideGradingCoeff;
return(OK);
case BSIM3_MOD_CJSWG:
value->rValue = model->BSIM3unitLengthGateSidewallJctCap;
return(OK);
case BSIM3_MOD_NJ:
value->rValue = model->BSIM3jctEmissionCoeff;
return(OK);
case BSIM3_MOD_XTI:
value->rValue = model->BSIM3jctTempExponent;
return(OK);
case BSIM3_MOD_LINTNOI:
value->rValue = model->BSIM3lintnoi;
return(OK);
case BSIM3_MOD_LINT:
value->rValue = model->BSIM3Lint;
return(OK);
case BSIM3_MOD_LL:
value->rValue = model->BSIM3Ll;
return(OK);
case BSIM3_MOD_LLC:
value->rValue = model->BSIM3Llc;
return(OK);
case BSIM3_MOD_LLN:
value->rValue = model->BSIM3Lln;
return(OK);
case BSIM3_MOD_LW:
value->rValue = model->BSIM3Lw;
return(OK);
case BSIM3_MOD_LWC:
value->rValue = model->BSIM3Lwc;
return(OK);
case BSIM3_MOD_LWN:
value->rValue = model->BSIM3Lwn;
return(OK);
case BSIM3_MOD_LWL:
value->rValue = model->BSIM3Lwl;
return(OK);
case BSIM3_MOD_LWLC:
value->rValue = model->BSIM3Lwlc;
return(OK);
case BSIM3_MOD_LMIN:
value->rValue = model->BSIM3Lmin;
return(OK);
case BSIM3_MOD_LMAX:
value->rValue = model->BSIM3Lmax;
return(OK);
case BSIM3_MOD_WINT:
value->rValue = model->BSIM3Wint;
return(OK);
case BSIM3_MOD_WL:
value->rValue = model->BSIM3Wl;
return(OK);
case BSIM3_MOD_WLC:
value->rValue = model->BSIM3Wlc;
return(OK);
case BSIM3_MOD_WLN:
value->rValue = model->BSIM3Wln;
return(OK);
case BSIM3_MOD_WW:
value->rValue = model->BSIM3Ww;
return(OK);
case BSIM3_MOD_WWC:
value->rValue = model->BSIM3Wwc;
return(OK);
case BSIM3_MOD_WWN:
value->rValue = model->BSIM3Wwn;
return(OK);
case BSIM3_MOD_WWL:
value->rValue = model->BSIM3Wwl;
return(OK);
case BSIM3_MOD_WWLC:
value->rValue = model->BSIM3Wwlc;
return(OK);
case BSIM3_MOD_WMIN:
value->rValue = model->BSIM3Wmin;
return(OK);
case BSIM3_MOD_WMAX:
value->rValue = model->BSIM3Wmax;
return(OK);
case BSIM3_MOD_XL:
value->rValue = model->BSIM3xl;
return(OK);
case BSIM3_MOD_XW:
value->rValue = model->BSIM3xw;
return(OK);
case BSIM3_MOD_NOIA:
value->rValue = model->BSIM3oxideTrapDensityA;
return(OK);
case BSIM3_MOD_NOIB:
value->rValue = model->BSIM3oxideTrapDensityB;
return(OK);
case BSIM3_MOD_NOIC:
value->rValue = model->BSIM3oxideTrapDensityC;
return(OK);
case BSIM3_MOD_EM:
value->rValue = model->BSIM3em;
return(OK);
case BSIM3_MOD_EF:
value->rValue = model->BSIM3ef;
return(OK);
case BSIM3_MOD_AF:
value->rValue = model->BSIM3af;
return(OK);
case BSIM3_MOD_KF:
value->rValue = model->BSIM3kf;
return(OK);
case BSIM3_MOD_VGS_MAX:
value->rValue = model->BSIM3vgsMax;
return(OK);
case BSIM3_MOD_VGD_MAX:
value->rValue = model->BSIM3vgdMax;
return(OK);
case BSIM3_MOD_VGB_MAX:
value->rValue = model->BSIM3vgbMax;
return(OK);
case BSIM3_MOD_VDS_MAX:
value->rValue = model->BSIM3vdsMax;
return(OK);
case BSIM3_MOD_VBS_MAX:
value->rValue = model->BSIM3vbsMax;
return(OK);
case BSIM3_MOD_VBD_MAX:
value->rValue = model->BSIM3vbdMax;
return(OK);
default:
return(E_BADPARM);
}
/* NOTREACHED */
}