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
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 */
|
|
}
|
|
|
|
|
|
|