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

📄 bsim3v1def.h

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 H
📖 第 1 页 / 共 4 页
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.Modified: 2002 Paolo Nenzi.File: bsim3v1def.h**********/#ifndef BSIM3v1#define BSIM3v1#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h"         typedef struct sBSIM3v1instance{    struct sBSIM3v1model *BSIM3v1modPtr;    struct sBSIM3v1instance *BSIM3v1nextInstance;    IFuid BSIM3v1name;      int BSIM3v1owner;      /* number of owner process */       int BSIM3v1states;     /* index into state table for this device */    int BSIM3v1dNode;    int BSIM3v1gNode;    int BSIM3v1sNode;    int BSIM3v1bNode;    int BSIM3v1dNodePrime;    int BSIM3v1sNodePrime;    int BSIM3v1qNode; /* MCJ */    /* MCJ */    double BSIM3v1ueff;    double BSIM3v1thetavth;     double BSIM3v1von;    double BSIM3v1vdsat;    double BSIM3v1cgdo;    double BSIM3v1cgso;    double BSIM3v1l;    double BSIM3v1w;    double BSIM3v1m;    double BSIM3v1drainArea;    double BSIM3v1sourceArea;    double BSIM3v1drainSquares;    double BSIM3v1sourceSquares;    double BSIM3v1drainPerimeter;    double BSIM3v1sourcePerimeter;    double BSIM3v1sourceConductance;    double BSIM3v1drainConductance;    double BSIM3v1icVBS;    double BSIM3v1icVDS;    double BSIM3v1icVGS;    int BSIM3v1off;    int BSIM3v1mode;    int BSIM3v1nqsMod;    /* OP point */    double BSIM3v1qinv;    double BSIM3v1cd;    double BSIM3v1cbs;    double BSIM3v1cbd;    double BSIM3v1csub;    double BSIM3v1gm;    double BSIM3v1gds;    double BSIM3v1gmbs;    double BSIM3v1gbd;    double BSIM3v1gbs;    double BSIM3v1gbbs;    double BSIM3v1gbgs;    double BSIM3v1gbds;    double BSIM3v1cggb;    double BSIM3v1cgdb;    double BSIM3v1cgsb;    double BSIM3v1cbgb;    double BSIM3v1cbdb;    double BSIM3v1cbsb;    double BSIM3v1cdgb;    double BSIM3v1cddb;    double BSIM3v1cdsb;    double BSIM3v1capbd;    double BSIM3v1capbs;    double BSIM3v1cqgb;    double BSIM3v1cqdb;    double BSIM3v1cqsb;    double BSIM3v1cqbb;    double BSIM3v1gtau;    double BSIM3v1gtg;    double BSIM3v1gtd;    double BSIM3v1gts;    double BSIM3v1gtb;    double BSIM3v1tconst;    struct bsim3v1SizeDependParam  *pParam;    unsigned BSIM3v1lGiven :1;    unsigned BSIM3v1wGiven :1;    unsigned BSIM3v1mGiven :1;    unsigned BSIM3v1drainAreaGiven :1;    unsigned BSIM3v1sourceAreaGiven    :1;    unsigned BSIM3v1drainSquaresGiven  :1;    unsigned BSIM3v1sourceSquaresGiven :1;    unsigned BSIM3v1drainPerimeterGiven    :1;    unsigned BSIM3v1sourcePerimeterGiven   :1;    unsigned BSIM3v1dNodePrimeSet  :1;    unsigned BSIM3v1sNodePrimeSet  :1;    unsigned BSIM3v1icVBSGiven :1;    unsigned BSIM3v1icVDSGiven :1;    unsigned BSIM3v1icVGSGiven :1;    unsigned BSIM3v1nqsModGiven :1;    double *BSIM3v1DdPtr;    double *BSIM3v1GgPtr;    double *BSIM3v1SsPtr;    double *BSIM3v1BbPtr;    double *BSIM3v1DPdpPtr;    double *BSIM3v1SPspPtr;    double *BSIM3v1DdpPtr;    double *BSIM3v1GbPtr;    double *BSIM3v1GdpPtr;    double *BSIM3v1GspPtr;    double *BSIM3v1SspPtr;    double *BSIM3v1BdpPtr;    double *BSIM3v1BspPtr;    double *BSIM3v1DPspPtr;    double *BSIM3v1DPdPtr;    double *BSIM3v1BgPtr;    double *BSIM3v1DPgPtr;    double *BSIM3v1SPgPtr;    double *BSIM3v1SPsPtr;    double *BSIM3v1DPbPtr;    double *BSIM3v1SPbPtr;    double *BSIM3v1SPdpPtr;    double *BSIM3v1QqPtr;    double *BSIM3v1QdpPtr;    double *BSIM3v1QgPtr;    double *BSIM3v1QspPtr;    double *BSIM3v1QbPtr;    double *BSIM3v1DPqPtr;    double *BSIM3v1GqPtr;    double *BSIM3v1SPqPtr;    double *BSIM3v1BqPtr;#define BSIM3v1vbd BSIM3v1states+ 0#define BSIM3v1vbs BSIM3v1states+ 1#define BSIM3v1vgs BSIM3v1states+ 2#define BSIM3v1vds BSIM3v1states+ 3#define BSIM3v1qb BSIM3v1states+ 4#define BSIM3v1cqb BSIM3v1states+ 5#define BSIM3v1qg BSIM3v1states+ 6#define BSIM3v1cqg BSIM3v1states+ 7#define BSIM3v1qd BSIM3v1states+ 8#define BSIM3v1cqd BSIM3v1states+ 9#define BSIM3v1qbs  BSIM3v1states+ 10#define BSIM3v1qbd  BSIM3v1states+ 11#define BSIM3v1qcheq BSIM3v1states+ 12#define BSIM3v1cqcheq BSIM3v1states+ 13#define BSIM3v1qcdump BSIM3v1states+ 14#define BSIM3v1cqcdump BSIM3v1states+ 15#define BSIM3v1tau BSIM3v1states+ 16#define BSIM3v1qdef BSIM3v1states+ 17#define BSIM3v1numStates 18/* indices to the array of BSIM3v1 NOISE SOURCES */#define BSIM3v1RDNOIZ       0#define BSIM3v1RSNOIZ       1#define BSIM3v1IDNOIZ       2#define BSIM3v1FLNOIZ       3#define BSIM3v1TOTNOIZ      4#define BSIM3v1NSRCS        5     /* the number of MOSFET(3) noise sources */#ifndef NONOISE    double BSIM3v1nVar[NSTATVARS][BSIM3v1NSRCS];#else /* NONOISE */        double **BSIM3v1nVar;#endif /* NONOISE */} BSIM3v1instance ;struct bsim3v1SizeDependParam{    double Width;    double Length;    double BSIM3v1cdsc;               double BSIM3v1cdscb;        double BSIM3v1cdscd;           double BSIM3v1cit;               double BSIM3v1nfactor;          double BSIM3v1xj;    double BSIM3v1vsat;             double BSIM3v1at;             double BSIM3v1a0;       double BSIM3v1ags;          double BSIM3v1a1;             double BSIM3v1a2;             double BSIM3v1keta;         double BSIM3v1nsub;    double BSIM3v1npeak;            double BSIM3v1ngate;            double BSIM3v1gamma1;          double BSIM3v1gamma2;         double BSIM3v1vbx;          double BSIM3v1vbi;           double BSIM3v1vbm;           double BSIM3v1vbsc;           double BSIM3v1xt;           double BSIM3v1phi;    double BSIM3v1litl;    double BSIM3v1k1;    double BSIM3v1kt1;    double BSIM3v1kt1l;    double BSIM3v1kt2;    double BSIM3v1k2;    double BSIM3v1k3;    double BSIM3v1k3b;    double BSIM3v1w0;    double BSIM3v1nlx;    double BSIM3v1dvt0;          double BSIM3v1dvt1;          double BSIM3v1dvt2;          double BSIM3v1dvt0w;          double BSIM3v1dvt1w;          double BSIM3v1dvt2w;          double BSIM3v1drout;          double BSIM3v1dsub;          double BSIM3v1vth0;    double BSIM3v1ua;    double BSIM3v1ua1;    double BSIM3v1ub;    double BSIM3v1ub1;    double BSIM3v1uc;    double BSIM3v1uc1;    double BSIM3v1u0;    double BSIM3v1ute;    double BSIM3v1voff;    double BSIM3v1vfb;    double BSIM3v1delta;    double BSIM3v1rdsw;           double BSIM3v1rds0;           double BSIM3v1prwg;           double BSIM3v1prwb;           double BSIM3v1prt;           double BSIM3v1eta0;             double BSIM3v1etab;             double BSIM3v1pclm;          double BSIM3v1pdibl1;          double BSIM3v1pdibl2;          double BSIM3v1pdiblb;          double BSIM3v1pscbe1;           double BSIM3v1pscbe2;           double BSIM3v1pvag;           double BSIM3v1wr;    double BSIM3v1dwg;    double BSIM3v1dwb;    double BSIM3v1b0;    double BSIM3v1b1;    double BSIM3v1alpha0;    double BSIM3v1beta0;    /* CV model */    double BSIM3v1elm;    double BSIM3v1cgsl;    double BSIM3v1cgdl;    double BSIM3v1ckappa;    double BSIM3v1cf;    double BSIM3v1clc;    double BSIM3v1cle;    double BSIM3v1vfbcv;/* Pre-calculated constants */    double BSIM3v1dw;    double BSIM3v1dl;    double BSIM3v1leff;    double BSIM3v1weff;    double BSIM3v1dwc;    double BSIM3v1dlc;    double BSIM3v1leffCV;    double BSIM3v1weffCV;    double BSIM3v1abulkCVfactor;    double BSIM3v1cgso;    double BSIM3v1cgdo;    double BSIM3v1cgbo;    double BSIM3v1u0temp;           double BSIM3v1vsattemp;       double BSIM3v1sqrtPhi;       double BSIM3v1phis3;       double BSIM3v1Xdep0;              double BSIM3v1sqrtXdep0;              double BSIM3v1theta0vb0;    double BSIM3v1thetaRout;     double BSIM3v1cof1;    double BSIM3v1cof2;    double BSIM3v1cof3;    double BSIM3v1cof4;    double BSIM3v1cdep0;    struct bsim3v1SizeDependParam  *pNext;};typedef struct sBSIM3v1model {    int BSIM3v1modType;    struct sBSIM3v1model *BSIM3v1nextModel;    BSIM3v1instance *BSIM3v1instances;    IFuid BSIM3v1modName;     int BSIM3v1type;    int    BSIM3v1mobMod;    int    BSIM3v1capMod;    int    BSIM3v1nqsMod;    int    BSIM3v1noiMod;    int    BSIM3v1binUnit;    int    BSIM3v1paramChk;    double BSIM3v1version;                 double BSIM3v1tox;                 double BSIM3v1cdsc;               double BSIM3v1cdscb;     double BSIM3v1cdscd;              double BSIM3v1cit;               double BSIM3v1nfactor;          double BSIM3v1xj;    double BSIM3v1vsat;             double BSIM3v1at;             double BSIM3v1a0;       double BSIM3v1ags;          double BSIM3v1a1;             double BSIM3v1a2;             double BSIM3v1keta;         double BSIM3v1nsub;    double BSIM3v1npeak;            double BSIM3v1ngate;            double BSIM3v1gamma1;          double BSIM3v1gamma2;         double BSIM3v1vbx;          double BSIM3v1vbm;           double BSIM3v1xt;           double BSIM3v1k1;    double BSIM3v1kt1;    double BSIM3v1kt1l;    double BSIM3v1kt2;    double BSIM3v1k2;    double BSIM3v1k3;    double BSIM3v1k3b;    double BSIM3v1w0;    double BSIM3v1nlx;    double BSIM3v1dvt0;          double BSIM3v1dvt1;          double BSIM3v1dvt2;          double BSIM3v1dvt0w;          double BSIM3v1dvt1w;          double BSIM3v1dvt2w;          double BSIM3v1drout;          double BSIM3v1dsub;          double BSIM3v1vth0;    double BSIM3v1ua;    double BSIM3v1ua1;    double BSIM3v1ub;    double BSIM3v1ub1;    double BSIM3v1uc;    double BSIM3v1uc1;    double BSIM3v1u0;    double BSIM3v1ute;    double BSIM3v1voff;    double BSIM3v1delta;    double BSIM3v1rdsw;           double BSIM3v1prwg;    double BSIM3v1prwb;    double BSIM3v1prt;           double BSIM3v1eta0;             double BSIM3v1etab;             double BSIM3v1pclm;          double BSIM3v1pdibl1;          double BSIM3v1pdibl2;          double BSIM3v1pdiblb;    double BSIM3v1pscbe1;           double BSIM3v1pscbe2;           double BSIM3v1pvag;           double BSIM3v1wr;    double BSIM3v1dwg;    double BSIM3v1dwb;    double BSIM3v1b0;    double BSIM3v1b1;    double BSIM3v1alpha0;    double BSIM3v1beta0;    /* CV model */

⌨️ 快捷键说明

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