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

📄 bsim3v0def.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: bsim3v0def.h**********/#ifndef BSIM3v0#define BSIM3v0#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h"         typedef struct sBSIM3v0instance{    struct sBSIM3v0model *BSIM3v0modPtr;    struct sBSIM3v0instance *BSIM3v0nextInstance;    IFuid BSIM3v0name;    int BSIM3v0owner;      /* number of owner process */       int BSIM3v0states;     /* index into state table for this device */        int BSIM3v0dNode;    int BSIM3v0gNode;    int BSIM3v0sNode;    int BSIM3v0bNode;    int BSIM3v0dNodePrime;    int BSIM3v0sNodePrime;    int BSIM3v0qNode; /* MCJ */    /* MCJ */    double BSIM3v0ueff;    double BSIM3v0thetavth;     double BSIM3v0von;    double BSIM3v0vdsat;    double BSIM3v0cgdo;    double BSIM3v0cgso;    double BSIM3v0l;    double BSIM3v0w;    double BSIM3v0m;    double BSIM3v0drainArea;    double BSIM3v0sourceArea;    double BSIM3v0drainSquares;    double BSIM3v0sourceSquares;    double BSIM3v0drainPerimeter;    double BSIM3v0sourcePerimeter;    double BSIM3v0sourceConductance;    double BSIM3v0drainConductance;    double BSIM3v0icVBS;    double BSIM3v0icVDS;    double BSIM3v0icVGS;    int BSIM3v0off;    int BSIM3v0mode;    int BSIM3v0nqsMod;    /* OP point */    double BSIM3v0qinv;    double BSIM3v0cd;    double BSIM3v0cbs;    double BSIM3v0cbd;    double BSIM3v0csub;    double BSIM3v0gm;    double BSIM3v0gds;    double BSIM3v0gmbs;    double BSIM3v0gbd;    double BSIM3v0gbs;    double BSIM3v0gbbs;    double BSIM3v0gbgs;    double BSIM3v0gbds;    double BSIM3v0cggb;    double BSIM3v0cgdb;    double BSIM3v0cgsb;    double BSIM3v0cbgb;    double BSIM3v0cbdb;    double BSIM3v0cbsb;    double BSIM3v0cdgb;    double BSIM3v0cddb;    double BSIM3v0cdsb;    double BSIM3v0capbd;    double BSIM3v0capbs;    double BSIM3v0cqgb;    double BSIM3v0cqdb;    double BSIM3v0cqsb;    double BSIM3v0cqbb;    double BSIM3v0gtau;    double BSIM3v0gtg;    double BSIM3v0gtd;    double BSIM3v0gts;    double BSIM3v0gtb;    double BSIM3v0tconst;    struct bsim3v0SizeDependParam  *pParam;    unsigned BSIM3v0lGiven :1;    unsigned BSIM3v0wGiven :1;    unsigned BSIM3v0mGiven :1;    unsigned BSIM3v0drainAreaGiven :1;    unsigned BSIM3v0sourceAreaGiven    :1;    unsigned BSIM3v0drainSquaresGiven  :1;    unsigned BSIM3v0sourceSquaresGiven :1;    unsigned BSIM3v0drainPerimeterGiven    :1;    unsigned BSIM3v0sourcePerimeterGiven   :1;    unsigned BSIM3v0dNodePrimeSet  :1;    unsigned BSIM3v0sNodePrimeSet  :1;    unsigned BSIM3v0icVBSGiven :1;    unsigned BSIM3v0icVDSGiven :1;    unsigned BSIM3v0icVGSGiven :1;    unsigned BSIM3v0nqsModGiven :1;    double *BSIM3v0DdPtr;    double *BSIM3v0GgPtr;    double *BSIM3v0SsPtr;    double *BSIM3v0BbPtr;    double *BSIM3v0DPdpPtr;    double *BSIM3v0SPspPtr;    double *BSIM3v0DdpPtr;    double *BSIM3v0GbPtr;    double *BSIM3v0GdpPtr;    double *BSIM3v0GspPtr;    double *BSIM3v0SspPtr;    double *BSIM3v0BdpPtr;    double *BSIM3v0BspPtr;    double *BSIM3v0DPspPtr;    double *BSIM3v0DPdPtr;    double *BSIM3v0BgPtr;    double *BSIM3v0DPgPtr;    double *BSIM3v0SPgPtr;    double *BSIM3v0SPsPtr;    double *BSIM3v0DPbPtr;    double *BSIM3v0SPbPtr;    double *BSIM3v0SPdpPtr;    double *BSIM3v0QqPtr;    double *BSIM3v0QdpPtr;    double *BSIM3v0QgPtr;    double *BSIM3v0QspPtr;    double *BSIM3v0QbPtr;    double *BSIM3v0DPqPtr;    double *BSIM3v0GqPtr;    double *BSIM3v0SPqPtr;    double *BSIM3v0BqPtr;#define BSIM3v0vbd BSIM3v0states+ 0#define BSIM3v0vbs BSIM3v0states+ 1#define BSIM3v0vgs BSIM3v0states+ 2#define BSIM3v0vds BSIM3v0states+ 3#define BSIM3v0qb BSIM3v0states+ 4#define BSIM3v0cqb BSIM3v0states+ 5#define BSIM3v0qg BSIM3v0states+ 6#define BSIM3v0cqg BSIM3v0states+ 7#define BSIM3v0qd BSIM3v0states+ 8#define BSIM3v0cqd BSIM3v0states+ 9#define BSIM3v0qbs  BSIM3v0states+ 10#define BSIM3v0qbd  BSIM3v0states+ 11#define BSIM3v0qcheq BSIM3v0states+ 12#define BSIM3v0cqcheq BSIM3v0states+ 13#define BSIM3v0qcdump BSIM3v0states+ 14#define BSIM3v0cqcdump BSIM3v0states+ 15#define BSIM3v0tau BSIM3v0states+ 16#define BSIM3v0qdef BSIM3v0states+ 17#define BSIM3v0numStates 18/* indices to the array of BSIM3v0 NOISE SOURCES */#define BSIM3v0RDNOIZ       0#define BSIM3v0RSNOIZ       1#define BSIM3v0IDNOIZ       2#define BSIM3v0FLNOIZ       3#define BSIM3v0TOTNOIZ      4#define BSIM3v0NSRCS        5     /* the number of MOSFET(3) noise sources */#ifndef NONOISE    double BSIM3v0nVar[NSTATVARS][BSIM3v0NSRCS];#else /* NONOISE */        double **BSIM3v0nVar;#endif /* NONOISE */} BSIM3v0instance ;struct bsim3v0SizeDependParam{    double Width;    double Length;    double BSIM3v0cdsc;               double BSIM3v0cdscb;        double BSIM3v0cdscd;           double BSIM3v0cit;               double BSIM3v0nfactor;          double BSIM3v0xj;    double BSIM3v0vsat;             double BSIM3v0at;             double BSIM3v0a0;       double BSIM3v0ags;          double BSIM3v0a1;             double BSIM3v0a2;             double BSIM3v0keta;         double BSIM3v0nsub;    double BSIM3v0npeak;            double BSIM3v0ngate;            double BSIM3v0gamma1;          double BSIM3v0gamma2;         double BSIM3v0vbx;          double BSIM3v0vbi;           double BSIM3v0vbm;           double BSIM3v0vbsc;           double BSIM3v0xt;           double BSIM3v0phi;    double BSIM3v0litl;    double BSIM3v0k1;    double BSIM3v0kt1;    double BSIM3v0kt1l;    double BSIM3v0kt2;    double BSIM3v0k2;    double BSIM3v0k3;    double BSIM3v0k3b;    double BSIM3v0w0;    double BSIM3v0nlx;    double BSIM3v0dvt0;          double BSIM3v0dvt1;          double BSIM3v0dvt2;          double BSIM3v0dvt0w;          double BSIM3v0dvt1w;          double BSIM3v0dvt2w;          double BSIM3v0drout;          double BSIM3v0dsub;          double BSIM3v0vth0;    double BSIM3v0ua;    double BSIM3v0ua1;    double BSIM3v0ub;    double BSIM3v0ub1;    double BSIM3v0uc;    double BSIM3v0uc1;    double BSIM3v0u0;    double BSIM3v0ute;    double BSIM3v0voff;    double BSIM3v0vfb;    double BSIM3v0delta;    double BSIM3v0rdsw;           double BSIM3v0rds0;           double BSIM3v0prwg;           double BSIM3v0prwb;           double BSIM3v0prt;           double BSIM3v0eta0;             double BSIM3v0etab;             double BSIM3v0pclm;          double BSIM3v0pdibl1;          double BSIM3v0pdibl2;          double BSIM3v0pdiblb;          double BSIM3v0pscbe1;           double BSIM3v0pscbe2;           double BSIM3v0pvag;           double BSIM3v0wr;    double BSIM3v0dwg;    double BSIM3v0dwb;    double BSIM3v0b0;    double BSIM3v0b1;    double BSIM3v0alpha0;    double BSIM3v0beta0;    /* CV model */    double BSIM3v0elm;    double BSIM3v0cgsl;    double BSIM3v0cgdl;    double BSIM3v0ckappa;    double BSIM3v0cf;    double BSIM3v0clc;    double BSIM3v0cle;/* Pre-calculated constants */    double BSIM3v0dw;    double BSIM3v0dl;    double BSIM3v0leff;    double BSIM3v0weff;    double BSIM3v0dwc;    double BSIM3v0dlc;    double BSIM3v0leffCV;    double BSIM3v0weffCV;    double BSIM3v0abulkCVfactor;    double BSIM3v0cgso;    double BSIM3v0cgdo;    double BSIM3v0cgbo;    double BSIM3v0u0temp;           double BSIM3v0vsattemp;       double BSIM3v0sqrtPhi;       double BSIM3v0phis3;       double BSIM3v0Xdep0;              double BSIM3v0sqrtXdep0;              double BSIM3v0theta0vb0;    double BSIM3v0thetaRout;     double BSIM3v0cof1;    double BSIM3v0cof2;    double BSIM3v0cof3;    double BSIM3v0cof4;    double BSIM3v0cdep0;    struct bsim3v0SizeDependParam  *pNext;};typedef struct sBSIM3v0model {    int BSIM3v0modType;    struct sBSIM3v0model *BSIM3v0nextModel;    BSIM3v0instance *BSIM3v0instances;    IFuid BSIM3v0modName;     int BSIM3v0type;    int    BSIM3v0mobMod;    int    BSIM3v0capMod;    int    BSIM3v0nqsMod;    int    BSIM3v0noiMod;    int    BSIM3v0binUnit;    double BSIM3v0tox;                 double BSIM3v0cdsc;               double BSIM3v0cdscb;     double BSIM3v0cdscd;              double BSIM3v0cit;               double BSIM3v0nfactor;          double BSIM3v0xj;    double BSIM3v0vsat;             double BSIM3v0at;             double BSIM3v0a0;       double BSIM3v0ags;          double BSIM3v0a1;             double BSIM3v0a2;             double BSIM3v0keta;         double BSIM3v0nsub;    double BSIM3v0npeak;            double BSIM3v0ngate;            double BSIM3v0gamma1;          double BSIM3v0gamma2;         double BSIM3v0vbx;          double BSIM3v0vbm;           double BSIM3v0xt;           double BSIM3v0k1;    double BSIM3v0kt1;    double BSIM3v0kt1l;    double BSIM3v0kt2;    double BSIM3v0k2;    double BSIM3v0k3;    double BSIM3v0k3b;    double BSIM3v0w0;    double BSIM3v0nlx;    double BSIM3v0dvt0;          double BSIM3v0dvt1;          double BSIM3v0dvt2;          double BSIM3v0dvt0w;          double BSIM3v0dvt1w;          double BSIM3v0dvt2w;          double BSIM3v0drout;          double BSIM3v0dsub;          double BSIM3v0vth0;    double BSIM3v0ua;    double BSIM3v0ua1;    double BSIM3v0ub;    double BSIM3v0ub1;    double BSIM3v0uc;    double BSIM3v0uc1;    double BSIM3v0u0;    double BSIM3v0ute;    double BSIM3v0voff;    double BSIM3v0delta;    double BSIM3v0rdsw;           double BSIM3v0prwg;    double BSIM3v0prwb;    double BSIM3v0prt;           double BSIM3v0eta0;             double BSIM3v0etab;             double BSIM3v0pclm;          double BSIM3v0pdibl1;          double BSIM3v0pdibl2;          double BSIM3v0pdiblb;    double BSIM3v0pscbe1;           double BSIM3v0pscbe2;           double BSIM3v0pvag;           double BSIM3v0wr;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -