Jspice3
b1par.c File Reference
#include "spice.h"
#include <stdio.h>
#include "bsim1def.h"
#include "util.h"
#include "sperror.h"
Include dependency graph for b1par.c:

Go to the source code of this file.

Functions

int B1param (CKTcircuit *ckt, int param, IFvalue *value, GENinstance *inst, IFvalue *select)
 

Function Documentation

int B1param ( CKTcircuit ckt,
int  param,
IFvalue value,
GENinstance inst,
IFvalue select 
)

Definition at line 17 of file b1par.c.

24 {
25  B1instance *here = (B1instance*)inst;
26  switch(param) {
27  case BSIM1_W:
28  here->B1w = value->rValue;
29  here->B1wGiven = TRUE;
30  break;
31  case BSIM1_L:
32  here->B1l = value->rValue;
33  here->B1lGiven = TRUE;
34  break;
35  case BSIM1_AS:
36  here->B1sourceArea = value->rValue;
37  here->B1sourceAreaGiven = TRUE;
38  break;
39  case BSIM1_AD:
40  here->B1drainArea = value->rValue;
41  here->B1drainAreaGiven = TRUE;
42  break;
43  case BSIM1_PS:
44  here->B1sourcePerimeter = value->rValue;
46  break;
47  case BSIM1_PD:
48  here->B1drainPerimeter = value->rValue;
50  break;
51  case BSIM1_NRS:
52  here->B1sourceSquares = value->rValue;
53  here->B1sourceSquaresGiven = TRUE;
54  break;
55  case BSIM1_NRD:
56  here->B1drainSquares = value->rValue;
57  here->B1drainSquaresGiven = TRUE;
58  break;
59  case BSIM1_OFF:
60  here->B1off = value->iValue;
61  break;
62  case BSIM1_IC_VBS:
63  here->B1icVBS = value->rValue;
64  here->B1icVBSGiven = TRUE;
65  break;
66  case BSIM1_IC_VDS:
67  here->B1icVDS = value->rValue;
68  here->B1icVDSGiven = TRUE;
69  break;
70  case BSIM1_IC_VGS:
71  here->B1icVGS = value->rValue;
72  here->B1icVGSGiven = TRUE;
73  break;
74  case BSIM1_IC:
75  switch(value->v.numValue){
76  case 3:
77  here->B1icVBS = *(value->v.vec.rVec+2);
78  here->B1icVBSGiven = TRUE;
79  case 2:
80  here->B1icVGS = *(value->v.vec.rVec+1);
81  here->B1icVGSGiven = TRUE;
82  case 1:
83  here->B1icVDS = *(value->v.vec.rVec);
84  here->B1icVDSGiven = TRUE;
85  break;
86  default:
87  return(E_BADPARM);
88  }
89  break;
90  default:
91  return(E_BADPARM);
92  }
93  return(OK);
94 }
#define BSIM1_AS
Definition: bsim1def.h:480
#define BSIM1_W
Definition: bsim1def.h:478
double B1icVBS
Definition: bsim1def.h:45
int numValue
Definition: ifsim.h:240
#define BSIM1_IC
Definition: bsim1def.h:490
unsigned B1drainPerimeterGiven
Definition: bsim1def.h:89
union uIFvalue::@13::@14 vec
#define BSIM1_AD
Definition: bsim1def.h:481
unsigned B1drainSquaresGiven
Definition: bsim1def.h:87
#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
#define BSIM1_NRD
Definition: bsim1def.h:485
#define OK
Definition: iferrmsg.h:17
double B1drainArea
Definition: bsim1def.h:36
#define BSIM1_OFF
Definition: bsim1def.h:486
double B1icVGS
Definition: bsim1def.h:47
double B1icVDS
Definition: bsim1def.h:46
unsigned B1sourceSquaresGiven
Definition: bsim1def.h:88
#define BSIM1_IC_VGS
Definition: bsim1def.h:489
unsigned B1drainAreaGiven
Definition: bsim1def.h:85
#define BSIM1_IC_VBS
Definition: bsim1def.h:487
#define BSIM1_L
Definition: bsim1def.h:479
double B1sourceArea
Definition: bsim1def.h:37
double B1w
Definition: bsim1def.h:35
#define BSIM1_PD
Definition: bsim1def.h:483
unsigned B1icVGSGiven
Definition: bsim1def.h:95
unsigned B1icVDSGiven
Definition: bsim1def.h:94
double B1l
Definition: bsim1def.h:34
unsigned B1icVBSGiven
Definition: bsim1def.h:93
struct uIFvalue::@13 v
unsigned B1lGiven
Definition: bsim1def.h:83
double B1drainSquares
Definition: bsim1def.h:38
unsigned B1sourcePerimeterGiven
Definition: bsim1def.h:90
#define BSIM1_NRS
Definition: bsim1def.h:484
#define BSIM1_IC_VDS
Definition: bsim1def.h:488
#define BSIM1_PS
Definition: bsim1def.h:482
unsigned B1wGiven
Definition: bsim1def.h:84
double B1sourceSquares
Definition: bsim1def.h:39
double B1drainPerimeter
Definition: bsim1def.h:40
double B1sourcePerimeter
Definition: bsim1def.h:41
unsigned B1sourceAreaGiven
Definition: bsim1def.h:86