📄 b3soidef.h
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1998 Samuel FungFile: b3soidef.hModified by Pin Su and Jan Feng 99/2/15Modified by Pin Su 99/4/30Modified by Pin Su and Wei Jin 99/9/27Modified by Pin Su 00/3/1Modified by Pin Su 01/2/15Modified by Pin Su and Hui Wan 02/3/5Modified by Pin Su 02/5/20Modified by Paolo Nenzi 2002**********/#ifndef B3SOI#define B3SOI#define SOICODE/* #define BULKCODE */#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sB3SOIinstance{ struct sB3SOImodel *B3SOImodPtr; struct sB3SOIinstance *B3SOInextInstance; IFuid B3SOIname; int B3SOIowner; /* number of owner process */ int B3SOIstates; /* index into state table for this device */ int B3SOIdNode; int B3SOIgNode; int B3SOIsNode; int B3SOIeNode; int B3SOIpNode; int B3SOIbNode; int B3SOItempNode; int B3SOIdNodePrime; int B3SOIsNodePrime; int B3SOIvbsNode; /* for Debug */ int B3SOIidsNode; int B3SOIicNode; int B3SOIibsNode; int B3SOIibdNode; int B3SOIiiiNode; int B3SOIigNode; int B3SOIgiggNode; int B3SOIgigdNode; int B3SOIgigbNode; int B3SOIigidlNode; int B3SOIitunNode; int B3SOIibpNode; int B3SOIcbbNode; int B3SOIcbdNode; int B3SOIcbgNode; int B3SOIqbfNode; int B3SOIqjsNode; int B3SOIqjdNode; double B3SOIphi; double B3SOIvtm; double B3SOIni; double B3SOIueff; double B3SOIthetavth; double B3SOIvon; double B3SOIvdsat; double B3SOIcgdo; double B3SOIcgso; double B3SOIcgeo; double B3SOIids; double B3SOIic; double B3SOIibs; double B3SOIibd; double B3SOIiii; double B3SOIig; double B3SOIgigg; double B3SOIgigd; double B3SOIgigb; double B3SOIgige; /* v3.0 */ double B3SOIigidl; double B3SOIitun; double B3SOIibp; double B3SOIabeff; double B3SOIvbseff; double B3SOIcbg; double B3SOIcbb; double B3SOIcbd; double B3SOIqb; double B3SOIqbf; double B3SOIqjs; double B3SOIqjd; int B3SOIfloat; double B3SOIl; double B3SOIw; double B3SOIm; double B3SOIdrainArea; double B3SOIsourceArea; double B3SOIdrainSquares; double B3SOIsourceSquares; double B3SOIdrainPerimeter; double B3SOIsourcePerimeter; double B3SOIsourceConductance; double B3SOIdrainConductance; double B3SOIicVBS; double B3SOIicVDS; double B3SOIicVGS; double B3SOIicVES; double B3SOIicVPS; int B3SOIbjtoff; int B3SOIbodyMod; int B3SOIdebugMod; double B3SOIrth0; double B3SOIcth0; double B3SOIbodySquares; double B3SOIrbodyext; double B3SOIfrbody;/* v2.0 release */ double B3SOInbc; double B3SOInseg; double B3SOIpdbcp; double B3SOIpsbcp; double B3SOIagbcp; double B3SOIaebcp; double B3SOIvbsusr; int B3SOItnodeout;/* Deleted from pParam and moved to here */ double B3SOIcsesw; double B3SOIcdesw; double B3SOIcsbox; double B3SOIcdbox; double B3SOIcsmin; double B3SOIcdmin; double B3SOIst4; double B3SOIdt4; int B3SOIoff; int B3SOImode; /* OP point */ double B3SOIqinv; double B3SOIcd; double B3SOIcjs; double B3SOIcjd; double B3SOIcbody;/* v2.2 release */ double B3SOIcgate; double B3SOIgigs; double B3SOIgigT; double B3SOIcbodcon; double B3SOIcth; double B3SOIcsubstrate; double B3SOIgm; double B3SOIgme; /* v3.0 */ double B3SOIcb; double B3SOIcdrain; double B3SOIgds; double B3SOIgmbs; double B3SOIgmT; double B3SOIgbbs; double B3SOIgbgs; double B3SOIgbds; double B3SOIgbes; /* v3.0 */ double B3SOIgbps; double B3SOIgbT;/* v3.0 */ double B3SOIIgcs; double B3SOIgIgcsg; double B3SOIgIgcsd; double B3SOIgIgcss; double B3SOIgIgcsb; double B3SOIIgcd; double B3SOIgIgcdg; double B3SOIgIgcdd; double B3SOIgIgcds; double B3SOIgIgcdb; double B3SOIIgs; double B3SOIgIgsg; double B3SOIgIgss; double B3SOIIgd; double B3SOIgIgdg; double B3SOIgIgdd; double B3SOIgjsd; double B3SOIgjsb; double B3SOIgjsg; double B3SOIgjsT; double B3SOIgjdb; double B3SOIgjdd; double B3SOIgjdg; double B3SOIgjde; /* v3.0 */ double B3SOIgjdT; double B3SOIgbpbs; double B3SOIgbpps; double B3SOIgbpT; double B3SOIgtempb; double B3SOIgtempg; double B3SOIgtempd; double B3SOIgtempe; /* v3.0 */ double B3SOIgtempT; double B3SOIcggb; double B3SOIcgdb; double B3SOIcgsb; double B3SOIcgT; double B3SOIcbgb; double B3SOIcbdb; double B3SOIcbsb; double B3SOIcbeb; double B3SOIcbT; double B3SOIcdgb; double B3SOIcddb; double B3SOIcdsb; double B3SOIcdeb; double B3SOIcdT; double B3SOIceeb; double B3SOIceT; double B3SOIqse; double B3SOIgcse; double B3SOIqde; double B3SOIgcde; double B3SOIrds; /* v2.2.3 */ double B3SOIVgsteff; /* v2.2.3 */ double B3SOIVdseff; /* v2.2.3 */ double B3SOIAbovVgst2Vtm; /* v2.2.3 */ struct b3soiSizeDependParam *pParam; unsigned B3SOIlGiven :1; unsigned B3SOIwGiven :1; unsigned B3SOImGiven :1; unsigned B3SOIdrainAreaGiven :1; unsigned B3SOIsourceAreaGiven :1; unsigned B3SOIdrainSquaresGiven :1; unsigned B3SOIsourceSquaresGiven :1; unsigned B3SOIdrainPerimeterGiven :1; unsigned B3SOIsourcePerimeterGiven :1; unsigned B3SOIdNodePrimeSet :1; unsigned B3SOIsNodePrimeSet :1; unsigned B3SOIicVBSGiven :1; unsigned B3SOIicVDSGiven :1; unsigned B3SOIicVGSGiven :1; unsigned B3SOIicVESGiven :1; unsigned B3SOIicVPSGiven :1; unsigned B3SOIbjtoffGiven :1; unsigned B3SOIdebugModGiven :1; unsigned B3SOIrth0Given :1; unsigned B3SOIcth0Given :1; unsigned B3SOIbodySquaresGiven :1; unsigned B3SOIfrbodyGiven: 1;/* v2.0 release */ unsigned B3SOInbcGiven :1; unsigned B3SOInsegGiven :1; unsigned B3SOIpdbcpGiven :1; unsigned B3SOIpsbcpGiven :1; unsigned B3SOIagbcpGiven :1; unsigned B3SOIaebcpGiven :1; unsigned B3SOIvbsusrGiven :1; unsigned B3SOItnodeoutGiven :1; unsigned B3SOIoffGiven :1; double *B3SOIGePtr; double *B3SOIDPePtr; double *B3SOISPePtr; double *B3SOIEePtr; double *B3SOIEbPtr; double *B3SOIBePtr; double *B3SOIEgPtr; double *B3SOIEdpPtr; double *B3SOIEspPtr; double *B3SOITemptempPtr; double *B3SOITempdpPtr; double *B3SOITempspPtr; double *B3SOITempgPtr; double *B3SOITempbPtr; double *B3SOITempePtr; /* v3.0 */ double *B3SOIGtempPtr; double *B3SOIDPtempPtr; double *B3SOISPtempPtr; double *B3SOIEtempPtr; double *B3SOIBtempPtr; double *B3SOIPtempPtr; double *B3SOIBpPtr; double *B3SOIPbPtr; double *B3SOIPpPtr; double *B3SOIDdPtr; double *B3SOIGgPtr; double *B3SOISsPtr; double *B3SOIBbPtr; double *B3SOIDPdpPtr; double *B3SOISPspPtr; double *B3SOIDdpPtr; double *B3SOIGbPtr; double *B3SOIGdpPtr; double *B3SOIGspPtr; double *B3SOISspPtr; double *B3SOIBdpPtr; double *B3SOIBspPtr; double *B3SOIDPspPtr; double *B3SOIDPdPtr; double *B3SOIBgPtr; double *B3SOIDPgPtr; double *B3SOISPgPtr; double *B3SOISPsPtr; double *B3SOIDPbPtr; double *B3SOISPbPtr; double *B3SOISPdpPtr; double *B3SOIVbsPtr; /* Debug */ double *B3SOIIdsPtr; double *B3SOIIcPtr; double *B3SOIIbsPtr; double *B3SOIIbdPtr; double *B3SOIIiiPtr; double *B3SOIIgPtr; double *B3SOIGiggPtr; double *B3SOIGigdPtr; double *B3SOIGigbPtr; double *B3SOIIgidlPtr; double *B3SOIItunPtr; double *B3SOIIbpPtr; double *B3SOICbbPtr; double *B3SOICbdPtr; double *B3SOICbgPtr; double *B3SOIqbPtr; double *B3SOIQbfPtr; double *B3SOIQjsPtr; double *B3SOIQjdPtr;#define B3SOIvbd B3SOIstates+ 0#define B3SOIvbs B3SOIstates+ 1#define B3SOIvgs B3SOIstates+ 2#define B3SOIvds B3SOIstates+ 3#define B3SOIves B3SOIstates+ 4#define B3SOIvps B3SOIstates+ 5#define B3SOIvg B3SOIstates+ 6#define B3SOIvd B3SOIstates+ 7#define B3SOIvs B3SOIstates+ 8#define B3SOIvp B3SOIstates+ 9#define B3SOIve B3SOIstates+ 10#define B3SOIdeltemp B3SOIstates+ 11#define B3SOIqb B3SOIstates+ 12#define B3SOIcqb B3SOIstates+ 13#define B3SOIqg B3SOIstates+ 14#define B3SOIcqg B3SOIstates+ 15#define B3SOIqd B3SOIstates+ 16#define B3SOIcqd B3SOIstates+ 17#define B3SOIqe B3SOIstates+ 18#define B3SOIcqe B3SOIstates+ 19#define B3SOIqbs B3SOIstates+ 20#define B3SOIqbd B3SOIstates+ 21#define B3SOIqbe B3SOIstates+ 22#define B3SOIqth B3SOIstates+ 23#define B3SOIcqth B3SOIstates+ 24#define B3SOInumStates 25/* indices to the array of B3SOI NOISE SOURCES */#define B3SOIRDNOIZ 0#define B3SOIRSNOIZ 1#define B3SOIIDNOIZ 2#define B3SOIFLNOIZ 3#define B3SOIFBNOIZ 4#define B3SOITOTNOIZ 5#define B3SOINSRCS 6 /* the number of MOSFET(3) noise sources */#ifndef NONOISE double B3SOInVar[NSTATVARS][B3SOINSRCS];#else /* NONOISE */ double **B3SOInVar;#endif /* NONOISE */} B3SOIinstance ;struct b3soiSizeDependParam{ double Width; double Length; double Rth0; double Cth0; double B3SOIcdsc; double B3SOIcdscb; double B3SOIcdscd; double B3SOIcit; double B3SOInfactor; double B3SOIvsat; double B3SOIat; double B3SOIa0; double B3SOIags; double B3SOIa1; double B3SOIa2; double B3SOIketa; double B3SOInpeak; double B3SOInsub; double B3SOIngate; double B3SOIgamma1; double B3SOIgamma2; double B3SOIvbx; double B3SOIvbi; double B3SOIvbm; double B3SOIvbsc; double B3SOIxt; double B3SOIphi; double B3SOIlitl; double B3SOIk1; double B3SOIkt1; double B3SOIkt1l; double B3SOIkt2; double B3SOIk2; double B3SOIk3; double B3SOIk3b; double B3SOIw0; double B3SOInlx; double B3SOIdvt0; double B3SOIdvt1; double B3SOIdvt2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -