📄 b3soipddef.h
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1998 Samuel FungFile: b3soipddef.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 Paolo Nenzi 2002**********/#ifndef B3SOIPD#define B3SOIPD#define SOICODE/* #define BULKCODE */#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h" typedef struct sB3SOIPDinstance{ struct sB3SOIPDmodel *B3SOIPDmodPtr; struct sB3SOIPDinstance *B3SOIPDnextInstance; IFuid B3SOIPDname; int B3SOIPDowner; /* number of owner process */ int B3SOIPDstates; /* index into state table for this device */ int B3SOIPDdNode; int B3SOIPDgNode; int B3SOIPDsNode; int B3SOIPDeNode; int B3SOIPDpNode; int B3SOIPDbNode; int B3SOIPDtempNode; int B3SOIPDdNodePrime; int B3SOIPDsNodePrime; int B3SOIPDvbsNode; /* for Debug */ int B3SOIPDidsNode; int B3SOIPDicNode; int B3SOIPDibsNode; int B3SOIPDibdNode; int B3SOIPDiiiNode; int B3SOIPDigNode; int B3SOIPDgiggNode; int B3SOIPDgigdNode; int B3SOIPDgigbNode; int B3SOIPDigidlNode; int B3SOIPDitunNode; int B3SOIPDibpNode; int B3SOIPDcbbNode; int B3SOIPDcbdNode; int B3SOIPDcbgNode; int B3SOIPDqbfNode; int B3SOIPDqjsNode; int B3SOIPDqjdNode; double B3SOIPDphi; double B3SOIPDvtm; double B3SOIPDni; double B3SOIPDueff; double B3SOIPDthetavth; double B3SOIPDvon; double B3SOIPDvdsat; double B3SOIPDcgdo; double B3SOIPDcgso; double B3SOIPDcgeo; double B3SOIPDids; double B3SOIPDic; double B3SOIPDibs; double B3SOIPDibd; double B3SOIPDiii; double B3SOIPDig; double B3SOIPDgigg; double B3SOIPDgigd; double B3SOIPDgigb; double B3SOIPDigidl; double B3SOIPDitun; double B3SOIPDibp; double B3SOIPDabeff; double B3SOIPDvbseff; double B3SOIPDcbg; double B3SOIPDcbb; double B3SOIPDcbd; double B3SOIPDqb; double B3SOIPDqbf; double B3SOIPDqjs; double B3SOIPDqjd; int B3SOIPDfloat; double B3SOIPDl; double B3SOIPDw; double B3SOIPDm; double B3SOIPDdrainArea; double B3SOIPDsourceArea; double B3SOIPDdrainSquares; double B3SOIPDsourceSquares; double B3SOIPDdrainPerimeter; double B3SOIPDsourcePerimeter; double B3SOIPDsourceConductance; double B3SOIPDdrainConductance; double B3SOIPDicVBS; double B3SOIPDicVDS; double B3SOIPDicVGS; double B3SOIPDicVES; double B3SOIPDicVPS; int B3SOIPDbjtoff; int B3SOIPDbodyMod; int B3SOIPDdebugMod; double B3SOIPDrth0; double B3SOIPDcth0; double B3SOIPDbodySquares; double B3SOIPDrbodyext; double B3SOIPDfrbody;/* v2.0 release */ double B3SOIPDnbc; double B3SOIPDnseg; double B3SOIPDpdbcp; double B3SOIPDpsbcp; double B3SOIPDagbcp; double B3SOIPDaebcp; double B3SOIPDvbsusr; int B3SOIPDtnodeout;/* Deleted from pParam and moved to here */ double B3SOIPDcsesw; double B3SOIPDcdesw; double B3SOIPDcsbox; double B3SOIPDcdbox; double B3SOIPDcsmin; double B3SOIPDcdmin; double B3SOIPDst4; double B3SOIPDdt4; int B3SOIPDoff; int B3SOIPDmode; /* OP point */ double B3SOIPDqinv; double B3SOIPDcd; double B3SOIPDcjs; double B3SOIPDcjd; double B3SOIPDcbody;/* v2.2 release */ double B3SOIPDcgate; double B3SOIPDgigs; double B3SOIPDgigT; double B3SOIPDcbodcon; double B3SOIPDcth; double B3SOIPDcsubstrate; double B3SOIPDgm; double B3SOIPDcb; double B3SOIPDcdrain; double B3SOIPDgds; double B3SOIPDgmbs; double B3SOIPDgmT; double B3SOIPDgbbs; double B3SOIPDgbgs; double B3SOIPDgbds; double B3SOIPDgbps; double B3SOIPDgbT; double B3SOIPDgjsd; double B3SOIPDgjsb; double B3SOIPDgjsg; double B3SOIPDgjsT; double B3SOIPDgjdb; double B3SOIPDgjdd; double B3SOIPDgjdg; double B3SOIPDgjdT; double B3SOIPDgbpbs; double B3SOIPDgbpps; double B3SOIPDgbpT; double B3SOIPDgtempb; double B3SOIPDgtempg; double B3SOIPDgtempd; double B3SOIPDgtempT; double B3SOIPDcggb; double B3SOIPDcgdb; double B3SOIPDcgsb; double B3SOIPDcgT; double B3SOIPDcbgb; double B3SOIPDcbdb; double B3SOIPDcbsb; double B3SOIPDcbeb; double B3SOIPDcbT; double B3SOIPDcdgb; double B3SOIPDcddb; double B3SOIPDcdsb; double B3SOIPDcdeb; double B3SOIPDcdT; double B3SOIPDceeb; double B3SOIPDceT; double B3SOIPDqse; double B3SOIPDgcse; double B3SOIPDqde; double B3SOIPDgcde; double B3SOIPDrds; /* v2.2.3 */ double B3SOIPDVgsteff; /* v2.2.3 */ double B3SOIPDVdseff; /* v2.2.3 */ double B3SOIPDAbovVgst2Vtm; /* v2.2.3 */ struct b3soipdSizeDependParam *pParam; unsigned B3SOIPDlGiven :1; unsigned B3SOIPDwGiven :1; unsigned B3SOIPDmGiven :1; unsigned B3SOIPDdrainAreaGiven :1; unsigned B3SOIPDsourceAreaGiven :1; unsigned B3SOIPDdrainSquaresGiven :1; unsigned B3SOIPDsourceSquaresGiven :1; unsigned B3SOIPDdrainPerimeterGiven :1; unsigned B3SOIPDsourcePerimeterGiven :1; unsigned B3SOIPDdNodePrimeSet :1; unsigned B3SOIPDsNodePrimeSet :1; unsigned B3SOIPDicVBSGiven :1; unsigned B3SOIPDicVDSGiven :1; unsigned B3SOIPDicVGSGiven :1; unsigned B3SOIPDicVESGiven :1; unsigned B3SOIPDicVPSGiven :1; unsigned B3SOIPDbjtoffGiven :1; unsigned B3SOIPDdebugModGiven :1; unsigned B3SOIPDrth0Given :1; unsigned B3SOIPDcth0Given :1; unsigned B3SOIPDbodySquaresGiven :1; unsigned B3SOIPDfrbodyGiven: 1;/* v2.0 release */ unsigned B3SOIPDnbcGiven :1; unsigned B3SOIPDnsegGiven :1; unsigned B3SOIPDpdbcpGiven :1; unsigned B3SOIPDpsbcpGiven :1; unsigned B3SOIPDagbcpGiven :1; unsigned B3SOIPDaebcpGiven :1; unsigned B3SOIPDvbsusrGiven :1; unsigned B3SOIPDtnodeoutGiven :1; unsigned B3SOIPDoffGiven :1; double *B3SOIPDGePtr; double *B3SOIPDDPePtr; double *B3SOIPDSPePtr; double *B3SOIPDEePtr; double *B3SOIPDEbPtr; double *B3SOIPDBePtr; double *B3SOIPDEgPtr; double *B3SOIPDEdpPtr; double *B3SOIPDEspPtr; double *B3SOIPDTemptempPtr; double *B3SOIPDTempdpPtr; double *B3SOIPDTempspPtr; double *B3SOIPDTempgPtr; double *B3SOIPDTempbPtr; double *B3SOIPDGtempPtr; double *B3SOIPDDPtempPtr; double *B3SOIPDSPtempPtr; double *B3SOIPDEtempPtr; double *B3SOIPDBtempPtr; double *B3SOIPDPtempPtr; double *B3SOIPDBpPtr; double *B3SOIPDPbPtr; double *B3SOIPDPpPtr; double *B3SOIPDDdPtr; double *B3SOIPDGgPtr; double *B3SOIPDSsPtr; double *B3SOIPDBbPtr; double *B3SOIPDDPdpPtr; double *B3SOIPDSPspPtr; double *B3SOIPDDdpPtr; double *B3SOIPDGbPtr; double *B3SOIPDGdpPtr; double *B3SOIPDGspPtr; double *B3SOIPDSspPtr; double *B3SOIPDBdpPtr; double *B3SOIPDBspPtr; double *B3SOIPDDPspPtr; double *B3SOIPDDPdPtr; double *B3SOIPDBgPtr; double *B3SOIPDDPgPtr; double *B3SOIPDSPgPtr; double *B3SOIPDSPsPtr; double *B3SOIPDDPbPtr; double *B3SOIPDSPbPtr; double *B3SOIPDSPdpPtr; double *B3SOIPDVbsPtr; /* Debug */ double *B3SOIPDIdsPtr; double *B3SOIPDIcPtr; double *B3SOIPDIbsPtr; double *B3SOIPDIbdPtr; double *B3SOIPDIiiPtr; double *B3SOIPDIgPtr; double *B3SOIPDGiggPtr; double *B3SOIPDGigdPtr; double *B3SOIPDGigbPtr; double *B3SOIPDIgidlPtr; double *B3SOIPDItunPtr; double *B3SOIPDIbpPtr; double *B3SOIPDCbbPtr; double *B3SOIPDCbdPtr; double *B3SOIPDCbgPtr; double *B3SOIPDqbPtr; double *B3SOIPDQbfPtr; double *B3SOIPDQjsPtr; double *B3SOIPDQjdPtr;#define B3SOIPDvbd B3SOIPDstates+ 0#define B3SOIPDvbs B3SOIPDstates+ 1#define B3SOIPDvgs B3SOIPDstates+ 2#define B3SOIPDvds B3SOIPDstates+ 3#define B3SOIPDves B3SOIPDstates+ 4#define B3SOIPDvps B3SOIPDstates+ 5#define B3SOIPDvg B3SOIPDstates+ 6#define B3SOIPDvd B3SOIPDstates+ 7#define B3SOIPDvs B3SOIPDstates+ 8#define B3SOIPDvp B3SOIPDstates+ 9#define B3SOIPDve B3SOIPDstates+ 10#define B3SOIPDdeltemp B3SOIPDstates+ 11#define B3SOIPDqb B3SOIPDstates+ 12#define B3SOIPDcqb B3SOIPDstates+ 13#define B3SOIPDqg B3SOIPDstates+ 14#define B3SOIPDcqg B3SOIPDstates+ 15#define B3SOIPDqd B3SOIPDstates+ 16#define B3SOIPDcqd B3SOIPDstates+ 17#define B3SOIPDqe B3SOIPDstates+ 18#define B3SOIPDcqe B3SOIPDstates+ 19#define B3SOIPDqbs B3SOIPDstates+ 20#define B3SOIPDqbd B3SOIPDstates+ 21#define B3SOIPDqbe B3SOIPDstates+ 22#define B3SOIPDqth B3SOIPDstates+ 23#define B3SOIPDcqth B3SOIPDstates+ 24#define B3SOIPDnumStates 25/* indices to the array of B3SOIPD NOISE SOURCES */#define B3SOIPDRDNOIZ 0#define B3SOIPDRSNOIZ 1#define B3SOIPDIDNOIZ 2#define B3SOIPDFLNOIZ 3#define B3SOIPDFBNOIZ 4#define B3SOIPDTOTNOIZ 5#define B3SOIPDNSRCS 6 /* the number of MOSFET(3) noise sources */#ifndef NONOISE double B3SOIPDnVar[NSTATVARS][B3SOIPDNSRCS];#else /* NONOISE */ double **B3SOIPDnVar;#endif /* NONOISE */} B3SOIPDinstance ;struct b3soipdSizeDependParam{ double Width; double Length; double Rth0; double Cth0; double B3SOIPDcdsc; double B3SOIPDcdscb; double B3SOIPDcdscd; double B3SOIPDcit; double B3SOIPDnfactor; double B3SOIPDvsat; double B3SOIPDat; double B3SOIPDa0; double B3SOIPDags; double B3SOIPDa1; double B3SOIPDa2; double B3SOIPDketa; double B3SOIPDnpeak; double B3SOIPDnsub; double B3SOIPDngate; double B3SOIPDgamma1; double B3SOIPDgamma2; double B3SOIPDvbx; double B3SOIPDvbi; double B3SOIPDvbm; double B3SOIPDvbsc; double B3SOIPDxt; double B3SOIPDphi; double B3SOIPDlitl; double B3SOIPDk1; double B3SOIPDkt1; double B3SOIPDkt1l; double B3SOIPDkt2; double B3SOIPDk2; double B3SOIPDk3; double B3SOIPDk3b;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -