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

📄 nbjtdefs.h

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 H
字号:
/**********Copyright 1991 Regents of the University of California. All rights reserved.Authors: 1987 Karti Mayaram, 1991 David Gates**********/#ifndef NBJT_H#define NBJT_H "NBJTdefs.h $Revision: 1.0 $ on $Date: 87/06/1 19:53:23 $ "/* data structures used to describe 1D Numerical BJTs *//* circuit level includes */#include "ifsim.h"#include "cktdefs.h"#include "gendefs.h"/* device level includes */#include "onemesh.h"#include "onedev.h"#include "profile.h"#include "numglobs.h"#include "carddefs.h"/* information needed per instance */typedef struct sNBJTinstance {  struct sNBJTmodel *NBJTmodPtr;/* back pointer to model */  struct sNBJTinstance *NBJTnextInstance;	/* pointer to next instance						 * of current model */  IFuid NBJTname;		/* pointer to character string naming this				 * instance */  int NBJTowner;		/* number of owner process */  int NBJTstate;		/* pointer to start of state vector for bjt */  /* entries in the state vector for bjt: */#define NBJTvbe NBJTstate#define NBJTvce NBJTstate+1#define NBJTic NBJTstate+2#define NBJTie NBJTstate+3#define NBJTdIeDVce NBJTstate+4#define NBJTdIeDVbe NBJTstate+5#define NBJTdIcDVce NBJTstate+6#define NBJTdIcDVbe NBJTstate+7#define NBJTnumStates 8  int NBJTcolNode;		/* number of collector node of bjt */  int NBJTbaseNode;		/* number of base node of bjt */  int NBJTemitNode;		/* number of emitter node of bjt */  ONEdevice *NBJTpDevice;  GLOBvalues NBJTglobals;	/* Temp.-Dep. Global Parameters */  int NBJTtype;  double NBJTarea;		/* area factor of the BJT */  double NBJTtemp;		/* Instance Temperature */  double NBJTc11;		/* small-signal capacitance */  double NBJTy11r;		/* small-signal admittance, real part */  double NBJTy11i;		/* small-signal admittance, imag part */  double NBJTc12;		/* small-signal capacitance */  double NBJTy12r;		/* small-signal admittance, real part */  double NBJTy12i;		/* small-signal admittance, imag part */  double NBJTc21;		/* small-signal capacitance */  double NBJTy21r;		/* small-signal admittance, real part */  double NBJTy21i;		/* small-signal admittance, imag part */  double NBJTc22;		/* small-signal capacitance */  double NBJTy22r;		/* small-signal admittance, real part */  double NBJTy22i;		/* small-signal admittance, imag part */  int NBJTprint;  char *NBJTicFile;            /* Name of initial condition file */  double *NBJTcolColPtr;	/* pointer to sparse matrix at				 * (collector,collector) */  double *NBJTbaseBasePtr;	/* pointer to sparse matrix at (base,base) */  double *NBJTemitEmitPtr;	/* pointer to sparse matrix at				 * (emitter,emitter) */  double *NBJTcolBasePtr;	/* pointer to sparse matrix at				 * (collector,base) */  double *NBJTcolEmitPtr;	/* pointer to sparse matrix at				 * (collector,emitter) */  double *NBJTbaseColPtr;	/* pointer to sparse matrix at				 * (base,collector) */  double *NBJTbaseEmitPtr;	/* pointer to sparse matrix at (base,emitter) */  double *NBJTemitColPtr;	/* pointer to sparse matrix at				 * (emitter,collector) */  double *NBJTemitBasePtr;	/* pointer to sparse matrix at (emitter,base) */  int NBJToff;			/* 'off' flag for bjt */  unsigned NBJTsmSigAvail:1;	/* flag to indicate small-signal done */  unsigned NBJTareaGiven:1;	/* flag to indicate area was specified */  unsigned NBJTicFileGiven:1;	/* flag to indicate init. cond. file given */  unsigned NBJTprintGiven:1;	/* flag to indicate if print was given */  unsigned NBJTtempGiven:1;	/* flag to indicate if temp was given */} NBJTinstance;/* per model data */typedef struct sNBJTmodel {	/* model structure for a bjt */  int NBJTmodType;		/* type index of this device type */  struct sNBJTmodel *NBJTnextModel;	/* pointer to next possible model in					 * linked list */  NBJTinstance *NBJTinstances;	/* pointer to list of instances that have				 * this model */  IFuid NBJTmodName;		/* pointer to character string naming this				 * model */  /* Everything below here is numerical-device-specific */  MESHcard *NBJTxMeshes;	/* list of xmesh cards */  MESHcard *NBJTyMeshes;	/* list of ymesh cards */  DOMNcard *NBJTdomains;	/* list of domain cards */  BDRYcard *NBJTboundaries;	/* list of boundary cards */  DOPcard *NBJTdopings;		/* list of doping cards */  ELCTcard *NBJTelectrodes;	/* list of electrode cards */  CONTcard *NBJTcontacts;	/* list of contact cards */  MODLcard *NBJTmodels;		/* list of model cards */  MATLcard *NBJTmaterials;	/* list of material cards */  MOBcard *NBJTmobility;	/* list of mobility cards */  METHcard *NBJTmethods;	/* list of method cards */  OPTNcard *NBJToptions;	/* list of option cards */  OUTPcard *NBJToutputs;	/* list of output cards */  ONEtranInfo *NBJTpInfo;	/* transient analysis information */  DOPprofile *NBJTprofiles;	/* expanded list of doping profiles */  DOPtable *NBJTdopTables;	/* list of tables used by profiles */  ONEmaterial *NBJTmatlInfo;	/* list of material info structures */} NBJTmodel;/* type of BJT */#define NPN 1#define PNP -1/* device parameters */#define NBJT_AREA 1#define NBJT_OFF 2#define NBJT_IC_FILE 3#define NBJT_PRINT 4#define NBJT_TEMP 5#define NBJT_G11 8#define NBJT_C11 9#define NBJT_Y11 10#define NBJT_G12 11#define NBJT_C12 12#define NBJT_Y12 13#define NBJT_G13 14#define NBJT_C13 15#define NBJT_Y13 16#define NBJT_G21 17#define NBJT_C21 18#define NBJT_Y21 19#define NBJT_G22 20#define NBJT_C22 21#define NBJT_Y22 22#define NBJT_G23 23#define NBJT_C23 24#define NBJT_Y23 25#define NBJT_G31 26#define NBJT_C31 27#define NBJT_Y31 28#define NBJT_G32 29#define NBJT_C32 30#define NBJT_Y32 31#define NBJT_G33 32#define NBJT_C33 33#define NBJT_Y33 34/* model parameters *//* NOTE: all true model parameters have been moved to IFcardInfo structures */#define NBJT_MOD_NBJT 101/* device questions *//* model questions */#include "nbjtext.h"#endif				/* NBJT_H */

⌨️ 快捷键说明

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