Jspice3
bjtparam.c
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1985 Thomas L. Quarles
5  1993 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 /*
9  * This routine sets instance parameters for
10  * BJTs in the circuit.
11  */
12 
13 #include "spice.h"
14 #include <stdio.h>
15 #include "bjtdefs.h"
16 #include "const.h"
17 #include "util.h"
18 #include "sperror.h"
19 
20 
21 /* ARGSUSED */
22 int
23 BJTparam(ckt,param,value,instPtr,select)
24 
25 CKTcircuit *ckt;
26 int param;
27 IFvalue *value;
28 GENinstance *instPtr;
29 IFvalue *select;
30 {
31  BJTinstance *here = (BJTinstance*)instPtr;
32 
33  switch (param) {
34 
35  case BJT_AREA:
36  here->BJTarea = value->rValue;
37  here->BJTareaGiven = TRUE;
38  break;
39  case BJT_OFF:
40  here->BJToff = value->iValue;
41  break;
42  case BJT_IC_VBE:
43  here->BJTicVBE = value->rValue;
44  here->BJTicVBEGiven = TRUE;
45  break;
46  case BJT_IC_VCE:
47  here->BJTicVCE = value->rValue;
48  here->BJTicVCEGiven = TRUE;
49  break;
50  case BJT_IC :
51  switch (value->v.numValue) {
52  case 2:
53  here->BJTicVCE = *(value->v.vec.rVec+1);
54  here->BJTicVCEGiven = TRUE;
55  case 1:
56  here->BJTicVBE = *(value->v.vec.rVec);
57  here->BJTicVBEGiven = TRUE;
58  break;
59  default:
60  return (E_BADPARM);
61  }
62  break;
63  case BJT_TEMP:
64  here->BJTtemp = value->rValue+CONSTCtoK;
65  here->BJTtempGiven = TRUE;
66  break;
67  default:
68  return (E_BADPARM);
69  }
70  return (OK);
71 }
int numValue
Definition: ifsim.h:240
unsigned BJTareaGiven
Definition: bjtdefs.h:230
#define BJT_AREA
Definition: bjtdefs.h:369
union uIFvalue::@13::@14 vec
#define BJT_TEMP
Definition: bjtdefs.h:374
double BJTarea
Definition: bjtdefs.h:32
#define CONSTCtoK
Definition: const.h:11
double BJTtemp
Definition: bjtdefs.h:35
#define E_BADPARM
Definition: iferrmsg.h:26
unsigned BJTtempGiven
Definition: bjtdefs.h:229
#define TRUE
Definition: util.h:27
int iValue
Definition: ifsim.h:232
double rValue
Definition: ifsim.h:233
#define OK
Definition: iferrmsg.h:17
unsigned BJTicVBEGiven
Definition: bjtdefs.h:231
unsigned BJTicVCEGiven
Definition: bjtdefs.h:232
double BJTicVBE
Definition: bjtdefs.h:33
#define BJT_OFF
Definition: bjtdefs.h:370
int BJTparam(CKTcircuit *ckt, int param, IFvalue *value, GENinstance *instPtr, IFvalue *select)
Definition: bjtparam.c:23
#define BJT_IC_VBE
Definition: bjtdefs.h:371
struct uIFvalue::@13 v
#define BJT_IC
Definition: bjtdefs.h:373
double BJTicVCE
Definition: bjtdefs.h:34
#define BJT_IC_VCE
Definition: bjtdefs.h:372
unsigned BJToff
Definition: bjtdefs.h:228