Jspice3
bjtmask.c File Reference
#include "spice.h"
#include <stdio.h>
#include "bjtdefs.h"
#include "sperror.h"
#include "const.h"
Include dependency graph for bjtmask.c:

Go to the source code of this file.

Functions

int BJTmAsk (CKTcircuit *ckt, GENmodel *instPtr, int which, IFvalue *value)
 

Function Documentation

int BJTmAsk ( CKTcircuit ckt,
GENmodel instPtr,
int  which,
IFvalue value 
)

Definition at line 17 of file bjtmask.c.

23 {
24  BJTmodel *here = (BJTmodel*)instPtr;
25 
26  switch(which) {
27 
28  case BJT_MOD_IS:
29  value->rValue = here->BJTsatCur;
30  break;
31  case BJT_MOD_BF:
32  value->rValue = here->BJTbetaF;
33  break;
34  case BJT_MOD_NF:
35  value->rValue = here->BJTemissionCoeffF;
36  break;
37  case BJT_MOD_VAF:
38  value->rValue = here->BJTearlyVoltF;
39  break;
40  case BJT_MOD_IKF:
41  value->rValue = here->BJTrollOffF;
42  break;
43  case BJT_MOD_ISE:
44  value->rValue = here->BJTleakBEcurrent;
45  break;
46  case BJT_MOD_NE:
47  value->rValue = here->BJTleakBEemissionCoeff;
48  break;
49  case BJT_MOD_BR:
50  value->rValue = here->BJTbetaR;
51  break;
52  case BJT_MOD_NR:
53  value->rValue = here->BJTemissionCoeffR;
54  break;
55  case BJT_MOD_VAR:
56  value->rValue = here->BJTearlyVoltR;
57  break;
58  case BJT_MOD_IKR:
59  value->rValue = here->BJTrollOffR;
60  break;
61  case BJT_MOD_ISC:
62  value->rValue = here->BJTleakBCcurrent;
63  break;
64  case BJT_MOD_NC:
65  value->rValue = here->BJTleakBCemissionCoeff;
66  break;
67  case BJT_MOD_RB:
68  value->rValue = here->BJTbaseResist;
69  break;
70  case BJT_MOD_IRB:
71  value->rValue = here->BJTbaseCurrentHalfResist;
72  break;
73  case BJT_MOD_RBM:
74  value->rValue = here->BJTminBaseResist;
75  break;
76  case BJT_MOD_RE:
77  value->rValue = here->BJTemitterResist;
78  break;
79  case BJT_MOD_RC:
80  value->rValue = here->BJTcollectorResist;
81  break;
82  case BJT_MOD_CJE:
83  value->rValue = here->BJTdepletionCapBE;
84  break;
85  case BJT_MOD_VJE:
86  value->rValue = here->BJTpotentialBE;
87  break;
88  case BJT_MOD_MJE:
89  value->rValue = here->BJTjunctionExpBE;
90  break;
91  case BJT_MOD_TF:
92  value->rValue = here->BJTtransitTimeF;
93  break;
94  case BJT_MOD_XTF:
95  value->rValue = here->BJTtransitTimeBiasCoeffF;
96  break;
97  case BJT_MOD_VTF:
98  value->rValue = here->BJTtransitTimeFVBC;
99  break;
100  case BJT_MOD_ITF:
101  value->rValue = here->BJTtransitTimeHighCurrentF;
102  break;
103  case BJT_MOD_PTF:
104  value->rValue = here->BJTexcessPhase;
105  break;
106  case BJT_MOD_CJC:
107  value->rValue = here->BJTdepletionCapBC;
108  break;
109  case BJT_MOD_VJC:
110  value->rValue = here->BJTpotentialBC;
111  break;
112  case BJT_MOD_MJC:
113  value->rValue = here->BJTjunctionExpBC;
114  break;
115  case BJT_MOD_XCJC:
116  value->rValue = here->BJTbaseFractionBCcap;
117  break;
118  case BJT_MOD_TR:
119  value->rValue = here->BJTtransitTimeR;
120  break;
121  case BJT_MOD_CJS:
122  value->rValue = here->BJTcapCS;
123  break;
124  case BJT_MOD_VJS:
125  value->rValue = here->BJTpotentialSubstrate;
126  break;
127  case BJT_MOD_MJS:
128  value->rValue = here->BJTexponentialSubstrate;
129  break;
130  case BJT_MOD_XTB:
131  value->rValue = here->BJTbetaExp;
132  break;
133  case BJT_MOD_EG:
134  value->rValue = here->BJTenergyGap;
135  break;
136  case BJT_MOD_XTI:
137  value->rValue = here->BJTtempExpIS;
138  break;
139  case BJT_MOD_FC:
140  value->rValue = here->BJTdepletionCapCoeff;
141  break;
142  case BJT_MOD_TNOM:
143  value->rValue = here->BJTtnom-CONSTCtoK;
144  break;
145  case BJT_MOD_INVEARLYF:
146  value->rValue = here->BJTinvEarlyVoltF;
147  break;
148  case BJT_MOD_INVEARLYR:
149  value->rValue = here->BJTinvEarlyVoltR;
150  break;
151  case BJT_MOD_INVROLLOFFF:
152  value->rValue = here->BJTinvRollOffF;
153  break;
154  case BJT_MOD_INVROLLOFFR:
155  value->rValue = here->BJTinvRollOffR;
156  break;
157  case BJT_MOD_COLCONDUCT:
158  value->rValue = here->BJTcollectorConduct;
159  break;
161  value->rValue = here->BJTemitterConduct;
162  break;
164  value->rValue = here->BJTtransitTimeVBCFactor;
165  break;
167  value->rValue = here->BJTexcessPhaseFactor;
168  break;
169  case BJT_MOD_TYPE:
170  if (here->BJTtype == NPN)
171  value->sValue = "npn";
172  else
173  value->sValue = "pnp";
174  break;
175  default:
176  return (E_BADPARM);
177  }
178  return (OK);
179 }
double BJTdepletionCapBC
Definition: bjtdefs.h:291
#define BJT_MOD_IS
Definition: bjtdefs.h:379
#define BJT_MOD_MJC
Definition: bjtdefs.h:407
#define NPN
Definition: bjtdefs.h:364
#define BJT_MOD_EXCESSPHASEFACTOR
Definition: bjtdefs.h:467
#define BJT_MOD_EG
Definition: bjtdefs.h:414
#define BJT_MOD_XTB
Definition: bjtdefs.h:413
double BJTjunctionExpBC
Definition: bjtdefs.h:293
double BJTtempExpIS
Definition: bjtdefs.h:301
#define BJT_MOD_VJS
Definition: bjtdefs.h:411
#define BJT_MOD_TYPE
Definition: bjtdefs.h:468
double BJTpotentialBE
Definition: bjtdefs.h:284
double BJTleakBCcurrent
Definition: bjtdefs.h:276
double BJTbaseCurrentHalfResist
Definition: bjtdefs.h:279
#define BJT_MOD_TR
Definition: bjtdefs.h:409
int BJTtype
Definition: bjtdefs.h:262
double BJTexcessPhase
Definition: bjtdefs.h:290
double BJTtransitTimeR
Definition: bjtdefs.h:295
double BJTtransitTimeHighCurrentF
Definition: bjtdefs.h:289
#define BJT_MOD_NE
Definition: bjtdefs.h:385
double BJTemissionCoeffF
Definition: bjtdefs.h:267
#define BJT_MOD_INVEARLYF
Definition: bjtdefs.h:460
double BJTbetaExp
Definition: bjtdefs.h:299
#define BJT_MOD_TNOM
Definition: bjtdefs.h:417
double BJTcollectorConduct
Definition: bjtdefs.h:310
#define CONSTCtoK
Definition: const.h:11
double BJTpotentialBC
Definition: bjtdefs.h:292
double BJTemissionCoeffR
Definition: bjtdefs.h:273
#define BJT_MOD_VJC
Definition: bjtdefs.h:406
double BJTrollOffF
Definition: bjtdefs.h:269
double BJTjunctionExpBE
Definition: bjtdefs.h:285
#define BJT_MOD_TF
Definition: bjtdefs.h:400
#define E_BADPARM
Definition: iferrmsg.h:26
#define BJT_MOD_CJS
Definition: bjtdefs.h:410
#define BJT_MOD_EMITTERCONDUCT
Definition: bjtdefs.h:465
#define BJT_MOD_VAR
Definition: bjtdefs.h:388
double BJTbetaF
Definition: bjtdefs.h:266
#define BJT_MOD_MJS
Definition: bjtdefs.h:412
double BJTexponentialSubstrate
Definition: bjtdefs.h:298
double BJTrollOffR
Definition: bjtdefs.h:275
double rValue
Definition: ifsim.h:233
#define BJT_MOD_FC
Definition: bjtdefs.h:416
#define BJT_MOD_XTI
Definition: bjtdefs.h:415
#define BJT_MOD_NF
Definition: bjtdefs.h:381
#define OK
Definition: iferrmsg.h:17
double BJTearlyVoltR
Definition: bjtdefs.h:274
#define BJT_MOD_RB
Definition: bjtdefs.h:392
#define BJT_MOD_RE
Definition: bjtdefs.h:395
#define BJT_MOD_PTF
Definition: bjtdefs.h:404
#define BJT_MOD_ITF
Definition: bjtdefs.h:403
double BJTpotentialSubstrate
Definition: bjtdefs.h:297
double BJTexcessPhaseFactor
Definition: bjtdefs.h:313
double BJTdepletionCapCoeff
Definition: bjtdefs.h:302
#define BJT_MOD_COLCONDUCT
Definition: bjtdefs.h:464
double BJTtransitTimeVBCFactor
Definition: bjtdefs.h:312
double BJTleakBEcurrent
Definition: bjtdefs.h:270
double BJTleakBEemissionCoeff
Definition: bjtdefs.h:271
double BJTtransitTimeF
Definition: bjtdefs.h:286
#define BJT_MOD_ISE
Definition: bjtdefs.h:384
#define BJT_MOD_XTF
Definition: bjtdefs.h:401
#define BJT_MOD_IKF
Definition: bjtdefs.h:383
double BJTcollectorResist
Definition: bjtdefs.h:282
double BJTinvEarlyVoltR
Definition: bjtdefs.h:307
#define BJT_MOD_CJC
Definition: bjtdefs.h:405
double BJTtransitTimeBiasCoeffF
Definition: bjtdefs.h:287
#define BJT_MOD_IKR
Definition: bjtdefs.h:389
double BJTtnom
Definition: bjtdefs.h:264
#define BJT_MOD_VJE
Definition: bjtdefs.h:398
#define BJT_MOD_XCJC
Definition: bjtdefs.h:408
double BJTinvEarlyVoltF
Definition: bjtdefs.h:306
double BJTearlyVoltF
Definition: bjtdefs.h:268
double BJTtransitTimeFVBC
Definition: bjtdefs.h:288
#define BJT_MOD_CJE
Definition: bjtdefs.h:397
double BJTsatCur
Definition: bjtdefs.h:265
#define BJT_MOD_RBM
Definition: bjtdefs.h:394
double BJTbaseResist
Definition: bjtdefs.h:278
double BJTdepletionCapBE
Definition: bjtdefs.h:283
#define BJT_MOD_INVEARLYR
Definition: bjtdefs.h:461
#define BJT_MOD_VAF
Definition: bjtdefs.h:382
#define BJT_MOD_BF
Definition: bjtdefs.h:380
#define BJT_MOD_NR
Definition: bjtdefs.h:387
double BJTemitterResist
Definition: bjtdefs.h:281
double BJTemitterConduct
Definition: bjtdefs.h:311
char * sValue
Definition: ifsim.h:235
#define BJT_MOD_VTF
Definition: bjtdefs.h:402
#define BJT_MOD_INVROLLOFFR
Definition: bjtdefs.h:463
#define BJT_MOD_TRANSVBCFACT
Definition: bjtdefs.h:466
#define BJT_MOD_BR
Definition: bjtdefs.h:386
double BJTleakBCemissionCoeff
Definition: bjtdefs.h:277
#define BJT_MOD_INVROLLOFFF
Definition: bjtdefs.h:462
#define BJT_MOD_NC
Definition: bjtdefs.h:391
#define BJT_MOD_ISC
Definition: bjtdefs.h:390
double BJTinvRollOffF
Definition: bjtdefs.h:308
#define BJT_MOD_IRB
Definition: bjtdefs.h:393
#define BJT_MOD_RC
Definition: bjtdefs.h:396
double BJTminBaseResist
Definition: bjtdefs.h:280
#define BJT_MOD_MJE
Definition: bjtdefs.h:399
double BJTbetaR
Definition: bjtdefs.h:272
double BJTinvRollOffR
Definition: bjtdefs.h:309
double BJTbaseFractionBCcap
Definition: bjtdefs.h:294
double BJTcapCS
Definition: bjtdefs.h:296
double BJTenergyGap
Definition: bjtdefs.h:300