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

📄 jfetdefs.h

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 H
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. QuarlesSydney University mods Copyright(c) 1989 Anthony E. Parker, David J. Skellern	Laboratory for Communication Science Engineering	Sydney University Department of Electrical Engineering, Australia**********/#ifndef JFET#define JFET#include "ifsim.h"#include "gendefs.h"#include "cktdefs.h"#include "complex.h"#include "noisedef.h"    /* structures used to describe Junction Field Effect Transistors *//* information used to describe a single instance */typedef struct sJFETinstance {    struct sJFETmodel *JFETmodPtr;  /* backpointer to model */    struct sJFETinstance *JFETnextInstance; /* pointer to next instance of                                              * current model*/    IFuid JFETname; /* pointer to character string naming this instance */    int JFETowner;  /* number of owner process */    int JFETstate; /* pointer to start of state vector for jfet */    int JFETdrainNode;  /* number of drain node of jfet */    int JFETgateNode;   /* number of gate node of jfet */    int JFETsourceNode; /* number of source node of jfet */    int JFETdrainPrimeNode; /* number of internal drain node of jfet */    int JFETsourcePrimeNode;    /* number of internal source node of jfet */    double *JFETdrainDrainPrimePtr; /* pointer to sparse matrix at                                      * (drain,drain prime) */    double *JFETgateDrainPrimePtr;  /* pointer to sparse matrix at                                      * (gate,drain prime) */    double *JFETgateSourcePrimePtr; /* pointer to sparse matrix at                                      * (gate,source prime) */    double *JFETsourceSourcePrimePtr;   /* pointer to sparse matrix at                                          * (source,source prime) */    double *JFETdrainPrimeDrainPtr; /* pointer to sparse matrix at                                      * (drain prime,drain) */    double *JFETdrainPrimeGatePtr;  /* pointer to sparse matrix at                                      * (drain prime,gate) */    double *JFETdrainPrimeSourcePrimePtr;   /* pointer to sparse matrix                                             * (drain prime,source prime) */    double *JFETsourcePrimeGatePtr; /* pointer to sparse matrix at                                      * (source prime,gate) */    double *JFETsourcePrimeSourcePtr;   /* pointer to sparse matrix at                                          * (source prime,source) */    double *JFETsourcePrimeDrainPrimePtr;   /* pointer to sparse matrix                                             * (source prime,drain prime) */    double *JFETdrainDrainPtr;  /* pointer to sparse matrix at                                  * (drain,drain) */    double *JFETgateGatePtr;    /* pointer to sparse matrix at                                  * (gate,gate) */    double *JFETsourceSourcePtr;    /* pointer to sparse matrix at                                      * (source,source) */    double *JFETdrainPrimeDrainPrimePtr;    /* pointer to sparse matrix                                             * (drain prime,drain prime) */    double *JFETsourcePrimeSourcePrimePtr;  /* pointer to sparse matrix                                             * (source prime,source prime) */	int JFETmode;	/* distortion analysis Taylor coeffs. *//* * naming convention: * x = vgs * y = vds * cdr = cdrain */#define JFETNDCOEFFS	21#ifndef NODISTO	double JFETdCoeffs[JFETNDCOEFFS];#else /* NODISTO */	double *JFETdCoeffs;#endif /* NODISTO */#ifndef CONFIG#define	cdr_x		JFETdCoeffs[0]#define	cdr_y		JFETdCoeffs[1]#define	cdr_x2		JFETdCoeffs[2]#define	cdr_y2		JFETdCoeffs[3]#define	cdr_xy		JFETdCoeffs[4]#define	cdr_x3		JFETdCoeffs[5]#define	cdr_y3		JFETdCoeffs[6]#define	cdr_x2y		JFETdCoeffs[7]#define	cdr_xy2		JFETdCoeffs[8]#define	ggs1		JFETdCoeffs[9]#define	ggd1		JFETdCoeffs[10]#define	ggs2		JFETdCoeffs[11]#define	ggd2		JFETdCoeffs[12]#define	ggs3		JFETdCoeffs[13]#define	ggd3		JFETdCoeffs[14]#define	capgs1		JFETdCoeffs[15]#define	capgd1		JFETdCoeffs[16]#define	capgs2		JFETdCoeffs[17]#define	capgd2		JFETdCoeffs[18]#define	capgs3		JFETdCoeffs[19]#define	capgd3		JFETdCoeffs[20]#endif/* indices to an array of JFET noise sources */#define JFETRDNOIZ       0#define JFETRSNOIZ       1#define JFETIDNOIZ       2#define JFETFLNOIZ 3#define JFETTOTNOIZ    4#define JFETNSRCS     5#ifndef NONOISE    double JFETnVar[NSTATVARS][JFETNSRCS];#else /* NONOISE */	double **JFETnVar;#endif /* NONOISE */    unsigned JFEToff :1;            /* 'off' flag for jfet */    unsigned JFETareaGiven  : 1;    /* flag to indicate area was specified */    unsigned JFETicVDSGiven : 1;    /* initial condition given flag for V D-S*/    unsigned JFETicVGSGiven : 1;    /* initial condition given flag for V G-S*/    unsigned JFETtempGiven  : 1;    /* flag to indicate instance temp given */    double JFETarea;    /* area factor for the jfet */    double JFETicVDS;   /* initial condition voltage D-S*/    double JFETicVGS;   /* initial condition voltage G-S*/    double JFETtemp;    /* operating temperature */    double JFETtSatCur; /* temperature adjusted saturation current */    double JFETtGatePot;    /* temperature adjusted gate potential */    double JFETtCGS;    /* temperature corrected G-S capacitance */    double JFETtCGD;    /* temperature corrected G-D capacitance */    double JFETcorDepCap;   /* joining point of the fwd bias dep. cap eq.s */    double JFETvcrit;   /* critical voltage for the instance */    double JFETf1;      /* coefficient of capacitance polynomial exp */} JFETinstance ;#define JFETvgs JFETstate #define JFETvgd JFETstate+1 #define JFETcg JFETstate+2 #define JFETcd JFETstate+3 #define JFETcgd JFETstate+4 #define JFETgm JFETstate+5 #define JFETgds JFETstate+6 #define JFETggs JFETstate+7 #define JFETggd JFETstate+8 #define JFETqgs JFETstate+9 #define JFETcqgs JFETstate+10 #define JFETqgd JFETstate+11 #define JFETcqgd JFETstate+12 /* per model data */typedef struct sJFETmodel {       /* model structure for a jfet */    int JFETmodType;    /* type index of this device type */    struct sJFETmodel *JFETnextModel;   /* pointer to next possible model in                                          * linked list */    JFETinstance * JFETinstances; /* pointer to list of instances                                    * that have this model */    IFuid JFETmodName; /* pointer to character string naming this model */    int JFETtype;    double JFETthreshold;    double JFETbeta;    double JFETlModulation;    double JFETdrainResist;    double JFETsourceResist;    double JFETcapGS;    double JFETcapGD;    double JFETgatePotential;    double JFETgateSatCurrent;    double JFETdepletionCapCoeff;    double JFETfNcoef;    double JFETfNexp;    double JFETdrainConduct;    double JFETsourceConduct;    double JFETf2;    double JFETf3;    /* Modification for Sydney University JFET model */    double JFETb;     /* doping profile parameter */    double JFETbFac;  /* internal derived doping profile parameter */    /* end Sydney University mod */    double JFETtnom;    /* temperature at which parameters were measured */    unsigned JFETthresholdGiven : 1;    unsigned JFETbetaGiven : 1;    unsigned JFETlModulationGiven : 1;    unsigned JFETdrainResistGiven : 1;    unsigned JFETsourceResistGiven : 1;    unsigned JFETcapGSGiven : 1;    unsigned JFETcapGDGiven : 1;    unsigned JFETgatePotentialGiven : 1;    unsigned JFETgateSatCurrentGiven : 1;    unsigned JFETdepletionCapCoeffGiven : 1;    /* Modification for Sydney University JFET model */    unsigned JFETbGiven : 1;    /* end Sydney University mod */    unsigned JFETtnomGiven : 1; /* user specified Tnom for model */    unsigned JFETfNcoefGiven : 1;    unsigned JFETfNexpGiven : 1;} JFETmodel;#ifndef NJF#define NJF 1#define PJF -1#endif /*NJF*//* device parameters */#define JFET_AREA 1#define JFET_IC_VDS 2#define JFET_IC_VGS 3#define JFET_IC 4#define JFET_OFF 5#define JFET_TEMP 6/* model parameters */#define JFET_MOD_VTO 101#define JFET_MOD_BETA 102#define JFET_MOD_LAMBDA 103#define JFET_MOD_RD 104#define JFET_MOD_RS 105#define JFET_MOD_CGS 106#define JFET_MOD_CGD 107#define JFET_MOD_PB 108#define JFET_MOD_IS 109#define JFET_MOD_FC 110 #define JFET_MOD_NJF 111#define JFET_MOD_PJF 112#define JFET_MOD_TNOM 113#define JFET_MOD_KF 114#define JFET_MOD_AF 115/* Modification for Sydney University JFET model */#define JFET_MOD_B 116/* end Sydney University mod *//* device questions */#define JFET_DRAINNODE        301#define JFET_GATENODE         302#define JFET_SOURCENODE       303#define JFET_DRAINPRIMENODE   304#define JFET_SOURCEPRIMENODE  305#define JFET_VGS              306#define JFET_VGD              307#define JFET_CG               308#define JFET_CD               309#define JFET_CGD              310#define JFET_GM               311#define JFET_GDS              312#define JFET_GGS              313#define JFET_GGD              314#define JFET_QGS              315#define JFET_CQGS             316#define JFET_QGD              317#define JFET_CQGD             318#define JFET_CS               319#define JFET_POWER            320/* model questions */#define JFET_MOD_DRAINCONDUCT   301#define JFET_MOD_SOURCECONDUCT  302#define JFET_MOD_DEPLETIONCAP   303#define JFET_MOD_VCRIT          304#define JFET_MOD_TYPE           305/* function definitions */#include "jfetext.h"#endif /*JFET*/

⌨️ 快捷键说明

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