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

📄 mos1defs.h

📁 支持数字元件仿真的SPICE插件
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 1985 Thomas L. Quarles */#ifndef MOS1#define MOS1 "MOS1defs.h $Revision: 1.1 $ on $Date: 91/04/02 11:26:25 $"#include "IFsim.h"#include "CKTdefs.h"#include "GENdefs.h"#include "complex.h"/* declarations for level 1 MOSFETs *//* information needed for each instance */typedef struct sMOS1instance {    struct sMOS1model *sMOS1modPtr; /* backpointer to model */    struct sMOS1instance *MOS1nextInstance;  /* pointer to next instance of                                              *current model*/    IFuid MOS1name; /* pointer to character string naming this instance */    int MOS1dNode;  /* number of the gate node of the mosfet */    int MOS1gNode;  /* number of the gate node of the mosfet */    int MOS1sNode;  /* number of the source node of the mosfet */    int MOS1bNode;  /* number of the bulk node of the mosfet */    int MOS1dNodePrime; /* number of the internal drain node of the mosfet */    int MOS1sNodePrime; /* number of the internal source node of the mosfet */    double MOS1l;   /* the length of the channel region */    double MOS1w;   /* the width of the channel region */    double MOS1drainArea;   /* the area of the drain diffusion */    double MOS1sourceArea;  /* the area of the source diffusion */    double MOS1drainSquares;    /* the length of the drain in squares */    double MOS1sourceSquares;   /* the length of the source in squares */    double MOS1drainPerimiter;    double MOS1sourcePerimiter;    double MOS1sourceConductance;   /*conductance of source(or 0):set in setup*/    double MOS1drainConductance;    /*conductance of drain(or 0):set in setup*/    double MOS1temp;    /* operating temperature of this instance */    double MOS1tTransconductance;   /* temperature corrected transconductance*/    double MOS1tSurfMob;            /* temperature corrected surface mobility */    double MOS1tPhi;                /* temperature corrected Phi */    double MOS1tVto;                /* temperature corrected Vto */    double MOS1tSatCur;             /* temperature corrected saturation Cur. */    double MOS1tSatCurDens; /* temperature corrected saturation Cur. density*/    double MOS1tCbd;                /* temperature corrected B-D Capacitance */    double MOS1tCbs;                /* temperature corrected B-S Capacitance */    double MOS1tCj;         /* temperature corrected Bulk bottom Capacitance */    double MOS1tCjsw;       /* temperature corrected Bulk side Capacitance */    double MOS1tBulkPot;    /* temperature corrected Bulk potential */    double MOS1tDepCap;     /* temperature adjusted transition point in */                            /* the cureve matching Fc * Vj */    double MOS1tVbi;        /* temperature adjusted Vbi */    double MOS1icVBS;   /* initial condition B-S voltage */    double MOS1icVDS;   /* initial condition D-S voltage */    double MOS1icVGS;   /* initial condition G-S voltage */    double MOS1von;    double MOS1vdsat;    double MOS1sourceVcrit; /* Vcrit for pos. vds */    double MOS1drainVcrit;  /* Vcrit for pos. vds */    double MOS1cd;    double MOS1cbs;    double MOS1cbd;    double MOS1gmbs;    double MOS1gm;    double MOS1gds;    double MOS1gbd;    double MOS1gbs;    double MOS1capbd;    double MOS1capbs;    double MOS1Cbd;    double MOS1Cbdsw;    double MOS1Cbs;    double MOS1Cbssw;    double MOS1f2d;    double MOS1f3d;    double MOS1f4d;    double MOS1f2s;    double MOS1f3s;    double MOS1f4s;    int MOS1mode;       /* device mode : 1 = normal, -1 = inverse */    unsigned MOS1off:1;  /* non-zero to indicate device is off for dc analysis*/    unsigned MOS1tempGiven :1;  /* instance temperature specified */    unsigned MOS1lGiven :1;    unsigned MOS1wGiven :1;    unsigned MOS1drainAreaGiven :1;    unsigned MOS1sourceAreaGiven    :1;    unsigned MOS1drainSquaresGiven  :1;    unsigned MOS1sourceSquaresGiven :1;    unsigned MOS1drainPerimiterGiven    :1;    unsigned MOS1sourcePerimiterGiven   :1;    unsigned MOS1dNodePrimeSet  :1;    unsigned MOS1sNodePrimeSet  :1;    unsigned MOS1icVBSGiven :1;    unsigned MOS1icVDSGiven :1;    unsigned MOS1icVGSGiven :1;    unsigned MOS1vonGiven   :1;    unsigned MOS1vdsatGiven :1;    unsigned MOS1modeGiven  :1;    double *MOS1DdPtr;      /* pointer to sparse matrix element at                                     * (Drain node,drain node) */    double *MOS1GgPtr;      /* pointer to sparse matrix element at                                     * (gate node,gate node) */    double *MOS1SsPtr;      /* pointer to sparse matrix element at                                     * (source node,source node) */    double *MOS1BbPtr;      /* pointer to sparse matrix element at                                     * (bulk node,bulk node) */    double *MOS1DPdpPtr;    /* pointer to sparse matrix element at                                     * (drain prime node,drain prime node) */    double *MOS1SPspPtr;    /* pointer to sparse matrix element at                                     * (source prime node,source prime node) */    double *MOS1DdpPtr;     /* pointer to sparse matrix element at                                     * (drain node,drain prime node) */    double *MOS1GbPtr;      /* pointer to sparse matrix element at                                     * (gate node,bulk node) */    double *MOS1GdpPtr;     /* pointer to sparse matrix element at                                     * (gate node,drain prime node) */    double *MOS1GspPtr;     /* pointer to sparse matrix element at                                     * (gate node,source prime node) */    double *MOS1SspPtr;     /* pointer to sparse matrix element at                                     * (source node,source prime node) */    double *MOS1BdpPtr;     /* pointer to sparse matrix element at                                     * (bulk node,drain prime node) */    double *MOS1BspPtr;     /* pointer to sparse matrix element at                                     * (bulk node,source prime node) */    double *MOS1DPspPtr;    /* pointer to sparse matrix element at                                     * (drain prime node,source prime node) */    double *MOS1DPdPtr;     /* pointer to sparse matrix element at                                     * (drain prime node,drain node) */    double *MOS1BgPtr;      /* pointer to sparse matrix element at                                     * (bulk node,gate node) */    double *MOS1DPgPtr;     /* pointer to sparse matrix element at                                     * (drain prime node,gate node) */    double *MOS1SPgPtr;     /* pointer to sparse matrix element at                                     * (source prime node,gate node) */    double *MOS1SPsPtr;     /* pointer to sparse matrix element at                                     * (source prime node,source node) */    double *MOS1DPbPtr;     /* pointer to sparse matrix element at                                     * (drain prime node,bulk node) */    double *MOS1SPbPtr;     /* pointer to sparse matrix element at                                     * (source prime node,bulk node) */    double *MOS1SPdpPtr;    /* pointer to sparse matrix element at                                     * (source prime node,drain prime node) */    int MOS1states;     /* index into state table for this device */#define MOS1vbd MOS1states+ 0   /* bulk-drain voltage */#define MOS1vbs MOS1states+ 1   /* bulk-source voltage */#define MOS1vgs MOS1states+ 2   /* gate-source voltage */#define MOS1vds MOS1states+ 3   /* drain-source voltage */#define MOS1capgs MOS1states+4  /* gate-source capacitor value */#define MOS1qgs MOS1states+ 5   /* gate-source capacitor charge */#define MOS1cqgs MOS1states+ 6  /* gate-source capacitor current */#define MOS1capgd MOS1states+ 7 /* gate-drain capacitor value */#define MOS1qgd MOS1states+ 8   /* gate-drain capacitor charge */#define MOS1cqgd MOS1states+ 9  /* gate-drain capacitor current */#define MOS1capgb MOS1states+10 /* gate-bulk capacitor value */#define MOS1qgb MOS1states+ 11  /* gate-bulk capacitor charge */#define MOS1cqgb MOS1states+ 12 /* gate-bulk capacitor current */#define MOS1qbd MOS1states+ 13  /* bulk-drain capacitor charge */#define MOS1cqbd MOS1states+ 14 /* bulk-drain capacitor current */#define MOS1qbs MOS1states+ 15  /* bulk-source capacitor charge */#define MOS1cqbs MOS1states+ 16 /* bulk-source capacitor current */#define MOS1numStates 17#define MOS1sensxpgs MOS1states+17 /* charge sensitivities and           their derivatives.  +18 for the derivatives:          pointer to the beginning of the array */#define MOS1sensxpgd  MOS1states+19#define MOS1sensxpgb  MOS1states+21#define MOS1sensxpbs  MOS1states+23#define MOS1sensxpbd  MOS1states+25#define MOS1numSenStates 10    int  MOS1senParmNo;   /* parameter # for sensitivity use;            set equal to 0  if  neither length            nor width of the mosfet is a design            parameter */    unsigned MOS1sens_l :1;   /* field which indicates whether              length of the mosfet is a design            parameter or not */    unsigned MOS1sens_w :1;   /* field which indicates whether              width of the mosfet is a design            parameter or not */    unsigned MOS1senPertFlag :1; /* indictes whether the the             parameter of the particular instance is             to be perturbed */    double MOS1cgs;    double MOS1cgd;    double MOS1cgb;    double *MOS1sens;#define MOS1senCgs MOS1sens /* contains pertured values of cgs */#define MOS1senCgd MOS1sens + 6 /* contains perturbed values of cgd*/#define MOS1senCgb MOS1sens + 12 /* contains perturbed values of cgb*/#define MOS1senCbd MOS1sens + 18 /* contains perturbed values of cbd*/#define MOS1senCbs MOS1sens + 24 /* contains perturbed values of cbs*/#define MOS1senGds MOS1sens + 30 /* contains perturbed values of gds*/#define MOS1senGbs MOS1sens + 36 /* contains perturbed values of gbs*/#define MOS1senGbd MOS1sens + 42 /* contains perturbed values of gbd*/#define MOS1senGm MOS1sens + 48 /* contains perturbed values of gm*/#define MOS1senGmbs MOS1sens + 54 /* contains perturbed values of gmbs*/#define MOS1dphigs_dl MOS1sens + 60#define MOS1dphigd_dl MOS1sens + 61#define MOS1dphigb_dl MOS1sens + 62#define MOS1dphibs_dl MOS1sens + 63#define MOS1dphibd_dl MOS1sens + 64#define MOS1dphigs_dw MOS1sens + 65#define MOS1dphigd_dw MOS1sens + 66#define MOS1dphigb_dw MOS1sens + 67#define MOS1dphibs_dw MOS1sens + 68#define MOS1dphibd_dw MOS1sens + 69} MOS1instance ;/* per model data */    /* NOTE:  parameters marked 'input - use xxxx' are paramters for     * which a temperature correction is applied in MOS1temp, thus     * the MOS1xxxx value in the per-instance structure should be used     * instead in all calculations      */

⌨️ 快捷键说明

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