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

Go to the source code of this file.

Functions

int B1mAsk (CKTcircuit *ckt, GENmodel *inst, int which, IFvalue *value)
 

Function Documentation

int B1mAsk ( CKTcircuit ckt,
GENmodel inst,
int  which,
IFvalue value 
)

Definition at line 16 of file b1mask.c.

21 {
22  B1model *model = (B1model *)inst;
23  switch(which) {
24  case BSIM1_MOD_VFB0:
25  value->rValue = model->B1vfb0;
26  break;
27  case BSIM1_MOD_VFBL:
28  value->rValue = model->B1vfbL;
29  break;
30  case BSIM1_MOD_VFBW:
31  value->rValue = model->B1vfbW;
32  break;
33  case BSIM1_MOD_PHI0:
34  value->rValue = model->B1phi0;
35  break;
36  case BSIM1_MOD_PHIL:
37  value->rValue = model->B1phiL;
38  break;
39  case BSIM1_MOD_PHIW:
40  value->rValue = model->B1phiW;
41  break;
42  case BSIM1_MOD_K10:
43  value->rValue = model->B1K10;
44  break;
45  case BSIM1_MOD_K1L:
46  value->rValue = model->B1K1L;
47  break;
48  case BSIM1_MOD_K1W:
49  value->rValue = model->B1K1W;
50  break;
51  case BSIM1_MOD_K20:
52  value->rValue = model->B1K20;
53  break;
54  case BSIM1_MOD_K2L:
55  value->rValue = model->B1K2L;
56  break;
57  case BSIM1_MOD_K2W:
58  value->rValue = model->B1K2W;
59  break;
60  case BSIM1_MOD_ETA0:
61  value->rValue = model->B1eta0;
62  break;
63  case BSIM1_MOD_ETAL:
64  value->rValue = model->B1etaL;
65  break;
66  case BSIM1_MOD_ETAW:
67  value->rValue = model->B1etaW;
68  break;
69  case BSIM1_MOD_ETAB0:
70  value->rValue = model->B1etaB0;
71  break;
72  case BSIM1_MOD_ETABL:
73  value->rValue = model->B1etaBl;
74  break;
75  case BSIM1_MOD_ETABW:
76  value->rValue = model->B1etaBw;
77  break;
78  case BSIM1_MOD_ETAD0:
79  value->rValue = model->B1etaD0;
80  break;
81  case BSIM1_MOD_ETADL:
82  value->rValue = model->B1etaDl;
83  break;
84  case BSIM1_MOD_ETADW:
85  value->rValue = model->B1etaDw;
86  break;
87  case BSIM1_MOD_DELTAL:
88  value->rValue = model->B1deltaL;
89  break;
90  case BSIM1_MOD_DELTAW:
91  value->rValue = model->B1deltaW;
92  break;
93  case BSIM1_MOD_MOBZERO:
94  value->rValue = model->B1mobZero;
95  break;
97  value->rValue = model->B1mobZeroB0;
98  break;
100  value->rValue = model->B1mobZeroBl;
101  break;
102  case BSIM1_MOD_MOBZEROBW:
103  value->rValue = model->B1mobZeroBw;
104  break;
105  case BSIM1_MOD_MOBVDD0:
106  value->rValue = model->B1mobVdd0;
107  break;
108  case BSIM1_MOD_MOBVDDL:
109  value->rValue = model->B1mobVddl;
110  break;
111  case BSIM1_MOD_MOBVDDW:
112  value->rValue = model->B1mobVddw;
113  break;
114  case BSIM1_MOD_MOBVDDB0:
115  value->rValue = model->B1mobVddB0;
116  break;
117  case BSIM1_MOD_MOBVDDBL:
118  value->rValue = model->B1mobVddBl;
119  break;
120  case BSIM1_MOD_MOBVDDBW:
121  value->rValue = model->B1mobVddBw;
122  break;
123  case BSIM1_MOD_MOBVDDD0:
124  value->rValue = model->B1mobVddD0;
125  break;
126  case BSIM1_MOD_MOBVDDDL:
127  value->rValue = model->B1mobVddDl;
128  break;
129  case BSIM1_MOD_MOBVDDDW:
130  value->rValue = model->B1mobVddDw;
131  break;
132  case BSIM1_MOD_UGS0:
133  value->rValue = model->B1ugs0;
134  break;
135  case BSIM1_MOD_UGSL:
136  value->rValue = model->B1ugsL;
137  break;
138  case BSIM1_MOD_UGSW:
139  value->rValue = model->B1ugsW;
140  break;
141  case BSIM1_MOD_UGSB0:
142  value->rValue = model->B1ugsB0;
143  break;
144  case BSIM1_MOD_UGSBL:
145  value->rValue = model->B1ugsBL;
146  break;
147  case BSIM1_MOD_UGSBW:
148  value->rValue = model->B1ugsBW;
149  break;
150  case BSIM1_MOD_UDS0:
151  value->rValue = model->B1uds0;
152  break;
153  case BSIM1_MOD_UDSL:
154  value->rValue = model->B1udsL;
155  break;
156  case BSIM1_MOD_UDSW:
157  value->rValue = model->B1udsW;
158  break;
159  case BSIM1_MOD_UDSB0:
160  value->rValue = model->B1udsB0;
161  break;
162  case BSIM1_MOD_UDSBL:
163  value->rValue = model->B1udsBL;
164  break;
165  case BSIM1_MOD_UDSBW:
166  value->rValue = model->B1udsBW;
167  break;
168  case BSIM1_MOD_UDSD0:
169  value->rValue = model->B1udsD0;
170  break;
171  case BSIM1_MOD_UDSDL:
172  value->rValue = model->B1udsDL;
173  break;
174  case BSIM1_MOD_UDSDW:
175  value->rValue = model->B1udsDW;
176  break;
177  case BSIM1_MOD_N00:
178  value->rValue = model->B1subthSlope0;
179  break;
180  case BSIM1_MOD_N0L:
181  value->rValue = model->B1subthSlopeL;
182  break;
183  case BSIM1_MOD_N0W:
184  value->rValue = model->B1subthSlopeW;
185  break;
186  case BSIM1_MOD_NB0:
187  value->rValue = model->B1subthSlopeB0;
188  break;
189  case BSIM1_MOD_NBL:
190  value->rValue = model->B1subthSlopeBL;
191  break;
192  case BSIM1_MOD_NBW:
193  value->rValue = model->B1subthSlopeBW;
194  break;
195  case BSIM1_MOD_ND0:
196  value->rValue = model->B1subthSlopeD0;
197  break;
198  case BSIM1_MOD_NDL:
199  value->rValue = model->B1subthSlopeDL;
200  break;
201  case BSIM1_MOD_NDW:
202  value->rValue = model->B1subthSlopeDW;
203  break;
204  case BSIM1_MOD_TOX:
205  value->rValue = model->B1oxideThickness;
206  break;
207  case BSIM1_MOD_TEMP:
208  value->rValue = model->B1temp;
209  break;
210  case BSIM1_MOD_VDD:
211  value->rValue = model->B1vdd;
212  break;
213  case BSIM1_MOD_CGSO:
214  value->rValue = model->B1gateSourceOverlapCap;
215  break;
216  case BSIM1_MOD_CGDO:
217  value->rValue = model->B1gateDrainOverlapCap;
218  break;
219  case BSIM1_MOD_CGBO:
220  value->rValue = model->B1gateBulkOverlapCap;
221  break;
222  case BSIM1_MOD_XPART:
223  value->iValue = model->B1channelChargePartitionFlag;
224  break;
225  case BSIM1_MOD_RSH:
226  value->rValue = model->B1sheetResistance;
227  break;
228  case BSIM1_MOD_JS:
229  value->rValue = model->B1jctSatCurDensity;
230  break;
231  case BSIM1_MOD_PB:
232  value->rValue = model->B1bulkJctPotential;
233  break;
234  case BSIM1_MOD_MJ:
235  value->rValue = model->B1bulkJctBotGradingCoeff;
236  break;
237  case BSIM1_MOD_PBSW:
238  value->rValue = model->B1sidewallJctPotential;
239  break;
240  case BSIM1_MOD_MJSW:
241  value->rValue = model->B1bulkJctSideGradingCoeff;
242  break;
243  case BSIM1_MOD_CJ:
244  value->rValue = model->B1unitAreaJctCap;
245  break;
246  case BSIM1_MOD_CJSW:
247  value->rValue = model->B1unitLengthSidewallJctCap;
248  break;
249  case BSIM1_MOD_DEFWIDTH:
250  value->rValue = model->B1defaultWidth;
251  break;
252  case BSIM1_MOD_DELLENGTH:
253  value->rValue = model->B1deltaLength;
254  break;
255  default:
256  return (E_BADPARM);
257  }
258  return (OK);
259 }
double B1mobZeroBl
Definition: bsim1def.h:333
#define BSIM1_MOD_UDSBL
Definition: bsim1def.h:539
#define BSIM1_MOD_UGSL
Definition: bsim1def.h:530
#define BSIM1_MOD_ETAB0
Definition: bsim1def.h:508
double B1udsBL
Definition: bsim1def.h:354
#define BSIM1_MOD_MOBZEROBW
Definition: bsim1def.h:519
#define BSIM1_MOD_UDSL
Definition: bsim1def.h:536
double B1bulkJctPotential
Definition: bsim1def.h:379
#define BSIM1_MOD_K1L
Definition: bsim1def.h:500
double B1phi0
Definition: bsim1def.h:311
double B1subthSlopeL
Definition: bsim1def.h:360
double B1mobZero
Definition: bsim1def.h:331
#define BSIM1_MOD_CJSW
Definition: bsim1def.h:567
double B1eta0
Definition: bsim1def.h:320
#define BSIM1_MOD_MOBVDDB0
Definition: bsim1def.h:523
double B1oxideThickness
Definition: bsim1def.h:368
double B1channelChargePartitionFlag
Definition: bsim1def.h:375
#define BSIM1_MOD_MOBVDDW
Definition: bsim1def.h:522
#define BSIM1_MOD_UDSD0
Definition: bsim1def.h:541
double B1phiW
Definition: bsim1def.h:313
double B1vfb0
Definition: bsim1def.h:308
double B1mobVddl
Definition: bsim1def.h:336
#define BSIM1_MOD_CGBO
Definition: bsim1def.h:558
#define BSIM1_MOD_TEMP
Definition: bsim1def.h:554
#define BSIM1_MOD_DEFWIDTH
Definition: bsim1def.h:568
double B1K20
Definition: bsim1def.h:317
#define BSIM1_MOD_MOBVDDDW
Definition: bsim1def.h:528
#define BSIM1_MOD_DELTAW
Definition: bsim1def.h:515
double B1deltaLength
Definition: bsim1def.h:386
#define BSIM1_MOD_UGSB0
Definition: bsim1def.h:532
double B1subthSlopeD0
Definition: bsim1def.h:365
double B1etaB0
Definition: bsim1def.h:323
double B1mobVdd0
Definition: bsim1def.h:335
double B1etaL
Definition: bsim1def.h:321
#define BSIM1_MOD_UGS0
Definition: bsim1def.h:529
#define BSIM1_MOD_ETABL
Definition: bsim1def.h:509
#define BSIM1_MOD_UDS0
Definition: bsim1def.h:535
#define BSIM1_MOD_XPART
Definition: bsim1def.h:559
double B1ugsL
Definition: bsim1def.h:345
#define BSIM1_MOD_K20
Definition: bsim1def.h:502
double B1deltaL
Definition: bsim1def.h:329
double B1etaW
Definition: bsim1def.h:322
double B1subthSlopeBW
Definition: bsim1def.h:364
#define BSIM1_MOD_DELTAL
Definition: bsim1def.h:514
#define BSIM1_MOD_RSH
Definition: bsim1def.h:560
#define BSIM1_MOD_NDL
Definition: bsim1def.h:551
double B1subthSlopeDW
Definition: bsim1def.h:367
#define BSIM1_MOD_MJSW
Definition: bsim1def.h:565
#define BSIM1_MOD_PHIW
Definition: bsim1def.h:498
#define E_BADPARM
Definition: iferrmsg.h:26
double B1ugsBL
Definition: bsim1def.h:348
double B1K2W
Definition: bsim1def.h:319
double B1K1W
Definition: bsim1def.h:316
#define BSIM1_MOD_MOBVDDD0
Definition: bsim1def.h:526
#define BSIM1_MOD_NBL
Definition: bsim1def.h:548
double B1uds0
Definition: bsim1def.h:350
int iValue
Definition: ifsim.h:232
#define BSIM1_MOD_MOBZERO
Definition: bsim1def.h:516
#define BSIM1_MOD_ETAL
Definition: bsim1def.h:506
double B1mobVddBl
Definition: bsim1def.h:339
#define BSIM1_MOD_NBW
Definition: bsim1def.h:549
double rValue
Definition: ifsim.h:233
double B1udsBW
Definition: bsim1def.h:355
#define BSIM1_MOD_ETABW
Definition: bsim1def.h:510
double B1temp
Definition: bsim1def.h:370
double B1subthSlopeDL
Definition: bsim1def.h:366
double B1K2L
Definition: bsim1def.h:318
double B1mobVddDw
Definition: bsim1def.h:343
#define OK
Definition: iferrmsg.h:17
#define BSIM1_MOD_UGSBL
Definition: bsim1def.h:533
double B1etaBl
Definition: bsim1def.h:324
#define BSIM1_MOD_VFB0
Definition: bsim1def.h:493
#define BSIM1_MOD_K2W
Definition: bsim1def.h:504
double B1etaDw
Definition: bsim1def.h:328
#define BSIM1_MOD_MOBZEROBL
Definition: bsim1def.h:518
double B1mobVddDl
Definition: bsim1def.h:342
double B1ugsBW
Definition: bsim1def.h:349
double B1ugs0
Definition: bsim1def.h:344
double B1unitLengthSidewallJctCap
Definition: bsim1def.h:384
#define BSIM1_MOD_TOX
Definition: bsim1def.h:553
double B1etaDl
Definition: bsim1def.h:327
#define BSIM1_MOD_VDD
Definition: bsim1def.h:555
#define BSIM1_MOD_UDSDW
Definition: bsim1def.h:543
#define BSIM1_MOD_MOBVDDDL
Definition: bsim1def.h:527
#define BSIM1_MOD_MJ
Definition: bsim1def.h:563
double B1jctSatCurDensity
Definition: bsim1def.h:378
#define BSIM1_MOD_UGSBW
Definition: bsim1def.h:534
double B1udsW
Definition: bsim1def.h:352
#define BSIM1_MOD_NB0
Definition: bsim1def.h:547
#define BSIM1_MOD_UDSBW
Definition: bsim1def.h:540
#define BSIM1_MOD_UGSW
Definition: bsim1def.h:531
double B1mobVddw
Definition: bsim1def.h:337
#define BSIM1_MOD_MOBVDDBW
Definition: bsim1def.h:525
double B1vfbL
Definition: bsim1def.h:309
double B1mobVddBw
Definition: bsim1def.h:340
double B1defaultWidth
Definition: bsim1def.h:385
#define BSIM1_MOD_NDW
Definition: bsim1def.h:552
double B1mobZeroBw
Definition: bsim1def.h:334
double B1subthSlopeB0
Definition: bsim1def.h:362
double B1udsL
Definition: bsim1def.h:351
#define BSIM1_MOD_VFBW
Definition: bsim1def.h:495
#define BSIM1_MOD_UDSB0
Definition: bsim1def.h:538
double B1ugsB0
Definition: bsim1def.h:347
double B1etaBw
Definition: bsim1def.h:325
double B1etaD0
Definition: bsim1def.h:326
#define BSIM1_MOD_ETAD0
Definition: bsim1def.h:511
double B1gateBulkOverlapCap
Definition: bsim1def.h:374
#define BSIM1_MOD_PBSW
Definition: bsim1def.h:564
#define BSIM1_MOD_VFBL
Definition: bsim1def.h:494
#define BSIM1_MOD_JS
Definition: bsim1def.h:561
static char model[32]
Definition: subckt.c:76
double B1sidewallJctPotential
Definition: bsim1def.h:382
#define BSIM1_MOD_CGDO
Definition: bsim1def.h:557
double B1subthSlope0
Definition: bsim1def.h:359
double B1udsB0
Definition: bsim1def.h:353
double B1mobZeroB0
Definition: bsim1def.h:332
#define BSIM1_MOD_PHIL
Definition: bsim1def.h:497
#define BSIM1_MOD_MOBVDD0
Definition: bsim1def.h:520
#define BSIM1_MOD_CJ
Definition: bsim1def.h:566
double B1K10
Definition: bsim1def.h:314
double B1bulkJctBotGradingCoeff
Definition: bsim1def.h:380
double B1bulkJctSideGradingCoeff
Definition: bsim1def.h:381
#define BSIM1_MOD_N0W
Definition: bsim1def.h:546
double B1gateDrainOverlapCap
Definition: bsim1def.h:373
#define BSIM1_MOD_UDSDL
Definition: bsim1def.h:542
double B1vfbW
Definition: bsim1def.h:310
double B1phiL
Definition: bsim1def.h:312
#define BSIM1_MOD_ETADL
Definition: bsim1def.h:512
double B1udsD0
Definition: bsim1def.h:356
#define BSIM1_MOD_N0L
Definition: bsim1def.h:545
#define BSIM1_MOD_PB
Definition: bsim1def.h:562
#define BSIM1_MOD_DELLENGTH
Definition: bsim1def.h:569
#define BSIM1_MOD_CGSO
Definition: bsim1def.h:556
double B1udsDL
Definition: bsim1def.h:357
double B1subthSlopeBL
Definition: bsim1def.h:363
double B1K1L
Definition: bsim1def.h:315
double B1ugsW
Definition: bsim1def.h:346
#define BSIM1_MOD_K10
Definition: bsim1def.h:499
double B1deltaW
Definition: bsim1def.h:330
#define BSIM1_MOD_K1W
Definition: bsim1def.h:501
double B1mobVddB0
Definition: bsim1def.h:338
#define BSIM1_MOD_K2L
Definition: bsim1def.h:503
double B1udsDW
Definition: bsim1def.h:358
#define BSIM1_MOD_MOBVDDL
Definition: bsim1def.h:521
#define BSIM1_MOD_PHI0
Definition: bsim1def.h:496
double B1unitAreaJctCap
Definition: bsim1def.h:383
#define BSIM1_MOD_ETADW
Definition: bsim1def.h:513
#define BSIM1_MOD_ETAW
Definition: bsim1def.h:507
double B1vdd
Definition: bsim1def.h:371
double B1gateSourceOverlapCap
Definition: bsim1def.h:372
#define BSIM1_MOD_ETA0
Definition: bsim1def.h:505
#define BSIM1_MOD_MOBVDDBL
Definition: bsim1def.h:524
double B1mobVddD0
Definition: bsim1def.h:341
#define BSIM1_MOD_N00
Definition: bsim1def.h:544
double B1subthSlopeW
Definition: bsim1def.h:361
#define BSIM1_MOD_ND0
Definition: bsim1def.h:550
#define BSIM1_MOD_MOBZEROB0
Definition: bsim1def.h:517
#define BSIM1_MOD_UDSW
Definition: bsim1def.h:537
double B1sheetResistance
Definition: bsim1def.h:377