📄 bsim3v1def.h
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.Modified: 2002 Paolo Nenzi.File: bsim3v1def.h**********/#ifndef BSIM3v1#define BSIM3v1#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sBSIM3v1instance{ struct sBSIM3v1model *BSIM3v1modPtr; struct sBSIM3v1instance *BSIM3v1nextInstance; IFuid BSIM3v1name; int BSIM3v1owner; /* number of owner process */ int BSIM3v1states; /* index into state table for this device */ int BSIM3v1dNode; int BSIM3v1gNode; int BSIM3v1sNode; int BSIM3v1bNode; int BSIM3v1dNodePrime; int BSIM3v1sNodePrime; int BSIM3v1qNode; /* MCJ */ /* MCJ */ double BSIM3v1ueff; double BSIM3v1thetavth; double BSIM3v1von; double BSIM3v1vdsat; double BSIM3v1cgdo; double BSIM3v1cgso; double BSIM3v1l; double BSIM3v1w; double BSIM3v1m; double BSIM3v1drainArea; double BSIM3v1sourceArea; double BSIM3v1drainSquares; double BSIM3v1sourceSquares; double BSIM3v1drainPerimeter; double BSIM3v1sourcePerimeter; double BSIM3v1sourceConductance; double BSIM3v1drainConductance; double BSIM3v1icVBS; double BSIM3v1icVDS; double BSIM3v1icVGS; int BSIM3v1off; int BSIM3v1mode; int BSIM3v1nqsMod; /* OP point */ double BSIM3v1qinv; double BSIM3v1cd; double BSIM3v1cbs; double BSIM3v1cbd; double BSIM3v1csub; double BSIM3v1gm; double BSIM3v1gds; double BSIM3v1gmbs; double BSIM3v1gbd; double BSIM3v1gbs; double BSIM3v1gbbs; double BSIM3v1gbgs; double BSIM3v1gbds; double BSIM3v1cggb; double BSIM3v1cgdb; double BSIM3v1cgsb; double BSIM3v1cbgb; double BSIM3v1cbdb; double BSIM3v1cbsb; double BSIM3v1cdgb; double BSIM3v1cddb; double BSIM3v1cdsb; double BSIM3v1capbd; double BSIM3v1capbs; double BSIM3v1cqgb; double BSIM3v1cqdb; double BSIM3v1cqsb; double BSIM3v1cqbb; double BSIM3v1gtau; double BSIM3v1gtg; double BSIM3v1gtd; double BSIM3v1gts; double BSIM3v1gtb; double BSIM3v1tconst; struct bsim3v1SizeDependParam *pParam; unsigned BSIM3v1lGiven :1; unsigned BSIM3v1wGiven :1; unsigned BSIM3v1mGiven :1; unsigned BSIM3v1drainAreaGiven :1; unsigned BSIM3v1sourceAreaGiven :1; unsigned BSIM3v1drainSquaresGiven :1; unsigned BSIM3v1sourceSquaresGiven :1; unsigned BSIM3v1drainPerimeterGiven :1; unsigned BSIM3v1sourcePerimeterGiven :1; unsigned BSIM3v1dNodePrimeSet :1; unsigned BSIM3v1sNodePrimeSet :1; unsigned BSIM3v1icVBSGiven :1; unsigned BSIM3v1icVDSGiven :1; unsigned BSIM3v1icVGSGiven :1; unsigned BSIM3v1nqsModGiven :1; double *BSIM3v1DdPtr; double *BSIM3v1GgPtr; double *BSIM3v1SsPtr; double *BSIM3v1BbPtr; double *BSIM3v1DPdpPtr; double *BSIM3v1SPspPtr; double *BSIM3v1DdpPtr; double *BSIM3v1GbPtr; double *BSIM3v1GdpPtr; double *BSIM3v1GspPtr; double *BSIM3v1SspPtr; double *BSIM3v1BdpPtr; double *BSIM3v1BspPtr; double *BSIM3v1DPspPtr; double *BSIM3v1DPdPtr; double *BSIM3v1BgPtr; double *BSIM3v1DPgPtr; double *BSIM3v1SPgPtr; double *BSIM3v1SPsPtr; double *BSIM3v1DPbPtr; double *BSIM3v1SPbPtr; double *BSIM3v1SPdpPtr; double *BSIM3v1QqPtr; double *BSIM3v1QdpPtr; double *BSIM3v1QgPtr; double *BSIM3v1QspPtr; double *BSIM3v1QbPtr; double *BSIM3v1DPqPtr; double *BSIM3v1GqPtr; double *BSIM3v1SPqPtr; double *BSIM3v1BqPtr;#define BSIM3v1vbd BSIM3v1states+ 0#define BSIM3v1vbs BSIM3v1states+ 1#define BSIM3v1vgs BSIM3v1states+ 2#define BSIM3v1vds BSIM3v1states+ 3#define BSIM3v1qb BSIM3v1states+ 4#define BSIM3v1cqb BSIM3v1states+ 5#define BSIM3v1qg BSIM3v1states+ 6#define BSIM3v1cqg BSIM3v1states+ 7#define BSIM3v1qd BSIM3v1states+ 8#define BSIM3v1cqd BSIM3v1states+ 9#define BSIM3v1qbs BSIM3v1states+ 10#define BSIM3v1qbd BSIM3v1states+ 11#define BSIM3v1qcheq BSIM3v1states+ 12#define BSIM3v1cqcheq BSIM3v1states+ 13#define BSIM3v1qcdump BSIM3v1states+ 14#define BSIM3v1cqcdump BSIM3v1states+ 15#define BSIM3v1tau BSIM3v1states+ 16#define BSIM3v1qdef BSIM3v1states+ 17#define BSIM3v1numStates 18/* indices to the array of BSIM3v1 NOISE SOURCES */#define BSIM3v1RDNOIZ 0#define BSIM3v1RSNOIZ 1#define BSIM3v1IDNOIZ 2#define BSIM3v1FLNOIZ 3#define BSIM3v1TOTNOIZ 4#define BSIM3v1NSRCS 5 /* the number of MOSFET(3) noise sources */#ifndef NONOISE double BSIM3v1nVar[NSTATVARS][BSIM3v1NSRCS];#else /* NONOISE */ double **BSIM3v1nVar;#endif /* NONOISE */} BSIM3v1instance ;struct bsim3v1SizeDependParam{ double Width; double Length; double BSIM3v1cdsc; double BSIM3v1cdscb; double BSIM3v1cdscd; double BSIM3v1cit; double BSIM3v1nfactor; double BSIM3v1xj; double BSIM3v1vsat; double BSIM3v1at; double BSIM3v1a0; double BSIM3v1ags; double BSIM3v1a1; double BSIM3v1a2; double BSIM3v1keta; double BSIM3v1nsub; double BSIM3v1npeak; double BSIM3v1ngate; double BSIM3v1gamma1; double BSIM3v1gamma2; double BSIM3v1vbx; double BSIM3v1vbi; double BSIM3v1vbm; double BSIM3v1vbsc; double BSIM3v1xt; double BSIM3v1phi; double BSIM3v1litl; double BSIM3v1k1; double BSIM3v1kt1; double BSIM3v1kt1l; double BSIM3v1kt2; double BSIM3v1k2; double BSIM3v1k3; double BSIM3v1k3b; double BSIM3v1w0; double BSIM3v1nlx; double BSIM3v1dvt0; double BSIM3v1dvt1; double BSIM3v1dvt2; double BSIM3v1dvt0w; double BSIM3v1dvt1w; double BSIM3v1dvt2w; double BSIM3v1drout; double BSIM3v1dsub; double BSIM3v1vth0; double BSIM3v1ua; double BSIM3v1ua1; double BSIM3v1ub; double BSIM3v1ub1; double BSIM3v1uc; double BSIM3v1uc1; double BSIM3v1u0; double BSIM3v1ute; double BSIM3v1voff; double BSIM3v1vfb; double BSIM3v1delta; double BSIM3v1rdsw; double BSIM3v1rds0; double BSIM3v1prwg; double BSIM3v1prwb; double BSIM3v1prt; double BSIM3v1eta0; double BSIM3v1etab; double BSIM3v1pclm; double BSIM3v1pdibl1; double BSIM3v1pdibl2; double BSIM3v1pdiblb; double BSIM3v1pscbe1; double BSIM3v1pscbe2; double BSIM3v1pvag; double BSIM3v1wr; double BSIM3v1dwg; double BSIM3v1dwb; double BSIM3v1b0; double BSIM3v1b1; double BSIM3v1alpha0; double BSIM3v1beta0; /* CV model */ double BSIM3v1elm; double BSIM3v1cgsl; double BSIM3v1cgdl; double BSIM3v1ckappa; double BSIM3v1cf; double BSIM3v1clc; double BSIM3v1cle; double BSIM3v1vfbcv;/* Pre-calculated constants */ double BSIM3v1dw; double BSIM3v1dl; double BSIM3v1leff; double BSIM3v1weff; double BSIM3v1dwc; double BSIM3v1dlc; double BSIM3v1leffCV; double BSIM3v1weffCV; double BSIM3v1abulkCVfactor; double BSIM3v1cgso; double BSIM3v1cgdo; double BSIM3v1cgbo; double BSIM3v1u0temp; double BSIM3v1vsattemp; double BSIM3v1sqrtPhi; double BSIM3v1phis3; double BSIM3v1Xdep0; double BSIM3v1sqrtXdep0; double BSIM3v1theta0vb0; double BSIM3v1thetaRout; double BSIM3v1cof1; double BSIM3v1cof2; double BSIM3v1cof3; double BSIM3v1cof4; double BSIM3v1cdep0; struct bsim3v1SizeDependParam *pNext;};typedef struct sBSIM3v1model { int BSIM3v1modType; struct sBSIM3v1model *BSIM3v1nextModel; BSIM3v1instance *BSIM3v1instances; IFuid BSIM3v1modName; int BSIM3v1type; int BSIM3v1mobMod; int BSIM3v1capMod; int BSIM3v1nqsMod; int BSIM3v1noiMod; int BSIM3v1binUnit; int BSIM3v1paramChk; double BSIM3v1version; double BSIM3v1tox; double BSIM3v1cdsc; double BSIM3v1cdscb; double BSIM3v1cdscd; double BSIM3v1cit; double BSIM3v1nfactor; double BSIM3v1xj; double BSIM3v1vsat; double BSIM3v1at; double BSIM3v1a0; double BSIM3v1ags; double BSIM3v1a1; double BSIM3v1a2; double BSIM3v1keta; double BSIM3v1nsub; double BSIM3v1npeak; double BSIM3v1ngate; double BSIM3v1gamma1; double BSIM3v1gamma2; double BSIM3v1vbx; double BSIM3v1vbm; double BSIM3v1xt; double BSIM3v1k1; double BSIM3v1kt1; double BSIM3v1kt1l; double BSIM3v1kt2; double BSIM3v1k2; double BSIM3v1k3; double BSIM3v1k3b; double BSIM3v1w0; double BSIM3v1nlx; double BSIM3v1dvt0; double BSIM3v1dvt1; double BSIM3v1dvt2; double BSIM3v1dvt0w; double BSIM3v1dvt1w; double BSIM3v1dvt2w; double BSIM3v1drout; double BSIM3v1dsub; double BSIM3v1vth0; double BSIM3v1ua; double BSIM3v1ua1; double BSIM3v1ub; double BSIM3v1ub1; double BSIM3v1uc; double BSIM3v1uc1; double BSIM3v1u0; double BSIM3v1ute; double BSIM3v1voff; double BSIM3v1delta; double BSIM3v1rdsw; double BSIM3v1prwg; double BSIM3v1prwb; double BSIM3v1prt; double BSIM3v1eta0; double BSIM3v1etab; double BSIM3v1pclm; double BSIM3v1pdibl1; double BSIM3v1pdibl2; double BSIM3v1pdiblb; double BSIM3v1pscbe1; double BSIM3v1pscbe2; double BSIM3v1pvag; double BSIM3v1wr; double BSIM3v1dwg; double BSIM3v1dwb; double BSIM3v1b0; double BSIM3v1b1; double BSIM3v1alpha0; double BSIM3v1beta0; /* CV model */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -