📄 bsim3v1adef.h
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun ChanFile: bsim3v1adef.h**********/#ifndef BSIM3v1A#define BSIM3v1A#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sBSIM3v1Ainstance{ struct sBSIM3v1Amodel *BSIM3v1AmodPtr; struct sBSIM3v1Ainstance *BSIM3v1AnextInstance; IFuid BSIM3v1Aname; int BSIM3v1Aowner; /* number of owner process */ int BSIM3v1Astates; /* index into state table for this device */ int BSIM3v1AdNode; int BSIM3v1AgNode; int BSIM3v1AsNode; int BSIM3v1AbNode; int BSIM3v1AdNodePrime; int BSIM3v1AsNodePrime; int BSIM3v1AqNode; /* MCJ */ /* MCJ */ double BSIM3v1Aueff; double BSIM3v1Athetavth; double BSIM3v1Avon; double BSIM3v1Avdsat; double BSIM3v1Acgdo; double BSIM3v1Acgso; double BSIM3v1Al; double BSIM3v1Aw; double BSIM3v1Am; double BSIM3v1AdrainArea; double BSIM3v1AsourceArea; double BSIM3v1AdrainSquares; double BSIM3v1AsourceSquares; double BSIM3v1AdrainPerimeter; double BSIM3v1AsourcePerimeter; double BSIM3v1AsourceConductance; double BSIM3v1AdrainConductance; double BSIM3v1AicVBS; double BSIM3v1AicVDS; double BSIM3v1AicVGS; int BSIM3v1Aoff; int BSIM3v1Amode; int BSIM3v1AnqsMod; /* OP point */ double BSIM3v1Aqinv; double BSIM3v1Acd; double BSIM3v1Acbs; double BSIM3v1Acbd; double BSIM3v1Acsub; double BSIM3v1Agm; double BSIM3v1Agds; double BSIM3v1Agmbs; double BSIM3v1Agbd; double BSIM3v1Agbs; double BSIM3v1Agbbs; double BSIM3v1Agbgs; double BSIM3v1Agbds; double BSIM3v1Acggb; double BSIM3v1Acgdb; double BSIM3v1Acgsb; double BSIM3v1Acbgb; double BSIM3v1Acbdb; double BSIM3v1Acbsb; double BSIM3v1Acdgb; double BSIM3v1Acddb; double BSIM3v1Acdsb; double BSIM3v1Acapbd; double BSIM3v1Acapbs; double BSIM3v1Acqgb; double BSIM3v1Acqdb; double BSIM3v1Acqsb; double BSIM3v1Acqbb; double BSIM3v1Agtau; double BSIM3v1Agtg; double BSIM3v1Agtd; double BSIM3v1Agts; double BSIM3v1Agtb; double BSIM3v1Atconst; struct bsim3v1aSizeDependParam *pParam; unsigned BSIM3v1AlGiven :1; unsigned BSIM3v1AwGiven :1; unsigned BSIM3v1AmGiven :1; unsigned BSIM3v1AdrainAreaGiven :1; unsigned BSIM3v1AsourceAreaGiven :1; unsigned BSIM3v1AdrainSquaresGiven :1; unsigned BSIM3v1AsourceSquaresGiven :1; unsigned BSIM3v1AdrainPerimeterGiven :1; unsigned BSIM3v1AsourcePerimeterGiven :1; unsigned BSIM3v1AdNodePrimeSet :1; unsigned BSIM3v1AsNodePrimeSet :1; unsigned BSIM3v1AicVBSGiven :1; unsigned BSIM3v1AicVDSGiven :1; unsigned BSIM3v1AicVGSGiven :1; unsigned BSIM3v1AnqsModGiven :1; double *BSIM3v1ADdPtr; double *BSIM3v1AGgPtr; double *BSIM3v1ASsPtr; double *BSIM3v1ABbPtr; double *BSIM3v1ADPdpPtr; double *BSIM3v1ASPspPtr; double *BSIM3v1ADdpPtr; double *BSIM3v1AGbPtr; double *BSIM3v1AGdpPtr; double *BSIM3v1AGspPtr; double *BSIM3v1ASspPtr; double *BSIM3v1ABdpPtr; double *BSIM3v1ABspPtr; double *BSIM3v1ADPspPtr; double *BSIM3v1ADPdPtr; double *BSIM3v1ABgPtr; double *BSIM3v1ADPgPtr; double *BSIM3v1ASPgPtr; double *BSIM3v1ASPsPtr; double *BSIM3v1ADPbPtr; double *BSIM3v1ASPbPtr; double *BSIM3v1ASPdpPtr; double *BSIM3v1AQqPtr; double *BSIM3v1AQdpPtr; double *BSIM3v1AQgPtr; double *BSIM3v1AQspPtr; double *BSIM3v1AQbPtr; double *BSIM3v1ADPqPtr; double *BSIM3v1AGqPtr; double *BSIM3v1ASPqPtr; double *BSIM3v1ABqPtr;#define BSIM3v1Avbd BSIM3v1Astates+ 0#define BSIM3v1Avbs BSIM3v1Astates+ 1#define BSIM3v1Avgs BSIM3v1Astates+ 2#define BSIM3v1Avds BSIM3v1Astates+ 3#define BSIM3v1Aqb BSIM3v1Astates+ 4#define BSIM3v1Acqb BSIM3v1Astates+ 5#define BSIM3v1Aqg BSIM3v1Astates+ 6#define BSIM3v1Acqg BSIM3v1Astates+ 7#define BSIM3v1Aqd BSIM3v1Astates+ 8#define BSIM3v1Acqd BSIM3v1Astates+ 9#define BSIM3v1Aqbs BSIM3v1Astates+ 10#define BSIM3v1Aqbd BSIM3v1Astates+ 11#define BSIM3v1Aqcheq BSIM3v1Astates+ 12#define BSIM3v1Acqcheq BSIM3v1Astates+ 13#define BSIM3v1Aqcdump BSIM3v1Astates+ 14#define BSIM3v1Acqcdump BSIM3v1Astates+ 15#define BSIM3v1Atau BSIM3v1Astates+ 16#define BSIM3v1Aqdef BSIM3v1Astates+ 17#define BSIM3v1AnumStates 18/* indices to the array of BSIM3v1A NOISE SOURCES */#define BSIM3v1ARDNOIZ 0#define BSIM3v1ARSNOIZ 1#define BSIM3v1AIDNOIZ 2#define BSIM3v1AFLNOIZ 3#define BSIM3v1ATOTNOIZ 4#define BSIM3v1ANSRCS 5 /* the number of MOSFET(3) noise sources */#ifndef NONOISE double BSIM3v1AnVar[NSTATVARS][BSIM3v1ANSRCS];#else /* NONOISE */ double **BSIM3v1AnVar;#endif /* NONOISE */} BSIM3v1Ainstance ;struct bsim3v1aSizeDependParam{ double Width; double Length; double BSIM3v1Acdsc; double BSIM3v1Acdscb; double BSIM3v1Acdscd; double BSIM3v1Acit; double BSIM3v1Anfactor; double BSIM3v1Axj; double BSIM3v1Avsat; double BSIM3v1Aat; double BSIM3v1Aa0; double BSIM3v1Aags; double BSIM3v1Aa1; double BSIM3v1Aa2; double BSIM3v1Aketa; double BSIM3v1Ansub; double BSIM3v1Anpeak; double BSIM3v1Angate; double BSIM3v1Agamma1; double BSIM3v1Agamma2; double BSIM3v1Avbx; double BSIM3v1Avbi; double BSIM3v1Avbm; double BSIM3v1Avbsc; double BSIM3v1Axt; double BSIM3v1Aphi; double BSIM3v1Alitl; double BSIM3v1Ak1; double BSIM3v1Akt1; double BSIM3v1Akt1l; double BSIM3v1Akt2; double BSIM3v1Ak2; double BSIM3v1Ak3; double BSIM3v1Ak3b; double BSIM3v1Aw0; double BSIM3v1Anlx; double BSIM3v1Advt0; double BSIM3v1Advt1; double BSIM3v1Advt2; double BSIM3v1Advt0w; double BSIM3v1Advt1w; double BSIM3v1Advt2w; double BSIM3v1Adrout; double BSIM3v1Adsub; double BSIM3v1Avth0; double BSIM3v1Aua; double BSIM3v1Aua1; double BSIM3v1Aub; double BSIM3v1Aub1; double BSIM3v1Auc; double BSIM3v1Auc1; double BSIM3v1Au0; double BSIM3v1Aute; double BSIM3v1Avoff; double BSIM3v1Avfb; double BSIM3v1Adelta; double BSIM3v1Ardsw; double BSIM3v1Ards0; double BSIM3v1Aprwg; double BSIM3v1Aprwb; double BSIM3v1Aprt; double BSIM3v1Aeta0; double BSIM3v1Aetab; double BSIM3v1Apclm; double BSIM3v1Apdibl1; double BSIM3v1Apdibl2; double BSIM3v1Apdiblb; double BSIM3v1Apscbe1; double BSIM3v1Apscbe2; double BSIM3v1Apvag; double BSIM3v1Awr; double BSIM3v1Adwg; double BSIM3v1Adwb; double BSIM3v1Ab0; double BSIM3v1Ab1; double BSIM3v1Aalpha0; double BSIM3v1Abeta0; /* CV model */ double BSIM3v1Aelm; double BSIM3v1Acgsl; double BSIM3v1Acgdl; double BSIM3v1Ackappa; double BSIM3v1Acf; double BSIM3v1Aclc; double BSIM3v1Acle;/* Pre-calculated constants */ double BSIM3v1Adw; double BSIM3v1Adl; double BSIM3v1Aleff; double BSIM3v1Aweff; double BSIM3v1Adwc; double BSIM3v1Adlc; double BSIM3v1AleffCV; double BSIM3v1AweffCV; double BSIM3v1AabulkCVfactor; double BSIM3v1Acgso; double BSIM3v1Acgdo; double BSIM3v1Acgbo; double BSIM3v1Au0temp; double BSIM3v1Avsattemp; double BSIM3v1AsqrtPhi; double BSIM3v1Aphis3; double BSIM3v1AXdep0; double BSIM3v1AsqrtXdep0; double BSIM3v1Atheta0vb0; double BSIM3v1AthetaRout; double BSIM3v1Acof1; double BSIM3v1Acof2; double BSIM3v1Acof3; double BSIM3v1Acof4; double BSIM3v1Acdep0; struct bsim3v1aSizeDependParam *pNext;};typedef struct sBSIM3v1Amodel { int BSIM3v1AmodType; struct sBSIM3v1Amodel *BSIM3v1AnextModel; BSIM3v1Ainstance *BSIM3v1Ainstances; IFuid BSIM3v1AmodName; int BSIM3v1Atype; int BSIM3v1AmobMod; int BSIM3v1AcapMod; int BSIM3v1AnqsMod; int BSIM3v1AnoiMod; int BSIM3v1AbinUnit; double BSIM3v1Atox; double BSIM3v1Acdsc; double BSIM3v1Acdscb; double BSIM3v1Acdscd; double BSIM3v1Acit; double BSIM3v1Anfactor; double BSIM3v1Axj; double BSIM3v1Avsat; double BSIM3v1Aat; double BSIM3v1Aa0; double BSIM3v1Aags; double BSIM3v1Aa1; double BSIM3v1Aa2; double BSIM3v1Aketa; double BSIM3v1Ansub; double BSIM3v1Anpeak; double BSIM3v1Angate; double BSIM3v1Agamma1; double BSIM3v1Agamma2; double BSIM3v1Avbx; double BSIM3v1Avbm; double BSIM3v1Axt; double BSIM3v1Ak1; double BSIM3v1Akt1; double BSIM3v1Akt1l; double BSIM3v1Akt2; double BSIM3v1Ak2; double BSIM3v1Ak3; double BSIM3v1Ak3b; double BSIM3v1Aw0; double BSIM3v1Anlx; double BSIM3v1Advt0; double BSIM3v1Advt1; double BSIM3v1Advt2; double BSIM3v1Advt0w; double BSIM3v1Advt1w; double BSIM3v1Advt2w; double BSIM3v1Adrout; double BSIM3v1Adsub; double BSIM3v1Avth0; double BSIM3v1Aua; double BSIM3v1Aua1; double BSIM3v1Aub; double BSIM3v1Aub1; double BSIM3v1Auc; double BSIM3v1Auc1; double BSIM3v1Au0; double BSIM3v1Aute; double BSIM3v1Avoff; double BSIM3v1Adelta; double BSIM3v1Ardsw; double BSIM3v1Aprwg; double BSIM3v1Aprwb; double BSIM3v1Aprt; double BSIM3v1Aeta0; double BSIM3v1Aetab; double BSIM3v1Apclm; double BSIM3v1Apdibl1; double BSIM3v1Apdibl2; double BSIM3v1Apdiblb; double BSIM3v1Apscbe1; double BSIM3v1Apscbe2; double BSIM3v1Apvag;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -