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

Go to the source code of this file.

Functions

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

Function Documentation

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

Definition at line 17 of file b2par.c.

24 {
25  B2instance *here = (B2instance*)inst;
26  switch(param) {
27  case BSIM2_W:
28  here->B2w = value->rValue;
29  here->B2wGiven = TRUE;
30  break;
31  case BSIM2_L:
32  here->B2l = value->rValue;
33  here->B2lGiven = TRUE;
34  break;
35  case BSIM2_AS:
36  here->B2sourceArea = value->rValue;
37  here->B2sourceAreaGiven = TRUE;
38  break;
39  case BSIM2_AD:
40  here->B2drainArea = value->rValue;
41  here->B2drainAreaGiven = TRUE;
42  break;
43  case BSIM2_PS:
44  here->B2sourcePerimeter = value->rValue;
46  break;
47  case BSIM2_PD:
48  here->B2drainPerimeter = value->rValue;
50  break;
51  case BSIM2_NRS:
52  here->B2sourceSquares = value->rValue;
53  here->B2sourceSquaresGiven = TRUE;
54  break;
55  case BSIM2_NRD:
56  here->B2drainSquares = value->rValue;
57  here->B2drainSquaresGiven = TRUE;
58  break;
59  case BSIM2_OFF:
60  here->B2off = value->iValue;
61  break;
62  case BSIM2_IC_VBS:
63  here->B2icVBS = value->rValue;
64  here->B2icVBSGiven = TRUE;
65  break;
66  case BSIM2_IC_VDS:
67  here->B2icVDS = value->rValue;
68  here->B2icVDSGiven = TRUE;
69  break;
70  case BSIM2_IC_VGS:
71  here->B2icVGS = value->rValue;
72  here->B2icVGSGiven = TRUE;
73  break;
74  case BSIM2_IC:
75  switch(value->v.numValue){
76  case 3:
77  here->B2icVBS = *(value->v.vec.rVec+2);
78  here->B2icVBSGiven = TRUE;
79  case 2:
80  here->B2icVGS = *(value->v.vec.rVec+1);
81  here->B2icVGSGiven = TRUE;
82  case 1:
83  here->B2icVDS = *(value->v.vec.rVec);
84  here->B2icVDSGiven = TRUE;
85  break;
86  default:
87  return(E_BADPARM);
88  }
89  break;
90  default:
91  return(E_BADPARM);
92  }
93  return(OK);
94 }
double B2drainPerimeter
Definition: bsim2def.h:37
double B2sourceArea
Definition: bsim2def.h:34
#define BSIM2_AS
Definition: bsim2def.h:522
unsigned B2lGiven
Definition: bsim2def.h:53
int numValue
Definition: ifsim.h:240
unsigned B2drainAreaGiven
Definition: bsim2def.h:55
#define BSIM2_NRS
Definition: bsim2def.h:526
unsigned B2sourceAreaGiven
Definition: bsim2def.h:56
#define BSIM2_IC
Definition: bsim2def.h:532
#define BSIM2_W
Definition: bsim2def.h:520
double B2sourcePerimeter
Definition: bsim2def.h:38
#define BSIM2_NRD
Definition: bsim2def.h:527
double B2icVBS
Definition: bsim2def.h:42
double B2icVGS
Definition: bsim2def.h:44
union uIFvalue::@13::@14 vec
double B2sourceSquares
Definition: bsim2def.h:36
#define BSIM2_IC_VBS
Definition: bsim2def.h:529
#define E_BADPARM
Definition: iferrmsg.h:26
unsigned B2icVBSGiven
Definition: bsim2def.h:63
#define TRUE
Definition: util.h:27
int iValue
Definition: ifsim.h:232
double B2drainArea
Definition: bsim2def.h:33
double rValue
Definition: ifsim.h:233
double B2l
Definition: bsim2def.h:31
unsigned B2icVDSGiven
Definition: bsim2def.h:64
unsigned B2sourcePerimeterGiven
Definition: bsim2def.h:60
unsigned B2sourceSquaresGiven
Definition: bsim2def.h:58
#define BSIM2_IC_VDS
Definition: bsim2def.h:530
#define OK
Definition: iferrmsg.h:17
double B2drainSquares
Definition: bsim2def.h:35
double B2icVDS
Definition: bsim2def.h:43
#define BSIM2_PD
Definition: bsim2def.h:525
double B2w
Definition: bsim2def.h:32
#define BSIM2_OFF
Definition: bsim2def.h:528
#define BSIM2_IC_VGS
Definition: bsim2def.h:531
#define BSIM2_L
Definition: bsim2def.h:521
struct uIFvalue::@13 v
#define BSIM2_AD
Definition: bsim2def.h:523
unsigned B2drainPerimeterGiven
Definition: bsim2def.h:59
unsigned B2icVGSGiven
Definition: bsim2def.h:65
#define BSIM2_PS
Definition: bsim2def.h:524
unsigned B2wGiven
Definition: bsim2def.h:54
unsigned B2drainSquaresGiven
Definition: bsim2def.h:57