📄 bsim3v1sdef.h
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun ChanModified by Paolo Nenzi 2002File: bsim3v1sdef.h**********/#ifndef BSIM3v1S#define BSIM3v1S#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sBSIM3v1Sinstance{ struct sBSIM3v1Smodel *BSIM3v1SmodPtr; struct sBSIM3v1Sinstance *BSIM3v1SnextInstance; IFuid BSIM3v1Sname; int BSIM3v1Sowner; /* number of owner process */ int BSIM3v1Sstates; /* index into state table for this device */ int BSIM3v1SdNode; int BSIM3v1SgNode; int BSIM3v1SsNode; int BSIM3v1SbNode; int BSIM3v1SdNodePrime; int BSIM3v1SsNodePrime; int BSIM3v1SqNode; /* MCJ */ /* MCJ */ double BSIM3v1Sueff; double BSIM3v1Sthetavth; double BSIM3v1Svon; double BSIM3v1Svdsat; double BSIM3v1Scgdo; double BSIM3v1Scgso; double BSIM3v1Sl; double BSIM3v1Sw; double BSIM3v1SdrainArea; double BSIM3v1SsourceArea; double BSIM3v1SdrainSquares; double BSIM3v1SsourceSquares; double BSIM3v1SdrainPerimeter; double BSIM3v1SsourcePerimeter; double BSIM3v1SsourceConductance; double BSIM3v1SdrainConductance; double BSIM3v1Sm; double BSIM3v1SicVBS; double BSIM3v1SicVDS; double BSIM3v1SicVGS; int BSIM3v1Soff; int BSIM3v1Smode; int BSIM3v1SnqsMod; /* OP point */ double BSIM3v1Sqinv; double BSIM3v1Scd; double BSIM3v1Scbs; double BSIM3v1Scbd; double BSIM3v1Scsub; double BSIM3v1Sgm; double BSIM3v1Sgds; double BSIM3v1Sgmbs; double BSIM3v1Sgbd; double BSIM3v1Sgbs; double BSIM3v1Sgbbs; double BSIM3v1Sgbgs; double BSIM3v1Sgbds; double BSIM3v1Scggb; double BSIM3v1Scgdb; double BSIM3v1Scgsb; double BSIM3v1Scbgb; double BSIM3v1Scbdb; double BSIM3v1Scbsb; double BSIM3v1Scdgb; double BSIM3v1Scddb; double BSIM3v1Scdsb; double BSIM3v1Scapbd; double BSIM3v1Scapbs; double BSIM3v1Scqgb; double BSIM3v1Scqdb; double BSIM3v1Scqsb; double BSIM3v1Scqbb; double BSIM3v1Sgtau; double BSIM3v1Sgtg; double BSIM3v1Sgtd; double BSIM3v1Sgts; double BSIM3v1Sgtb; double BSIM3v1Stconst; struct bsim3v1sSizeDependParam *pParam; unsigned BSIM3v1SlGiven :1; unsigned BSIM3v1SwGiven :1; unsigned BSIM3v1SdrainAreaGiven :1; unsigned BSIM3v1SsourceAreaGiven :1; unsigned BSIM3v1SdrainSquaresGiven :1; unsigned BSIM3v1SsourceSquaresGiven :1; unsigned BSIM3v1SdrainPerimeterGiven :1; unsigned BSIM3v1SsourcePerimeterGiven :1; unsigned BSIM3v1SdNodePrimeSet :1; unsigned BSIM3v1SsNodePrimeSet :1; unsigned BSIM3v1SicVBSGiven :1; unsigned BSIM3v1SicVDSGiven :1; unsigned BSIM3v1SicVGSGiven :1; unsigned BSIM3v1SnqsModGiven :1; double *BSIM3v1SDdPtr; double *BSIM3v1SGgPtr; double *BSIM3v1SSsPtr; double *BSIM3v1SBbPtr; double *BSIM3v1SDPdpPtr; double *BSIM3v1SSPspPtr; double *BSIM3v1SDdpPtr; double *BSIM3v1SGbPtr; double *BSIM3v1SGdpPtr; double *BSIM3v1SGspPtr; double *BSIM3v1SSspPtr; double *BSIM3v1SBdpPtr; double *BSIM3v1SBspPtr; double *BSIM3v1SDPspPtr; double *BSIM3v1SDPdPtr; double *BSIM3v1SBgPtr; double *BSIM3v1SDPgPtr; double *BSIM3v1SSPgPtr; double *BSIM3v1SSPsPtr; double *BSIM3v1SDPbPtr; double *BSIM3v1SSPbPtr; double *BSIM3v1SSPdpPtr; double *BSIM3v1SQqPtr; double *BSIM3v1SQdpPtr; double *BSIM3v1SQgPtr; double *BSIM3v1SQspPtr; double *BSIM3v1SQbPtr; double *BSIM3v1SDPqPtr; double *BSIM3v1SGqPtr; double *BSIM3v1SSPqPtr; double *BSIM3v1SBqPtr;#define BSIM3v1Svbd BSIM3v1Sstates+ 0#define BSIM3v1Svbs BSIM3v1Sstates+ 1#define BSIM3v1Svgs BSIM3v1Sstates+ 2#define BSIM3v1Svds BSIM3v1Sstates+ 3#define BSIM3v1Sqb BSIM3v1Sstates+ 4#define BSIM3v1Scqb BSIM3v1Sstates+ 5#define BSIM3v1Sqg BSIM3v1Sstates+ 6#define BSIM3v1Scqg BSIM3v1Sstates+ 7#define BSIM3v1Sqd BSIM3v1Sstates+ 8#define BSIM3v1Scqd BSIM3v1Sstates+ 9#define BSIM3v1Sqbs BSIM3v1Sstates+ 10#define BSIM3v1Sqbd BSIM3v1Sstates+ 11#define BSIM3v1Sqcheq BSIM3v1Sstates+ 12#define BSIM3v1Scqcheq BSIM3v1Sstates+ 13#define BSIM3v1Sqcdump BSIM3v1Sstates+ 14#define BSIM3v1Scqcdump BSIM3v1Sstates+ 15#define BSIM3v1Stau BSIM3v1Sstates+ 16#define BSIM3v1Sqdef BSIM3v1Sstates+ 17#define BSIM3v1SnumStates 18/* indices to the array of BSIM3v1S NOISE SOURCES */#define BSIM3v1SRDNOIZ 0#define BSIM3v1SRSNOIZ 1#define BSIM3v1SIDNOIZ 2#define BSIM3v1SFLNOIZ 3#define BSIM3v1STOTNOIZ 4#define BSIM3v1SNSRCS 5 /* the number of MOSFET(3) noise sources */#ifndef NONOISE double BSIM3v1SnVar[NSTATVARS][BSIM3v1SNSRCS];#else /* NONOISE */ double **BSIM3v1SnVar;#endif /* NONOISE */} BSIM3v1Sinstance ;struct bsim3v1sSizeDependParam{ double Width; double Length; double BSIM3v1Scdsc; double BSIM3v1Scdscb; double BSIM3v1Scdscd; double BSIM3v1Scit; double BSIM3v1Snfactor; double BSIM3v1Sxj; double BSIM3v1Svsat; double BSIM3v1Sat; double BSIM3v1Sa0; double BSIM3v1Sags; double BSIM3v1Sa1; double BSIM3v1Sa2; double BSIM3v1Sketa; double BSIM3v1Snsub; double BSIM3v1Snpeak; double BSIM3v1Sngate; double BSIM3v1Sgamma1; double BSIM3v1Sgamma2; double BSIM3v1Svbx; double BSIM3v1Svbi; double BSIM3v1Svbm; double BSIM3v1Svbsc; double BSIM3v1Sxt; double BSIM3v1Sphi; double BSIM3v1Slitl; double BSIM3v1Sk1; double BSIM3v1Skt1; double BSIM3v1Skt1l; double BSIM3v1Skt2; double BSIM3v1Sk2; double BSIM3v1Sk3; double BSIM3v1Sk3b; double BSIM3v1Sw0; double BSIM3v1Snlx; double BSIM3v1Sdvt0; double BSIM3v1Sdvt1; double BSIM3v1Sdvt2; double BSIM3v1Sdvt0w; double BSIM3v1Sdvt1w; double BSIM3v1Sdvt2w; double BSIM3v1Sdrout; double BSIM3v1Sdsub; double BSIM3v1Svth0; double BSIM3v1Sua; double BSIM3v1Sua1; double BSIM3v1Sub; double BSIM3v1Sub1; double BSIM3v1Suc; double BSIM3v1Suc1; double BSIM3v1Su0; double BSIM3v1Sute; double BSIM3v1Svoff; double BSIM3v1Svfb; double BSIM3v1Sdelta; double BSIM3v1Srdsw; double BSIM3v1Srds0; double BSIM3v1Sprwg; double BSIM3v1Sprwb; double BSIM3v1Sprt; double BSIM3v1Seta0; double BSIM3v1Setab; double BSIM3v1Spclm; double BSIM3v1Spdibl1; double BSIM3v1Spdibl2; double BSIM3v1Spdiblb; double BSIM3v1Spscbe1; double BSIM3v1Spscbe2; double BSIM3v1Spvag; double BSIM3v1Swr; double BSIM3v1Sdwg; double BSIM3v1Sdwb; double BSIM3v1Sb0; double BSIM3v1Sb1; double BSIM3v1Salpha0; double BSIM3v1Sbeta0; /* CV model */ double BSIM3v1Selm; double BSIM3v1Scgsl; double BSIM3v1Scgdl; double BSIM3v1Sckappa; double BSIM3v1Scf; double BSIM3v1Sclc; double BSIM3v1Scle; double BSIM3v1Svfbcv;/* Pre-calculated constants */ double BSIM3v1Sdw; double BSIM3v1Sdl; double BSIM3v1Sleff; double BSIM3v1Sweff; double BSIM3v1Sdwc; double BSIM3v1Sdlc; double BSIM3v1SleffCV; double BSIM3v1SweffCV; double BSIM3v1SabulkCVfactor; double BSIM3v1Scgso; double BSIM3v1Scgdo; double BSIM3v1Scgbo; double BSIM3v1Su0temp; double BSIM3v1Svsattemp; double BSIM3v1SsqrtPhi; double BSIM3v1Sphis3; double BSIM3v1SXdep0; double BSIM3v1SsqrtXdep0; double BSIM3v1Stheta0vb0; double BSIM3v1SthetaRout; double BSIM3v1Scof1; double BSIM3v1Scof2; double BSIM3v1Scof3; double BSIM3v1Scof4; double BSIM3v1Scdep0; struct bsim3v1sSizeDependParam *pNext;};typedef struct sBSIM3v1Smodel { int BSIM3v1SmodType; struct sBSIM3v1Smodel *BSIM3v1SnextModel; BSIM3v1Sinstance *BSIM3v1Sinstances; IFuid BSIM3v1SmodName; int BSIM3v1Stype; int BSIM3v1SmobMod; int BSIM3v1ScapMod; int BSIM3v1SnqsMod; int BSIM3v1SnoiMod; int BSIM3v1SbinUnit; int BSIM3v1SparamChk; double BSIM3v1Sversion; double BSIM3v1Stox; double BSIM3v1Scdsc; double BSIM3v1Scdscb; double BSIM3v1Scdscd; double BSIM3v1Scit; double BSIM3v1Snfactor; double BSIM3v1Sxj; double BSIM3v1Svsat; double BSIM3v1Sat; double BSIM3v1Sa0; double BSIM3v1Sags; double BSIM3v1Sa1; double BSIM3v1Sa2; double BSIM3v1Sketa; double BSIM3v1Snsub; double BSIM3v1Snpeak; double BSIM3v1Sngate; double BSIM3v1Sgamma1; double BSIM3v1Sgamma2; double BSIM3v1Svbx; double BSIM3v1Svbm; double BSIM3v1Sxt; double BSIM3v1Sk1; double BSIM3v1Skt1; double BSIM3v1Skt1l; double BSIM3v1Skt2; double BSIM3v1Sk2; double BSIM3v1Sk3; double BSIM3v1Sk3b; double BSIM3v1Sw0; double BSIM3v1Snlx; double BSIM3v1Sdvt0; double BSIM3v1Sdvt1; double BSIM3v1Sdvt2; double BSIM3v1Sdvt0w; double BSIM3v1Sdvt1w; double BSIM3v1Sdvt2w; double BSIM3v1Sdrout; double BSIM3v1Sdsub; double BSIM3v1Svth0; double BSIM3v1Sua; double BSIM3v1Sua1; double BSIM3v1Sub; double BSIM3v1Sub1; double BSIM3v1Suc; double BSIM3v1Suc1; double BSIM3v1Su0; double BSIM3v1Sute; double BSIM3v1Svoff; double BSIM3v1Sdelta; double BSIM3v1Srdsw; double BSIM3v1Sprwg; double BSIM3v1Sprwb; double BSIM3v1Sprt; double BSIM3v1Seta0; double BSIM3v1Setab; double BSIM3v1Spclm; double BSIM3v1Spdibl1; double BSIM3v1Spdibl2; double BSIM3v1Spdiblb; double BSIM3v1Spscbe1; double BSIM3v1Spscbe2; double BSIM3v1Spvag; double BSIM3v1Swr; double BSIM3v1Sdwg; double BSIM3v1Sdwb; double BSIM3v1Sb0; double BSIM3v1Sb1; double BSIM3v1Salpha0; double BSIM3v1Sbeta0;/* serban */ double BSIM3v1Shdif;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -