525 lines
18 KiB
C
525 lines
18 KiB
C
/**********
|
|
Copyright 1990 Regents of the University of California. All rights reserved.
|
|
Author: 1985 Thomas L. Quarles
|
|
**********/
|
|
|
|
#ifndef BJT
|
|
#define BJT
|
|
|
|
#include "cktdefs.h"
|
|
#include "ifsim.h"
|
|
#include "gendefs.h"
|
|
#include "complex.h"
|
|
#include "noisedef.h"
|
|
|
|
/* structures to describe Bipolar Junction Transistors */
|
|
|
|
/* data needed to describe a single instance */
|
|
|
|
typedef struct sBJTinstance {
|
|
struct sBJTmodel *BJTmodPtr; /* backpointer to model */
|
|
struct sBJTinstance *BJTnextInstance; /* pointer to next instance of
|
|
* current model*/
|
|
IFuid BJTname; /* pointer to character string naming this instance */
|
|
int BJTowner; /* number of owner process */
|
|
int BJTstate; /* pointer to start of state vector for bjt */
|
|
|
|
int BJTcolNode; /* number of collector node of bjt */
|
|
int BJTbaseNode; /* number of base node of bjt */
|
|
int BJTemitNode; /* number of emitter node of bjt */
|
|
int BJTsubstNode; /* number of substrate node of bjt */
|
|
int BJTcolPrimeNode; /* number of internal collector node of bjt */
|
|
int BJTbasePrimeNode; /* number of internal base node of bjt */
|
|
int BJTemitPrimeNode; /* number of internal emitter node of bjt */
|
|
double BJTarea; /* (emitter) area factor for the bjt */
|
|
double BJTareab; /* base area factor for the bjt */
|
|
double BJTareac; /* collector area factor for the bjt */
|
|
double BJTm; /* parallel multiplier */
|
|
double BJTicVBE; /* initial condition voltage B-E*/
|
|
double BJTicVCE; /* initial condition voltage C-E*/
|
|
double BJTtemp; /* instance temperature */
|
|
double BJTdtemp; /* instance delta temperature from circuit */
|
|
double BJTtSatCur; /* temperature adjusted saturation current */
|
|
double BJTtBetaF; /* temperature adjusted forward beta */
|
|
double BJTtBetaR; /* temperature adjusted reverse beta */
|
|
double BJTtBEleakCur; /* temperature adjusted B-E leakage current */
|
|
double BJTtBCleakCur; /* temperature adjusted B-C leakage current */
|
|
double BJTtBEcap; /* temperature adjusted B-E capacitance */
|
|
double BJTtBEpot; /* temperature adjusted B-E potential */
|
|
double BJTtBCcap; /* temperature adjusted B-C capacitance */
|
|
double BJTtBCpot; /* temperature adjusted B-C potential */
|
|
double BJTtDepCap; /* temperature adjusted join point in diode curve */
|
|
double BJTtf1; /* temperature adjusted polynomial coefficient */
|
|
double BJTtf4; /* temperature adjusted polynomial coefficient */
|
|
double BJTtf5; /* temperature adjusted polynomial coefficient */
|
|
double BJTtVcrit; /* temperature adjusted critical voltage */
|
|
|
|
double *BJTcolColPrimePtr; /* pointer to sparse matrix at
|
|
* (collector,collector prime) */
|
|
double *BJTbaseBasePrimePtr; /* pointer to sparse matrix at
|
|
* (base,base prime) */
|
|
double *BJTemitEmitPrimePtr; /* pointer to sparse matrix at
|
|
* (emitter,emitter prime) */
|
|
double *BJTcolPrimeColPtr; /* pointer to sparse matrix at
|
|
* (collector prime,collector) */
|
|
double *BJTcolPrimeBasePrimePtr; /* pointer to sparse matrix at
|
|
* (collector prime,base prime) */
|
|
double *BJTcolPrimeEmitPrimePtr; /* pointer to sparse matrix at
|
|
* (collector prime,emitter prime) */
|
|
double *BJTbasePrimeBasePtr; /* pointer to sparse matrix at
|
|
* (base prime,base ) */
|
|
double *BJTbasePrimeColPrimePtr; /* pointer to sparse matrix at
|
|
* (base prime,collector prime) */
|
|
double *BJTbasePrimeEmitPrimePtr; /* pointer to sparse matrix at
|
|
* (base primt,emitter prime) */
|
|
double *BJTemitPrimeEmitPtr; /* pointer to sparse matrix at
|
|
* (emitter prime,emitter) */
|
|
double *BJTemitPrimeColPrimePtr; /* pointer to sparse matrix at
|
|
* (emitter prime,collector prime) */
|
|
double *BJTemitPrimeBasePrimePtr; /* pointer to sparse matrix at
|
|
* (emitter prime,base prime) */
|
|
double *BJTcolColPtr; /* pointer to sparse matrix at
|
|
* (collector,collector) */
|
|
double *BJTbaseBasePtr; /* pointer to sparse matrix at
|
|
* (base,base) */
|
|
double *BJTemitEmitPtr; /* pointer to sparse matrix at
|
|
* (emitter,emitter) */
|
|
double *BJTcolPrimeColPrimePtr; /* pointer to sparse matrix at
|
|
* (collector prime,collector prime) */
|
|
double *BJTbasePrimeBasePrimePtr; /* pointer to sparse matrix at
|
|
* (base prime,base prime) */
|
|
double *BJTemitPrimeEmitPrimePtr; /* pointer to sparse matrix at
|
|
* (emitter prime,emitter prime) */
|
|
double *BJTsubstSubstPtr; /* pointer to sparse matrix at
|
|
* (substrate,substrate) */
|
|
double *BJTcolPrimeSubstPtr; /* pointer to sparse matrix at
|
|
* (collector prime,substrate) */
|
|
double *BJTsubstColPrimePtr; /* pointer to sparse matrix at
|
|
* (substrate,collector prime) */
|
|
double *BJTbaseColPrimePtr; /* pointer to sparse matrix at
|
|
* (base,collector prime) */
|
|
double *BJTcolPrimeBasePtr; /* pointer to sparse matrix at
|
|
* (collector prime,base) */
|
|
|
|
unsigned BJToff :1; /* 'off' flag for bjt */
|
|
unsigned BJTtempGiven :1; /* temperature given for bjt instance*/
|
|
unsigned BJTdtempGiven :1; /* delta temperature given for bjt instance*/
|
|
unsigned BJTareaGiven :1; /* flag to indicate area was specified */
|
|
unsigned BJTareabGiven :1; /* flag to indicate base area was specified */
|
|
unsigned BJTareacGiven :1; /* flag to indicate collector area was specified */
|
|
unsigned BJTmGiven :1; /* flag to indicate m parameter specified */
|
|
unsigned BJTicVBEGiven :1; /* flag to indicate VBE init. cond. given */
|
|
unsigned BJTicVCEGiven :1; /* flag to indicate VCE init. cond. given */
|
|
unsigned BJTsenPertFlag :1; /* indictes whether the the parameter of
|
|
the particular instance is to be perturbed */
|
|
|
|
int BJTsenParmNo; /* parameter # for sensitivity use;
|
|
set equal to 0 if not a design parameter*/
|
|
double BJTcapbe;
|
|
double BJTcapbc;
|
|
double BJTcapcs;
|
|
double BJTcapbx;
|
|
double *BJTsens;
|
|
|
|
#define BJTsenGpi BJTsens /* stores the perturbed values of gpi */
|
|
#define BJTsenGmu BJTsens+5 /* stores the perturbed values of gmu */
|
|
#define BJTsenGm BJTsens+10 /* stores the perturbed values of gm */
|
|
#define BJTsenGo BJTsens+15 /* stores the perturbed values of go */
|
|
#define BJTsenGx BJTsens+20 /* stores the perturbed values of gx */
|
|
#define BJTsenCpi BJTsens+25 /* stores the perturbed values of cpi */
|
|
#define BJTsenCmu BJTsens+30 /* stores the perturbed values of cmu */
|
|
#define BJTsenCbx BJTsens+35 /* stores the perturbed values of cbx */
|
|
#define BJTsenCmcb BJTsens+40 /* stores the perturbed values of cmcb */
|
|
#define BJTsenCcs BJTsens+45 /* stores the perturbed values of ccs */
|
|
#define BJTdphibedp BJTsens+51
|
|
#define BJTdphibcdp BJTsens+52
|
|
#define BJTdphicsdp BJTsens+53
|
|
#define BJTdphibxdp BJTsens+54
|
|
|
|
/*
|
|
* distortion stuff
|
|
* the following naming convention is used:
|
|
* x = vbe
|
|
* y = vbc
|
|
* z = vbb
|
|
* w = vbed (vbe delayed for the linear gm delay)
|
|
* therefore ic_xyz stands for the coefficient of the vbe*vbc*vbb
|
|
* term in the multidimensional Taylor expansion for ic; and ibb_x2y
|
|
* for the coeff. of the vbe*vbe*vbc term in the ibb expansion.
|
|
*/
|
|
|
|
#define BJTNDCOEFFS 65
|
|
|
|
#ifndef NODISTO
|
|
double BJTdCoeffs[BJTNDCOEFFS];
|
|
#else /* NODISTO */
|
|
double *BJTdCoeffs;
|
|
#endif /* NODISTO */
|
|
|
|
#ifndef CONFIG
|
|
|
|
#define ic_x BJTdCoeffs[0]
|
|
#define ic_y BJTdCoeffs[1]
|
|
#define ic_xd BJTdCoeffs[2]
|
|
#define ic_x2 BJTdCoeffs[3]
|
|
#define ic_y2 BJTdCoeffs[4]
|
|
#define ic_w2 BJTdCoeffs[5]
|
|
#define ic_xy BJTdCoeffs[6]
|
|
#define ic_yw BJTdCoeffs[7]
|
|
#define ic_xw BJTdCoeffs[8]
|
|
#define ic_x3 BJTdCoeffs[9]
|
|
#define ic_y3 BJTdCoeffs[10]
|
|
#define ic_w3 BJTdCoeffs[11]
|
|
#define ic_x2w BJTdCoeffs[12]
|
|
#define ic_x2y BJTdCoeffs[13]
|
|
#define ic_y2w BJTdCoeffs[14]
|
|
#define ic_xy2 BJTdCoeffs[15]
|
|
#define ic_xw2 BJTdCoeffs[16]
|
|
#define ic_yw2 BJTdCoeffs[17]
|
|
#define ic_xyw BJTdCoeffs[18]
|
|
|
|
#define ib_x BJTdCoeffs[19]
|
|
#define ib_y BJTdCoeffs[20]
|
|
#define ib_x2 BJTdCoeffs[21]
|
|
#define ib_y2 BJTdCoeffs[22]
|
|
#define ib_xy BJTdCoeffs[23]
|
|
#define ib_x3 BJTdCoeffs[24]
|
|
#define ib_y3 BJTdCoeffs[25]
|
|
#define ib_x2y BJTdCoeffs[26]
|
|
#define ib_xy2 BJTdCoeffs[27]
|
|
|
|
#define ibb_x BJTdCoeffs[28]
|
|
#define ibb_y BJTdCoeffs[29]
|
|
#define ibb_z BJTdCoeffs[30]
|
|
#define ibb_x2 BJTdCoeffs[31]
|
|
#define ibb_y2 BJTdCoeffs[32]
|
|
#define ibb_z2 BJTdCoeffs[33]
|
|
#define ibb_xy BJTdCoeffs[34]
|
|
#define ibb_yz BJTdCoeffs[35]
|
|
#define ibb_xz BJTdCoeffs[36]
|
|
#define ibb_x3 BJTdCoeffs[37]
|
|
#define ibb_y3 BJTdCoeffs[38]
|
|
#define ibb_z3 BJTdCoeffs[39]
|
|
#define ibb_x2z BJTdCoeffs[40]
|
|
#define ibb_x2y BJTdCoeffs[41]
|
|
#define ibb_y2z BJTdCoeffs[42]
|
|
#define ibb_xy2 BJTdCoeffs[43]
|
|
#define ibb_xz2 BJTdCoeffs[44]
|
|
#define ibb_yz2 BJTdCoeffs[45]
|
|
#define ibb_xyz BJTdCoeffs[46]
|
|
|
|
#define qbe_x BJTdCoeffs[47]
|
|
#define qbe_y BJTdCoeffs[48]
|
|
#define qbe_x2 BJTdCoeffs[49]
|
|
#define qbe_y2 BJTdCoeffs[50]
|
|
#define qbe_xy BJTdCoeffs[51]
|
|
#define qbe_x3 BJTdCoeffs[52]
|
|
#define qbe_y3 BJTdCoeffs[53]
|
|
#define qbe_x2y BJTdCoeffs[54]
|
|
#define qbe_xy2 BJTdCoeffs[55]
|
|
|
|
#define capbc1 BJTdCoeffs[56]
|
|
#define capbc2 BJTdCoeffs[57]
|
|
#define capbc3 BJTdCoeffs[58]
|
|
|
|
#define capbx1 BJTdCoeffs[59]
|
|
#define capbx2 BJTdCoeffs[60]
|
|
#define capbx3 BJTdCoeffs[61]
|
|
|
|
#define capsc1 BJTdCoeffs[62]
|
|
#define capsc2 BJTdCoeffs[63]
|
|
#define capsc3 BJTdCoeffs[64]
|
|
|
|
#endif
|
|
|
|
/* indices to array of BJT noise sources */
|
|
|
|
#define BJTRCNOIZ 0
|
|
#define BJTRBNOIZ 1
|
|
#define BJT_RE_NOISE 2
|
|
#define BJTICNOIZ 3
|
|
#define BJTIBNOIZ 4
|
|
#define BJTFLNOIZ 5
|
|
#define BJTTOTNOIZ 6
|
|
|
|
#define BJTNSRCS 7 /* the number of BJT noise sources */
|
|
|
|
#ifndef NONOISE
|
|
double BJTnVar[NSTATVARS][BJTNSRCS];
|
|
#else /*NONOISE*/
|
|
double **BJTnVar;
|
|
#endif /*NONOISE*/
|
|
/* the above to avoid allocating memory when it is not needed */
|
|
|
|
} BJTinstance ;
|
|
|
|
/* entries in the state vector for bjt: */
|
|
#define BJTvbe BJTstate
|
|
#define BJTvbc BJTstate+1
|
|
#define BJTcc BJTstate+2
|
|
#define BJTcb BJTstate+3
|
|
#define BJTgpi BJTstate+4
|
|
#define BJTgmu BJTstate+5
|
|
#define BJTgm BJTstate+6
|
|
#define BJTgo BJTstate+7
|
|
#define BJTqbe BJTstate+8
|
|
#define BJTcqbe BJTstate+9
|
|
#define BJTqbc BJTstate+10
|
|
#define BJTcqbc BJTstate+11
|
|
#define BJTqcs BJTstate+12
|
|
#define BJTcqcs BJTstate+13
|
|
#define BJTqbx BJTstate+14
|
|
#define BJTcqbx BJTstate+15
|
|
#define BJTgx BJTstate+16
|
|
#define BJTcexbc BJTstate+17
|
|
#define BJTgeqcb BJTstate+18
|
|
#define BJTgccs BJTstate+19
|
|
#define BJTgeqbx BJTstate+20
|
|
#define BJTnumStates 21
|
|
|
|
#define BJTsensxpbe BJTstate+21 /* charge sensitivities and their
|
|
derivatives. +22 for the derivatives -
|
|
pointer to the beginning of the array */
|
|
#define BJTsensxpbc BJTstate+23
|
|
#define BJTsensxpcs BJTstate+25
|
|
#define BJTsensxpbx BJTstate+27
|
|
|
|
#define BJTnumSenStates 8
|
|
|
|
/* per model data */
|
|
typedef struct sBJTmodel { /* model structure for a bjt */
|
|
int BJTmodType; /* type index of this device type */
|
|
struct sBJTmodel *BJTnextModel; /* pointer to next possible model in
|
|
* linked list */
|
|
BJTinstance * BJTinstances; /* pointer to list of instances
|
|
* that have this model */
|
|
IFuid BJTmodName; /* pointer to character string naming this model */
|
|
int BJTtype;
|
|
|
|
double BJTtnom; /* nominal temperature */
|
|
double BJTsatCur; /* input - don't use */
|
|
double BJTbetaF; /* input - don't use */
|
|
double BJTemissionCoeffF;
|
|
double BJTearlyVoltF;
|
|
double BJTrollOffF;
|
|
double BJTleakBEcurrent; /* input - don't use */
|
|
double BJTc2;
|
|
double BJTleakBEemissionCoeff;
|
|
double BJTbetaR; /* input - don't use */
|
|
double BJTemissionCoeffR;
|
|
double BJTearlyVoltR;
|
|
double BJTrollOffR;
|
|
double BJTleakBCcurrent; /* input - don't use */
|
|
double BJTc4;
|
|
double BJTleakBCemissionCoeff;
|
|
double BJTbaseResist;
|
|
double BJTbaseCurrentHalfResist;
|
|
double BJTminBaseResist;
|
|
double BJTemitterResist;
|
|
double BJTcollectorResist;
|
|
double BJTdepletionCapBE; /* input - don't use */
|
|
double BJTpotentialBE; /* input - don't use */
|
|
double BJTjunctionExpBE;
|
|
double BJTtransitTimeF;
|
|
double BJTtransitTimeBiasCoeffF;
|
|
double BJTtransitTimeFVBC;
|
|
double BJTtransitTimeHighCurrentF;
|
|
double BJTexcessPhase;
|
|
double BJTdepletionCapBC; /* input - don't use */
|
|
double BJTpotentialBC; /* input - don't use */
|
|
double BJTjunctionExpBC;
|
|
double BJTbaseFractionBCcap;
|
|
double BJTtransitTimeR;
|
|
double BJTcapCS;
|
|
double BJTpotentialSubstrate;
|
|
double BJTexponentialSubstrate;
|
|
double BJTbetaExp;
|
|
double BJTenergyGap;
|
|
double BJTtempExpIS;
|
|
double BJTdepletionCapCoeff;
|
|
double BJTfNcoef;
|
|
double BJTfNexp;
|
|
|
|
double BJTinvEarlyVoltF; /* inverse of BJTearlyVoltF */
|
|
double BJTinvEarlyVoltR; /* inverse of BJTearlyVoltR */
|
|
double BJTinvRollOffF; /* inverse of BJTrollOffF */
|
|
double BJTinvRollOffR; /* inverse of BJTrollOffR */
|
|
double BJTcollectorConduct; /* collector conductance */
|
|
double BJTemitterConduct; /* emitter conductance */
|
|
double BJTtransitTimeVBCFactor; /* */
|
|
double BJTexcessPhaseFactor;
|
|
double BJTf2;
|
|
double BJTf3;
|
|
double BJTf6;
|
|
double BJTf7;
|
|
|
|
unsigned BJTtnomGiven : 1;
|
|
unsigned BJTsatCurGiven : 1;
|
|
unsigned BJTbetaFGiven : 1;
|
|
unsigned BJTemissionCoeffFGiven : 1;
|
|
unsigned BJTearlyVoltFGiven : 1;
|
|
unsigned BJTrollOffFGiven : 1;
|
|
unsigned BJTleakBEcurrentGiven : 1;
|
|
unsigned BJTc2Given : 1;
|
|
unsigned BJTleakBEemissionCoeffGiven : 1;
|
|
unsigned BJTbetaRGiven : 1;
|
|
unsigned BJTemissionCoeffRGiven : 1;
|
|
unsigned BJTearlyVoltRGiven : 1;
|
|
unsigned BJTrollOffRGiven : 1;
|
|
unsigned BJTleakBCcurrentGiven : 1;
|
|
unsigned BJTc4Given : 1;
|
|
unsigned BJTleakBCemissionCoeffGiven : 1;
|
|
unsigned BJTbaseResistGiven : 1;
|
|
unsigned BJTbaseCurrentHalfResistGiven : 1;
|
|
unsigned BJTminBaseResistGiven : 1;
|
|
unsigned BJTemitterResistGiven : 1;
|
|
unsigned BJTcollectorResistGiven : 1;
|
|
unsigned BJTdepletionCapBEGiven : 1;
|
|
unsigned BJTpotentialBEGiven : 1;
|
|
unsigned BJTjunctionExpBEGiven : 1;
|
|
unsigned BJTtransitTimeFGiven : 1;
|
|
unsigned BJTtransitTimeBiasCoeffFGiven : 1;
|
|
unsigned BJTtransitTimeFVBCGiven : 1;
|
|
unsigned BJTtransitTimeHighCurrentFGiven : 1;
|
|
unsigned BJTexcessPhaseGiven : 1;
|
|
unsigned BJTdepletionCapBCGiven : 1;
|
|
unsigned BJTpotentialBCGiven : 1;
|
|
unsigned BJTjunctionExpBCGiven : 1;
|
|
unsigned BJTbaseFractionBCcapGiven : 1;
|
|
unsigned BJTtransitTimeRGiven : 1;
|
|
unsigned BJTcapCSGiven : 1;
|
|
unsigned BJTpotentialSubstrateGiven : 1;
|
|
unsigned BJTexponentialSubstrateGiven : 1;
|
|
unsigned BJTbetaExpGiven : 1;
|
|
unsigned BJTenergyGapGiven : 1;
|
|
unsigned BJTtempExpISGiven : 1;
|
|
unsigned BJTdepletionCapCoeffGiven : 1;
|
|
unsigned BJTfNcoefGiven : 1;
|
|
unsigned BJTfNexpGiven :1;
|
|
} BJTmodel;
|
|
|
|
#ifndef NPN
|
|
#define NPN 1
|
|
#define PNP -1
|
|
#endif /*NPN*/
|
|
|
|
/* device parameters */
|
|
#define BJT_AREA 1
|
|
#define BJT_OFF 2
|
|
#define BJT_IC_VBE 3
|
|
#define BJT_IC_VCE 4
|
|
#define BJT_IC 5
|
|
#define BJT_AREA_SENS 6
|
|
#define BJT_TEMP 7
|
|
#define BJT_DTEMP 8
|
|
#define BJT_M 9
|
|
#define BJT_AREAB 10
|
|
#define BJT_AREAC 11
|
|
|
|
/* model parameters */
|
|
#define BJT_MOD_NPN 101
|
|
#define BJT_MOD_PNP 102
|
|
#define BJT_MOD_IS 103
|
|
#define BJT_MOD_BF 104
|
|
#define BJT_MOD_NF 105
|
|
#define BJT_MOD_VAF 106
|
|
#define BJT_MOD_IKF 107
|
|
#define BJT_MOD_ISE 108
|
|
#define BJT_MOD_C2 109
|
|
#define BJT_MOD_NE 110
|
|
#define BJT_MOD_BR 111
|
|
#define BJT_MOD_NR 112
|
|
#define BJT_MOD_VAR 113
|
|
#define BJT_MOD_IKR 114
|
|
#define BJT_MOD_ISC 115
|
|
#define BJT_MOD_C4 116
|
|
#define BJT_MOD_NC 117
|
|
#define BJT_MOD_RB 118
|
|
#define BJT_MOD_IRB 119
|
|
#define BJT_MOD_RBM 120
|
|
#define BJT_MOD_RE 121
|
|
#define BJT_MOD_RC 122
|
|
#define BJT_MOD_CJE 123
|
|
#define BJT_MOD_VJE 124
|
|
#define BJT_MOD_MJE 125
|
|
#define BJT_MOD_TF 126
|
|
#define BJT_MOD_XTF 127
|
|
#define BJT_MOD_VTF 128
|
|
#define BJT_MOD_ITF 129
|
|
#define BJT_MOD_PTF 130
|
|
#define BJT_MOD_CJC 131
|
|
#define BJT_MOD_VJC 132
|
|
#define BJT_MOD_MJC 133
|
|
#define BJT_MOD_XCJC 134
|
|
#define BJT_MOD_TR 135
|
|
#define BJT_MOD_CJS 136
|
|
#define BJT_MOD_VJS 137
|
|
#define BJT_MOD_MJS 138
|
|
#define BJT_MOD_XTB 139
|
|
#define BJT_MOD_EG 140
|
|
#define BJT_MOD_XTI 141
|
|
#define BJT_MOD_FC 142
|
|
#define BJT_MOD_TNOM 143
|
|
#define BJT_MOD_AF 144
|
|
#define BJT_MOD_KF 145
|
|
|
|
/* device questions */
|
|
#define BJT_QUEST_FT 201
|
|
#define BJT_QUEST_COLNODE 202
|
|
#define BJT_QUEST_BASENODE 203
|
|
#define BJT_QUEST_EMITNODE 204
|
|
#define BJT_QUEST_SUBSTNODE 205
|
|
#define BJT_QUEST_COLPRIMENODE 206
|
|
#define BJT_QUEST_BASEPRIMENODE 207
|
|
#define BJT_QUEST_EMITPRIMENODE 208
|
|
#define BJT_QUEST_VBE 209
|
|
#define BJT_QUEST_VBC 210
|
|
#define BJT_QUEST_CC 211
|
|
#define BJT_QUEST_CB 212
|
|
#define BJT_QUEST_GPI 213
|
|
#define BJT_QUEST_GMU 214
|
|
#define BJT_QUEST_GM 215
|
|
#define BJT_QUEST_GO 216
|
|
#define BJT_QUEST_QBE 217
|
|
#define BJT_QUEST_CQBE 218
|
|
#define BJT_QUEST_QBC 219
|
|
#define BJT_QUEST_CQBC 220
|
|
#define BJT_QUEST_QCS 221
|
|
#define BJT_QUEST_CQCS 222
|
|
#define BJT_QUEST_QBX 223
|
|
#define BJT_QUEST_CQBX 224
|
|
#define BJT_QUEST_GX 225
|
|
#define BJT_QUEST_CEXBC 226
|
|
#define BJT_QUEST_GEQCB 227
|
|
#define BJT_QUEST_GCCS 228
|
|
#define BJT_QUEST_GEQBX 229
|
|
#define BJT_QUEST_SENS_REAL 230
|
|
#define BJT_QUEST_SENS_IMAG 231
|
|
#define BJT_QUEST_SENS_MAG 232
|
|
#define BJT_QUEST_SENS_PH 233
|
|
#define BJT_QUEST_SENS_CPLX 234
|
|
#define BJT_QUEST_SENS_DC 235
|
|
#define BJT_QUEST_CE 236
|
|
#define BJT_QUEST_CS 237
|
|
#define BJT_QUEST_POWER 238
|
|
|
|
#define BJT_QUEST_CPI 239
|
|
#define BJT_QUEST_CMU 240
|
|
#define BJT_QUEST_CBX 241
|
|
#define BJT_QUEST_CCS 242
|
|
|
|
/* model questions */
|
|
#define BJT_MOD_INVEARLYF 301
|
|
#define BJT_MOD_INVEARLYR 302
|
|
#define BJT_MOD_INVROLLOFFF 303
|
|
#define BJT_MOD_INVROLLOFFR 304
|
|
#define BJT_MOD_COLCONDUCT 305
|
|
#define BJT_MOD_EMITTERCONDUCT 306
|
|
#define BJT_MOD_TRANSVBCFACT 307
|
|
#define BJT_MOD_EXCESSPHASEFACTOR 308
|
|
#define BJT_MOD_TYPE 309
|
|
|
|
|
|
#include "bjtext.h"
|
|
#endif /*BJT*/
|