⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsim3v1adef.h

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 H
📖 第 1 页 / 共 4 页
字号:
/**********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 + -