📄 bsim3v0def.h
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun ChanFile: bsim3v0def.h**********/#ifndef BSIM3v0#define BSIM3v0#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sBSIM3v0instance{ struct sBSIM3v0model *BSIM3v0modPtr; struct sBSIM3v0instance *BSIM3v0nextInstance; IFuid BSIM3v0name; int BSIM3v0owner; /* number of owner process */ int BSIM3v0states; /* index into state table for this device */ int BSIM3v0dNode; int BSIM3v0gNode; int BSIM3v0sNode; int BSIM3v0bNode; int BSIM3v0dNodePrime; int BSIM3v0sNodePrime; int BSIM3v0qNode; /* MCJ */ /* MCJ */ double BSIM3v0ueff; double BSIM3v0thetavth; double BSIM3v0von; double BSIM3v0vdsat; double BSIM3v0cgdo; double BSIM3v0cgso; double BSIM3v0l; double BSIM3v0w; double BSIM3v0m; double BSIM3v0drainArea; double BSIM3v0sourceArea; double BSIM3v0drainSquares; double BSIM3v0sourceSquares; double BSIM3v0drainPerimeter; double BSIM3v0sourcePerimeter; double BSIM3v0sourceConductance; double BSIM3v0drainConductance; double BSIM3v0icVBS; double BSIM3v0icVDS; double BSIM3v0icVGS; int BSIM3v0off; int BSIM3v0mode; int BSIM3v0nqsMod; /* OP point */ double BSIM3v0qinv; double BSIM3v0cd; double BSIM3v0cbs; double BSIM3v0cbd; double BSIM3v0csub; double BSIM3v0gm; double BSIM3v0gds; double BSIM3v0gmbs; double BSIM3v0gbd; double BSIM3v0gbs; double BSIM3v0gbbs; double BSIM3v0gbgs; double BSIM3v0gbds; double BSIM3v0cggb; double BSIM3v0cgdb; double BSIM3v0cgsb; double BSIM3v0cbgb; double BSIM3v0cbdb; double BSIM3v0cbsb; double BSIM3v0cdgb; double BSIM3v0cddb; double BSIM3v0cdsb; double BSIM3v0capbd; double BSIM3v0capbs; double BSIM3v0cqgb; double BSIM3v0cqdb; double BSIM3v0cqsb; double BSIM3v0cqbb; double BSIM3v0gtau; double BSIM3v0gtg; double BSIM3v0gtd; double BSIM3v0gts; double BSIM3v0gtb; double BSIM3v0tconst; struct bsim3v0SizeDependParam *pParam; unsigned BSIM3v0lGiven :1; unsigned BSIM3v0wGiven :1; unsigned BSIM3v0mGiven :1; unsigned BSIM3v0drainAreaGiven :1; unsigned BSIM3v0sourceAreaGiven :1; unsigned BSIM3v0drainSquaresGiven :1; unsigned BSIM3v0sourceSquaresGiven :1; unsigned BSIM3v0drainPerimeterGiven :1; unsigned BSIM3v0sourcePerimeterGiven :1; unsigned BSIM3v0dNodePrimeSet :1; unsigned BSIM3v0sNodePrimeSet :1; unsigned BSIM3v0icVBSGiven :1; unsigned BSIM3v0icVDSGiven :1; unsigned BSIM3v0icVGSGiven :1; unsigned BSIM3v0nqsModGiven :1; double *BSIM3v0DdPtr; double *BSIM3v0GgPtr; double *BSIM3v0SsPtr; double *BSIM3v0BbPtr; double *BSIM3v0DPdpPtr; double *BSIM3v0SPspPtr; double *BSIM3v0DdpPtr; double *BSIM3v0GbPtr; double *BSIM3v0GdpPtr; double *BSIM3v0GspPtr; double *BSIM3v0SspPtr; double *BSIM3v0BdpPtr; double *BSIM3v0BspPtr; double *BSIM3v0DPspPtr; double *BSIM3v0DPdPtr; double *BSIM3v0BgPtr; double *BSIM3v0DPgPtr; double *BSIM3v0SPgPtr; double *BSIM3v0SPsPtr; double *BSIM3v0DPbPtr; double *BSIM3v0SPbPtr; double *BSIM3v0SPdpPtr; double *BSIM3v0QqPtr; double *BSIM3v0QdpPtr; double *BSIM3v0QgPtr; double *BSIM3v0QspPtr; double *BSIM3v0QbPtr; double *BSIM3v0DPqPtr; double *BSIM3v0GqPtr; double *BSIM3v0SPqPtr; double *BSIM3v0BqPtr;#define BSIM3v0vbd BSIM3v0states+ 0#define BSIM3v0vbs BSIM3v0states+ 1#define BSIM3v0vgs BSIM3v0states+ 2#define BSIM3v0vds BSIM3v0states+ 3#define BSIM3v0qb BSIM3v0states+ 4#define BSIM3v0cqb BSIM3v0states+ 5#define BSIM3v0qg BSIM3v0states+ 6#define BSIM3v0cqg BSIM3v0states+ 7#define BSIM3v0qd BSIM3v0states+ 8#define BSIM3v0cqd BSIM3v0states+ 9#define BSIM3v0qbs BSIM3v0states+ 10#define BSIM3v0qbd BSIM3v0states+ 11#define BSIM3v0qcheq BSIM3v0states+ 12#define BSIM3v0cqcheq BSIM3v0states+ 13#define BSIM3v0qcdump BSIM3v0states+ 14#define BSIM3v0cqcdump BSIM3v0states+ 15#define BSIM3v0tau BSIM3v0states+ 16#define BSIM3v0qdef BSIM3v0states+ 17#define BSIM3v0numStates 18/* indices to the array of BSIM3v0 NOISE SOURCES */#define BSIM3v0RDNOIZ 0#define BSIM3v0RSNOIZ 1#define BSIM3v0IDNOIZ 2#define BSIM3v0FLNOIZ 3#define BSIM3v0TOTNOIZ 4#define BSIM3v0NSRCS 5 /* the number of MOSFET(3) noise sources */#ifndef NONOISE double BSIM3v0nVar[NSTATVARS][BSIM3v0NSRCS];#else /* NONOISE */ double **BSIM3v0nVar;#endif /* NONOISE */} BSIM3v0instance ;struct bsim3v0SizeDependParam{ double Width; double Length; double BSIM3v0cdsc; double BSIM3v0cdscb; double BSIM3v0cdscd; double BSIM3v0cit; double BSIM3v0nfactor; double BSIM3v0xj; double BSIM3v0vsat; double BSIM3v0at; double BSIM3v0a0; double BSIM3v0ags; double BSIM3v0a1; double BSIM3v0a2; double BSIM3v0keta; double BSIM3v0nsub; double BSIM3v0npeak; double BSIM3v0ngate; double BSIM3v0gamma1; double BSIM3v0gamma2; double BSIM3v0vbx; double BSIM3v0vbi; double BSIM3v0vbm; double BSIM3v0vbsc; double BSIM3v0xt; double BSIM3v0phi; double BSIM3v0litl; double BSIM3v0k1; double BSIM3v0kt1; double BSIM3v0kt1l; double BSIM3v0kt2; double BSIM3v0k2; double BSIM3v0k3; double BSIM3v0k3b; double BSIM3v0w0; double BSIM3v0nlx; double BSIM3v0dvt0; double BSIM3v0dvt1; double BSIM3v0dvt2; double BSIM3v0dvt0w; double BSIM3v0dvt1w; double BSIM3v0dvt2w; double BSIM3v0drout; double BSIM3v0dsub; double BSIM3v0vth0; double BSIM3v0ua; double BSIM3v0ua1; double BSIM3v0ub; double BSIM3v0ub1; double BSIM3v0uc; double BSIM3v0uc1; double BSIM3v0u0; double BSIM3v0ute; double BSIM3v0voff; double BSIM3v0vfb; double BSIM3v0delta; double BSIM3v0rdsw; double BSIM3v0rds0; double BSIM3v0prwg; double BSIM3v0prwb; double BSIM3v0prt; double BSIM3v0eta0; double BSIM3v0etab; double BSIM3v0pclm; double BSIM3v0pdibl1; double BSIM3v0pdibl2; double BSIM3v0pdiblb; double BSIM3v0pscbe1; double BSIM3v0pscbe2; double BSIM3v0pvag; double BSIM3v0wr; double BSIM3v0dwg; double BSIM3v0dwb; double BSIM3v0b0; double BSIM3v0b1; double BSIM3v0alpha0; double BSIM3v0beta0; /* CV model */ double BSIM3v0elm; double BSIM3v0cgsl; double BSIM3v0cgdl; double BSIM3v0ckappa; double BSIM3v0cf; double BSIM3v0clc; double BSIM3v0cle;/* Pre-calculated constants */ double BSIM3v0dw; double BSIM3v0dl; double BSIM3v0leff; double BSIM3v0weff; double BSIM3v0dwc; double BSIM3v0dlc; double BSIM3v0leffCV; double BSIM3v0weffCV; double BSIM3v0abulkCVfactor; double BSIM3v0cgso; double BSIM3v0cgdo; double BSIM3v0cgbo; double BSIM3v0u0temp; double BSIM3v0vsattemp; double BSIM3v0sqrtPhi; double BSIM3v0phis3; double BSIM3v0Xdep0; double BSIM3v0sqrtXdep0; double BSIM3v0theta0vb0; double BSIM3v0thetaRout; double BSIM3v0cof1; double BSIM3v0cof2; double BSIM3v0cof3; double BSIM3v0cof4; double BSIM3v0cdep0; struct bsim3v0SizeDependParam *pNext;};typedef struct sBSIM3v0model { int BSIM3v0modType; struct sBSIM3v0model *BSIM3v0nextModel; BSIM3v0instance *BSIM3v0instances; IFuid BSIM3v0modName; int BSIM3v0type; int BSIM3v0mobMod; int BSIM3v0capMod; int BSIM3v0nqsMod; int BSIM3v0noiMod; int BSIM3v0binUnit; double BSIM3v0tox; double BSIM3v0cdsc; double BSIM3v0cdscb; double BSIM3v0cdscd; double BSIM3v0cit; double BSIM3v0nfactor; double BSIM3v0xj; double BSIM3v0vsat; double BSIM3v0at; double BSIM3v0a0; double BSIM3v0ags; double BSIM3v0a1; double BSIM3v0a2; double BSIM3v0keta; double BSIM3v0nsub; double BSIM3v0npeak; double BSIM3v0ngate; double BSIM3v0gamma1; double BSIM3v0gamma2; double BSIM3v0vbx; double BSIM3v0vbm; double BSIM3v0xt; double BSIM3v0k1; double BSIM3v0kt1; double BSIM3v0kt1l; double BSIM3v0kt2; double BSIM3v0k2; double BSIM3v0k3; double BSIM3v0k3b; double BSIM3v0w0; double BSIM3v0nlx; double BSIM3v0dvt0; double BSIM3v0dvt1; double BSIM3v0dvt2; double BSIM3v0dvt0w; double BSIM3v0dvt1w; double BSIM3v0dvt2w; double BSIM3v0drout; double BSIM3v0dsub; double BSIM3v0vth0; double BSIM3v0ua; double BSIM3v0ua1; double BSIM3v0ub; double BSIM3v0ub1; double BSIM3v0uc; double BSIM3v0uc1; double BSIM3v0u0; double BSIM3v0ute; double BSIM3v0voff; double BSIM3v0delta; double BSIM3v0rdsw; double BSIM3v0prwg; double BSIM3v0prwb; double BSIM3v0prt; double BSIM3v0eta0; double BSIM3v0etab; double BSIM3v0pclm; double BSIM3v0pdibl1; double BSIM3v0pdibl2; double BSIM3v0pdiblb; double BSIM3v0pscbe1; double BSIM3v0pscbe2; double BSIM3v0pvag; double BSIM3v0wr;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -