Jspice3
jfetpar.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 /********** new in 3f2
8 Sydney University mods Copyright(c) 1989 Anthony E. Parker, David J. Skellern
9  Laboratory for Communication Science Engineering
10  Sydney University Department of Electrical Engineering, Australia
11 **********/
12 
13 #include "spice.h"
14 #include <stdio.h>
15 #include "jfetdefs.h"
16 #include "const.h"
17 #include "util.h"
18 #include "sperror.h"
19 
20 
21 /* ARGSUSED */
22 int
23 JFETparam(ckt,param,value,inst,select)
24 
25 CKTcircuit *ckt;
26 int param;
27 IFvalue *value;
28 GENinstance *inst;
29 IFvalue *select;
30 {
31  JFETinstance *here = (JFETinstance *)inst;
32 
33  switch (param) {
34 
35  case JFET_AREA:
36  here->JFETarea = value->rValue;
37  here->JFETareaGiven = TRUE;
38  break;
39  case JFET_IC_VDS:
40  here->JFETicVDS = value->rValue;
41  here->JFETicVDSGiven = TRUE;
42  break;
43  case JFET_IC_VGS:
44  here->JFETicVGS = value->rValue;
45  here->JFETicVGSGiven = TRUE;
46  break;
47  case JFET_IC:
48  switch(value->v.numValue) {
49  case 2:
50  here->JFETicVGS = *(value->v.vec.rVec+1);
51  here->JFETicVGSGiven = TRUE;
52  case 1:
53  here->JFETicVDS = *(value->v.vec.rVec);
54  here->JFETicVDSGiven = TRUE;
55  break;
56  default:
57  return(E_BADPARM);
58  }
59  break;
60  case JFET_OFF:
61  here->JFEToff = value->iValue;
62  break;
63  case JFET_TEMP:
64  here->JFETtemp = value->rValue+CONSTCtoK;
65  here->JFETtempGiven = TRUE;
66  break;
67  default:
68  return(E_BADPARM);
69  }
70  return(OK);
71 }
int numValue
Definition: ifsim.h:240
#define JFET_IC_VDS
Definition: jfetdefs.h:227
#define JFET_AREA
Definition: jfetdefs.h:226
unsigned JFETareaGiven
Definition: jfetdefs.h:128
union uIFvalue::@13::@14 vec
unsigned JFETicVDSGiven
Definition: jfetdefs.h:129
#define CONSTCtoK
Definition: const.h:11
#define E_BADPARM
Definition: iferrmsg.h:26
#define TRUE
Definition: util.h:27
int iValue
Definition: ifsim.h:232
double rValue
Definition: ifsim.h:233
double JFETarea
Definition: jfetdefs.h:134
#define JFET_IC_VGS
Definition: jfetdefs.h:228
unsigned JFETicVGSGiven
Definition: jfetdefs.h:130
double JFETtemp
Definition: jfetdefs.h:137
#define OK
Definition: iferrmsg.h:17
unsigned JFETtempGiven
Definition: jfetdefs.h:131
double JFETicVGS
Definition: jfetdefs.h:136
#define JFET_OFF
Definition: jfetdefs.h:230
double JFETicVDS
Definition: jfetdefs.h:135
int JFETparam(CKTcircuit *ckt, int param, IFvalue *value, GENinstance *inst, IFvalue *select)
Definition: jfetpar.c:23
#define JFET_IC
Definition: jfetdefs.h:229
unsigned JFEToff
Definition: jfetdefs.h:127
struct uIFvalue::@13 v
#define JFET_TEMP
Definition: jfetdefs.h:231