bsim3def.h
来自「ngspice又一个电子CAD仿真软件代码.功能更全」· C头文件 代码 · 共 1,811 行 · 第 1/4 页
H
1,811 行
/**********Copyright 2001 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.Author: 1997-1999 Weidong Liu.Author: 2001 Xuemei XiModified by Paolo Nenzi 2002 and Dietmar Warning 2003File: bsim3def.h**********/#ifndef BSIM3#define BSIM3#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sBSIM3instance{ struct sBSIM3model *BSIM3modPtr; struct sBSIM3instance *BSIM3nextInstance; IFuid BSIM3name; int BSIM3owner; /* number of owner process */ int BSIM3states; /* index into state table for this device */ int BSIM3dNode; int BSIM3gNode; int BSIM3sNode; int BSIM3bNode; int BSIM3dNodePrime; int BSIM3sNodePrime; int BSIM3qNode; /* MCJ */ /* MCJ */ double BSIM3ueff; double BSIM3thetavth; double BSIM3von; double BSIM3vdsat; double BSIM3cgdo; double BSIM3cgso; double BSIM3vjsm; double BSIM3IsEvjsm; double BSIM3vjdm; double BSIM3IsEvjdm; double BSIM3l; double BSIM3w; double BSIM3m; double BSIM3drainArea; double BSIM3sourceArea; double BSIM3drainSquares; double BSIM3sourceSquares; double BSIM3drainPerimeter; double BSIM3sourcePerimeter; double BSIM3sourceConductance; double BSIM3drainConductance; double BSIM3icVBS; double BSIM3icVDS; double BSIM3icVGS; int BSIM3off; int BSIM3mode; int BSIM3nqsMod; /* OP point */ double BSIM3qinv; double BSIM3cd; double BSIM3cbs; double BSIM3cbd; double BSIM3csub; double BSIM3gm; double BSIM3gds; double BSIM3gmbs; double BSIM3gbd; double BSIM3gbs; double BSIM3gbbs; double BSIM3gbgs; double BSIM3gbds; double BSIM3cggb; double BSIM3cgdb; double BSIM3cgsb; double BSIM3cbgb; double BSIM3cbdb; double BSIM3cbsb; double BSIM3cdgb; double BSIM3cddb; double BSIM3cdsb; double BSIM3capbd; double BSIM3capbs; double BSIM3cqgb; double BSIM3cqdb; double BSIM3cqsb; double BSIM3cqbb; double BSIM3qgate; double BSIM3qbulk; double BSIM3qdrn; double BSIM3gtau; double BSIM3gtg; double BSIM3gtd; double BSIM3gts; double BSIM3gtb; double BSIM3rds; /* Noise bugfix */ double BSIM3Vgsteff; double BSIM3Vdseff; double BSIM3Abulk; double BSIM3AbovVgst2Vtm; struct bsim3SizeDependParam *pParam; unsigned BSIM3lGiven :1; unsigned BSIM3wGiven :1; unsigned BSIM3mGiven :1; unsigned BSIM3drainAreaGiven :1; unsigned BSIM3sourceAreaGiven :1; unsigned BSIM3drainSquaresGiven :1; unsigned BSIM3sourceSquaresGiven :1; unsigned BSIM3drainPerimeterGiven :1; unsigned BSIM3sourcePerimeterGiven :1; unsigned BSIM3dNodePrimeSet :1; unsigned BSIM3sNodePrimeSet :1; unsigned BSIM3icVBSGiven :1; unsigned BSIM3icVDSGiven :1; unsigned BSIM3icVGSGiven :1; unsigned BSIM3nqsModGiven :1; double *BSIM3DdPtr; double *BSIM3GgPtr; double *BSIM3SsPtr; double *BSIM3BbPtr; double *BSIM3DPdpPtr; double *BSIM3SPspPtr; double *BSIM3DdpPtr; double *BSIM3GbPtr; double *BSIM3GdpPtr; double *BSIM3GspPtr; double *BSIM3SspPtr; double *BSIM3BdpPtr; double *BSIM3BspPtr; double *BSIM3DPspPtr; double *BSIM3DPdPtr; double *BSIM3BgPtr; double *BSIM3DPgPtr; double *BSIM3SPgPtr; double *BSIM3SPsPtr; double *BSIM3DPbPtr; double *BSIM3SPbPtr; double *BSIM3SPdpPtr; double *BSIM3QqPtr; double *BSIM3QdpPtr; double *BSIM3QgPtr; double *BSIM3QspPtr; double *BSIM3QbPtr; double *BSIM3DPqPtr; double *BSIM3GqPtr; double *BSIM3SPqPtr; double *BSIM3BqPtr;#define BSIM3vbd BSIM3states+ 0#define BSIM3vbs BSIM3states+ 1#define BSIM3vgs BSIM3states+ 2#define BSIM3vds BSIM3states+ 3#define BSIM3qb BSIM3states+ 4#define BSIM3cqb BSIM3states+ 5#define BSIM3qg BSIM3states+ 6#define BSIM3cqg BSIM3states+ 7#define BSIM3qd BSIM3states+ 8#define BSIM3cqd BSIM3states+ 9#define BSIM3qbs BSIM3states+ 10#define BSIM3qbd BSIM3states+ 11#define BSIM3qcheq BSIM3states+ 12#define BSIM3cqcheq BSIM3states+ 13#define BSIM3qcdump BSIM3states+ 14#define BSIM3cqcdump BSIM3states+ 15#define BSIM3qdef BSIM3states+ 16#define BSIM3numStates 17/* indices to the array of BSIM3 NOISE SOURCES */#define BSIM3RDNOIZ 0#define BSIM3RSNOIZ 1#define BSIM3IDNOIZ 2#define BSIM3FLNOIZ 3#define BSIM3TOTNOIZ 4#define BSIM3NSRCS 5 /* the number of BSIM3 MOSFET noise sources */#ifndef NONOISE double BSIM3nVar[NSTATVARS][BSIM3NSRCS];#else /* NONOISE */ double **BSIM3nVar;#endif /* NONOISE */} BSIM3instance ;struct bsim3SizeDependParam{ double Width; double Length; 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 BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbi; double BSIM3vbm; double BSIM3vbsc; double BSIM3xt; double BSIM3phi; double BSIM3litl; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; 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 BSIM3wr; double BSIM3dwg; double BSIM3dwb; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; /* CV model */ double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3clc; double BSIM3cle; double BSIM3vfbcv; double BSIM3noff; double BSIM3voffcv; double BSIM3acde; double BSIM3moin;/* Pre-calculated constants */ double BSIM3dw; double BSIM3dl; double BSIM3leff; double BSIM3weff; double BSIM3dwc; double BSIM3dlc; double BSIM3leffCV; double BSIM3weffCV; double BSIM3abulkCVfactor; double BSIM3cgso; double BSIM3cgdo; double BSIM3cgbo; double BSIM3tconst; double BSIM3u0temp; double BSIM3vsattemp; double BSIM3sqrtPhi; double BSIM3phis3; double BSIM3Xdep0; double BSIM3sqrtXdep0; double BSIM3theta0vb0; double BSIM3thetaRout; double BSIM3cof1; double BSIM3cof2; double BSIM3cof3; double BSIM3cof4; double BSIM3cdep0; double BSIM3vfbzb; double BSIM3ldeb; double BSIM3k1ox; double BSIM3k2ox; struct bsim3SizeDependParam *pNext;};typedef struct sBSIM3model { int BSIM3modType; struct sBSIM3model *BSIM3nextModel; BSIM3instance *BSIM3instances; IFuid BSIM3modName; int BSIM3type; int BSIM3mobMod; int BSIM3capMod; int BSIM3acmMod; int BSIM3noiMod; int BSIM3binUnit; int BSIM3paramChk; char *BSIM3version; /* The following field is an integer coding * of BSIM3version. */ int BSIM3intVersion; #define BSIM3V324 324 /* BSIM3 V3.2.4 */#define BSIM3V323 323 /* BSIM3 V3.2.3 */#define BSIM3V322 322 /* BSIM3 V3.2.2 */#define BSIM3V32 32 /* BSIM3 V3.2 */#define BSIM3V3OLD 0 /* Old model */ double BSIM3tox; double BSIM3toxm; 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 BSIM3nsub; double BSIM3npeak; double BSIM3ngate; double BSIM3gamma1; double BSIM3gamma2; double BSIM3vbx; double BSIM3vbm; double BSIM3xt; double BSIM3k1; double BSIM3kt1; double BSIM3kt1l; double BSIM3kt2; double BSIM3k2; double BSIM3k3; double BSIM3k3b; double BSIM3w0; double BSIM3nlx; double BSIM3dvt0; double BSIM3dvt1; double BSIM3dvt2; double BSIM3dvt0w; double BSIM3dvt1w; double BSIM3dvt2w; double BSIM3drout; double BSIM3dsub; double BSIM3vth0; double BSIM3ua; double BSIM3ua1; double BSIM3ub; double BSIM3ub1; double BSIM3uc; double BSIM3uc1; double BSIM3u0; double BSIM3ute; double BSIM3voff; double BSIM3delta; double BSIM3rdsw; 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; double BSIM3b0; double BSIM3b1; double BSIM3alpha0; double BSIM3alpha1; double BSIM3beta0; double BSIM3ijth; double BSIM3vfb; /* CV model */ double BSIM3elm; double BSIM3cgsl; double BSIM3cgdl; double BSIM3ckappa; double BSIM3cf; double BSIM3vfbcv; double BSIM3clc; double BSIM3cle; double BSIM3dwc;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?