1 /**** BSIM4.5.0 Released by Xuemei (Jane) Xi 07/29/2005 ****/
2
3 /**********
4 * Copyright 2005 Regents of the University of California. All rights reserved.
5 * File: b4mpar.c of BSIM4.5.0.
6 * Author: 2000 Weidong Liu
7 * Authors: 2001- Xuemei Xi, Mohan Dunga, Ali Niknejad, Chenming Hu.
8 * Project Director: Prof. Chenming Hu.
9 * Modified by Xuemei Xi, 04/06/2001.
10 * Modified by Xuemei Xi, 10/05/2001.
11 * Modified by Xuemei Xi, 11/15/2002.
12 * Modified by Xuemei Xi, 05/09/2003.
13 * Modified by Xuemei Xi, 03/04/2004.
14 * Modified by Xuemei Xi, Mohan Dunga, 07/29/2005.
15 **********/
16
17 #include "ngspice/ngspice.h"
18 #include "bsim4v5def.h"
19 #include "ngspice/ifsim.h"
20 #include "ngspice/sperror.h"
21 #include "ngspice/suffix.h"
22 #include "ngspice/const.h"
23
24 int
BSIM4v5mParam(int param,IFvalue * value,GENmodel * inMod)25 BSIM4v5mParam(
26 int param,
27 IFvalue *value,
28 GENmodel *inMod)
29 {
30 BSIM4v5model *mod = (BSIM4v5model*)inMod;
31 switch(param)
32 { case BSIM4v5_MOD_MOBMOD :
33 mod->BSIM4v5mobMod = value->iValue;
34 mod->BSIM4v5mobModGiven = TRUE;
35 break;
36 case BSIM4v5_MOD_BINUNIT :
37 mod->BSIM4v5binUnit = value->iValue;
38 mod->BSIM4v5binUnitGiven = TRUE;
39 break;
40 case BSIM4v5_MOD_PARAMCHK :
41 mod->BSIM4v5paramChk = value->iValue;
42 mod->BSIM4v5paramChkGiven = TRUE;
43 break;
44 case BSIM4v5_MOD_CAPMOD :
45 mod->BSIM4v5capMod = value->iValue;
46 mod->BSIM4v5capModGiven = TRUE;
47 break;
48 case BSIM4v5_MOD_DIOMOD :
49 mod->BSIM4v5dioMod = value->iValue;
50 mod->BSIM4v5dioModGiven = TRUE;
51 break;
52 case BSIM4v5_MOD_RDSMOD :
53 mod->BSIM4v5rdsMod = value->iValue;
54 mod->BSIM4v5rdsModGiven = TRUE;
55 break;
56 case BSIM4v5_MOD_TRNQSMOD :
57 mod->BSIM4v5trnqsMod = value->iValue;
58 mod->BSIM4v5trnqsModGiven = TRUE;
59 break;
60 case BSIM4v5_MOD_ACNQSMOD :
61 mod->BSIM4v5acnqsMod = value->iValue;
62 mod->BSIM4v5acnqsModGiven = TRUE;
63 break;
64 case BSIM4v5_MOD_RBODYMOD :
65 mod->BSIM4v5rbodyMod = value->iValue;
66 mod->BSIM4v5rbodyModGiven = TRUE;
67 break;
68 case BSIM4v5_MOD_RGATEMOD :
69 mod->BSIM4v5rgateMod = value->iValue;
70 mod->BSIM4v5rgateModGiven = TRUE;
71 break;
72 case BSIM4v5_MOD_PERMOD :
73 mod->BSIM4v5perMod = value->iValue;
74 mod->BSIM4v5perModGiven = TRUE;
75 break;
76 case BSIM4v5_MOD_GEOMOD :
77 mod->BSIM4v5geoMod = value->iValue;
78 mod->BSIM4v5geoModGiven = TRUE;
79 break;
80 case BSIM4v5_MOD_RGEOMOD :
81 mod->BSIM4v5rgeoMod = value->iValue;
82 mod->BSIM4v5rgeoModGiven = TRUE;
83 break;
84 case BSIM4v5_MOD_FNOIMOD :
85 mod->BSIM4v5fnoiMod = value->iValue;
86 mod->BSIM4v5fnoiModGiven = TRUE;
87 break;
88 case BSIM4v5_MOD_TNOIMOD :
89 mod->BSIM4v5tnoiMod = value->iValue;
90 mod->BSIM4v5tnoiModGiven = TRUE;
91 break;
92 case BSIM4v5_MOD_IGCMOD :
93 mod->BSIM4v5igcMod = value->iValue;
94 mod->BSIM4v5igcModGiven = TRUE;
95 break;
96 case BSIM4v5_MOD_IGBMOD :
97 mod->BSIM4v5igbMod = value->iValue;
98 mod->BSIM4v5igbModGiven = TRUE;
99 break;
100 case BSIM4v5_MOD_TEMPMOD :
101 mod->BSIM4v5tempMod = value->iValue;
102 mod->BSIM4v5tempModGiven = TRUE;
103 break;
104
105 case BSIM4v5_MOD_VERSION :
106 mod->BSIM4v5version = value->sValue;
107 mod->BSIM4v5versionGiven = TRUE;
108 break;
109 case BSIM4v5_MOD_TOXREF :
110 mod->BSIM4v5toxref = value->rValue;
111 mod->BSIM4v5toxrefGiven = TRUE;
112 break;
113 case BSIM4v5_MOD_TOXE :
114 mod->BSIM4v5toxe = value->rValue;
115 mod->BSIM4v5toxeGiven = TRUE;
116 break;
117 case BSIM4v5_MOD_TOXP :
118 mod->BSIM4v5toxp = value->rValue;
119 mod->BSIM4v5toxpGiven = TRUE;
120 break;
121 case BSIM4v5_MOD_TOXM :
122 mod->BSIM4v5toxm = value->rValue;
123 mod->BSIM4v5toxmGiven = TRUE;
124 break;
125 case BSIM4v5_MOD_DTOX :
126 mod->BSIM4v5dtox = value->rValue;
127 mod->BSIM4v5dtoxGiven = TRUE;
128 break;
129 case BSIM4v5_MOD_EPSROX :
130 mod->BSIM4v5epsrox = value->rValue;
131 mod->BSIM4v5epsroxGiven = TRUE;
132 break;
133
134 case BSIM4v5_MOD_CDSC :
135 mod->BSIM4v5cdsc = value->rValue;
136 mod->BSIM4v5cdscGiven = TRUE;
137 break;
138 case BSIM4v5_MOD_CDSCB :
139 mod->BSIM4v5cdscb = value->rValue;
140 mod->BSIM4v5cdscbGiven = TRUE;
141 break;
142
143 case BSIM4v5_MOD_CDSCD :
144 mod->BSIM4v5cdscd = value->rValue;
145 mod->BSIM4v5cdscdGiven = TRUE;
146 break;
147
148 case BSIM4v5_MOD_CIT :
149 mod->BSIM4v5cit = value->rValue;
150 mod->BSIM4v5citGiven = TRUE;
151 break;
152 case BSIM4v5_MOD_NFACTOR :
153 mod->BSIM4v5nfactor = value->rValue;
154 mod->BSIM4v5nfactorGiven = TRUE;
155 break;
156 case BSIM4v5_MOD_XJ:
157 mod->BSIM4v5xj = value->rValue;
158 mod->BSIM4v5xjGiven = TRUE;
159 break;
160 case BSIM4v5_MOD_VSAT:
161 mod->BSIM4v5vsat = value->rValue;
162 mod->BSIM4v5vsatGiven = TRUE;
163 break;
164 case BSIM4v5_MOD_A0:
165 mod->BSIM4v5a0 = value->rValue;
166 mod->BSIM4v5a0Given = TRUE;
167 break;
168
169 case BSIM4v5_MOD_AGS:
170 mod->BSIM4v5ags= value->rValue;
171 mod->BSIM4v5agsGiven = TRUE;
172 break;
173
174 case BSIM4v5_MOD_A1:
175 mod->BSIM4v5a1 = value->rValue;
176 mod->BSIM4v5a1Given = TRUE;
177 break;
178 case BSIM4v5_MOD_A2:
179 mod->BSIM4v5a2 = value->rValue;
180 mod->BSIM4v5a2Given = TRUE;
181 break;
182 case BSIM4v5_MOD_AT:
183 mod->BSIM4v5at = value->rValue;
184 mod->BSIM4v5atGiven = TRUE;
185 break;
186 case BSIM4v5_MOD_KETA:
187 mod->BSIM4v5keta = value->rValue;
188 mod->BSIM4v5ketaGiven = TRUE;
189 break;
190 case BSIM4v5_MOD_NSUB:
191 mod->BSIM4v5nsub = value->rValue;
192 mod->BSIM4v5nsubGiven = TRUE;
193 break;
194 case BSIM4v5_MOD_NDEP:
195 mod->BSIM4v5ndep = value->rValue;
196 mod->BSIM4v5ndepGiven = TRUE;
197 if (mod->BSIM4v5ndep > 1.0e20)
198 mod->BSIM4v5ndep *= 1.0e-6;
199 break;
200 case BSIM4v5_MOD_NSD:
201 mod->BSIM4v5nsd = value->rValue;
202 mod->BSIM4v5nsdGiven = TRUE;
203 if (mod->BSIM4v5nsd > 1.000001e24)
204 mod->BSIM4v5nsd *= 1.0e-6;
205 break;
206 case BSIM4v5_MOD_NGATE:
207 mod->BSIM4v5ngate = value->rValue;
208 mod->BSIM4v5ngateGiven = TRUE;
209 if (mod->BSIM4v5ngate > 1.000001e24)
210 mod->BSIM4v5ngate *= 1.0e-6;
211 break;
212 case BSIM4v5_MOD_GAMMA1:
213 mod->BSIM4v5gamma1 = value->rValue;
214 mod->BSIM4v5gamma1Given = TRUE;
215 break;
216 case BSIM4v5_MOD_GAMMA2:
217 mod->BSIM4v5gamma2 = value->rValue;
218 mod->BSIM4v5gamma2Given = TRUE;
219 break;
220 case BSIM4v5_MOD_VBX:
221 mod->BSIM4v5vbx = value->rValue;
222 mod->BSIM4v5vbxGiven = TRUE;
223 break;
224 case BSIM4v5_MOD_VBM:
225 mod->BSIM4v5vbm = value->rValue;
226 mod->BSIM4v5vbmGiven = TRUE;
227 break;
228 case BSIM4v5_MOD_XT:
229 mod->BSIM4v5xt = value->rValue;
230 mod->BSIM4v5xtGiven = TRUE;
231 break;
232 case BSIM4v5_MOD_K1:
233 mod->BSIM4v5k1 = value->rValue;
234 mod->BSIM4v5k1Given = TRUE;
235 break;
236 case BSIM4v5_MOD_KT1:
237 mod->BSIM4v5kt1 = value->rValue;
238 mod->BSIM4v5kt1Given = TRUE;
239 break;
240 case BSIM4v5_MOD_KT1L:
241 mod->BSIM4v5kt1l = value->rValue;
242 mod->BSIM4v5kt1lGiven = TRUE;
243 break;
244 case BSIM4v5_MOD_KT2:
245 mod->BSIM4v5kt2 = value->rValue;
246 mod->BSIM4v5kt2Given = TRUE;
247 break;
248 case BSIM4v5_MOD_K2:
249 mod->BSIM4v5k2 = value->rValue;
250 mod->BSIM4v5k2Given = TRUE;
251 break;
252 case BSIM4v5_MOD_K3:
253 mod->BSIM4v5k3 = value->rValue;
254 mod->BSIM4v5k3Given = TRUE;
255 break;
256 case BSIM4v5_MOD_K3B:
257 mod->BSIM4v5k3b = value->rValue;
258 mod->BSIM4v5k3bGiven = TRUE;
259 break;
260 case BSIM4v5_MOD_LPE0:
261 mod->BSIM4v5lpe0 = value->rValue;
262 mod->BSIM4v5lpe0Given = TRUE;
263 break;
264 case BSIM4v5_MOD_LPEB:
265 mod->BSIM4v5lpeb = value->rValue;
266 mod->BSIM4v5lpebGiven = TRUE;
267 break;
268 case BSIM4v5_MOD_DVTP0:
269 mod->BSIM4v5dvtp0 = value->rValue;
270 mod->BSIM4v5dvtp0Given = TRUE;
271 break;
272 case BSIM4v5_MOD_DVTP1:
273 mod->BSIM4v5dvtp1 = value->rValue;
274 mod->BSIM4v5dvtp1Given = TRUE;
275 break;
276 case BSIM4v5_MOD_W0:
277 mod->BSIM4v5w0 = value->rValue;
278 mod->BSIM4v5w0Given = TRUE;
279 break;
280 case BSIM4v5_MOD_DVT0:
281 mod->BSIM4v5dvt0 = value->rValue;
282 mod->BSIM4v5dvt0Given = TRUE;
283 break;
284 case BSIM4v5_MOD_DVT1:
285 mod->BSIM4v5dvt1 = value->rValue;
286 mod->BSIM4v5dvt1Given = TRUE;
287 break;
288 case BSIM4v5_MOD_DVT2:
289 mod->BSIM4v5dvt2 = value->rValue;
290 mod->BSIM4v5dvt2Given = TRUE;
291 break;
292 case BSIM4v5_MOD_DVT0W:
293 mod->BSIM4v5dvt0w = value->rValue;
294 mod->BSIM4v5dvt0wGiven = TRUE;
295 break;
296 case BSIM4v5_MOD_DVT1W:
297 mod->BSIM4v5dvt1w = value->rValue;
298 mod->BSIM4v5dvt1wGiven = TRUE;
299 break;
300 case BSIM4v5_MOD_DVT2W:
301 mod->BSIM4v5dvt2w = value->rValue;
302 mod->BSIM4v5dvt2wGiven = TRUE;
303 break;
304 case BSIM4v5_MOD_DROUT:
305 mod->BSIM4v5drout = value->rValue;
306 mod->BSIM4v5droutGiven = TRUE;
307 break;
308 case BSIM4v5_MOD_DSUB:
309 mod->BSIM4v5dsub = value->rValue;
310 mod->BSIM4v5dsubGiven = TRUE;
311 break;
312 case BSIM4v5_MOD_VTH0:
313 mod->BSIM4v5vth0 = value->rValue;
314 mod->BSIM4v5vth0Given = TRUE;
315 break;
316 case BSIM4v5_MOD_EU:
317 mod->BSIM4v5eu = value->rValue;
318 mod->BSIM4v5euGiven = TRUE;
319 break;
320 case BSIM4v5_MOD_UA:
321 mod->BSIM4v5ua = value->rValue;
322 mod->BSIM4v5uaGiven = TRUE;
323 break;
324 case BSIM4v5_MOD_UA1:
325 mod->BSIM4v5ua1 = value->rValue;
326 mod->BSIM4v5ua1Given = TRUE;
327 break;
328 case BSIM4v5_MOD_UB:
329 mod->BSIM4v5ub = value->rValue;
330 mod->BSIM4v5ubGiven = TRUE;
331 break;
332 case BSIM4v5_MOD_UB1:
333 mod->BSIM4v5ub1 = value->rValue;
334 mod->BSIM4v5ub1Given = TRUE;
335 break;
336 case BSIM4v5_MOD_UC:
337 mod->BSIM4v5uc = value->rValue;
338 mod->BSIM4v5ucGiven = TRUE;
339 break;
340 case BSIM4v5_MOD_UC1:
341 mod->BSIM4v5uc1 = value->rValue;
342 mod->BSIM4v5uc1Given = TRUE;
343 break;
344 case BSIM4v5_MOD_U0 :
345 mod->BSIM4v5u0 = value->rValue;
346 mod->BSIM4v5u0Given = TRUE;
347 break;
348 case BSIM4v5_MOD_UTE :
349 mod->BSIM4v5ute = value->rValue;
350 mod->BSIM4v5uteGiven = TRUE;
351 break;
352
353 case BSIM4v5_MOD_UD:
354 mod->BSIM4v5ud = value->rValue;
355 mod->BSIM4v5udGiven = TRUE;
356 break;
357 case BSIM4v5_MOD_UD1:
358 mod->BSIM4v5ud1 = value->rValue;
359 mod->BSIM4v5ud1Given = TRUE;
360 break;
361 case BSIM4v5_MOD_UP:
362 mod->BSIM4v5up = value->rValue;
363 mod->BSIM4v5upGiven = TRUE;
364 break;
365 case BSIM4v5_MOD_LP:
366 mod->BSIM4v5lp = value->rValue;
367 mod->BSIM4v5lpGiven = TRUE;
368 break;
369 case BSIM4v5_MOD_LUD:
370 mod->BSIM4v5lud = value->rValue;
371 mod->BSIM4v5ludGiven = TRUE;
372 break;
373 case BSIM4v5_MOD_LUD1:
374 mod->BSIM4v5lud1 = value->rValue;
375 mod->BSIM4v5lud1Given = TRUE;
376 break;
377 case BSIM4v5_MOD_LUP:
378 mod->BSIM4v5lup = value->rValue;
379 mod->BSIM4v5lupGiven = TRUE;
380 break;
381 case BSIM4v5_MOD_LLP:
382 mod->BSIM4v5llp = value->rValue;
383 mod->BSIM4v5llpGiven = TRUE;
384 break;
385 case BSIM4v5_MOD_WUD:
386 mod->BSIM4v5wud = value->rValue;
387 mod->BSIM4v5wudGiven = TRUE;
388 break;
389 case BSIM4v5_MOD_WUD1:
390 mod->BSIM4v5wud1 = value->rValue;
391 mod->BSIM4v5wud1Given = TRUE;
392 break;
393 case BSIM4v5_MOD_WUP:
394 mod->BSIM4v5wup = value->rValue;
395 mod->BSIM4v5wupGiven = TRUE;
396 break;
397 case BSIM4v5_MOD_WLP:
398 mod->BSIM4v5wlp = value->rValue;
399 mod->BSIM4v5wlpGiven = TRUE;
400 break;
401 case BSIM4v5_MOD_PUD:
402 mod->BSIM4v5pud = value->rValue;
403 mod->BSIM4v5pudGiven = TRUE;
404 break;
405 case BSIM4v5_MOD_PUD1:
406 mod->BSIM4v5pud1 = value->rValue;
407 mod->BSIM4v5pud1Given = TRUE;
408 break;
409 case BSIM4v5_MOD_PUP:
410 mod->BSIM4v5pup = value->rValue;
411 mod->BSIM4v5pupGiven = TRUE;
412 break;
413 case BSIM4v5_MOD_PLP:
414 mod->BSIM4v5plp = value->rValue;
415 mod->BSIM4v5plpGiven = TRUE;
416 break;
417
418
419 case BSIM4v5_MOD_VOFF:
420 mod->BSIM4v5voff = value->rValue;
421 mod->BSIM4v5voffGiven = TRUE;
422 break;
423 case BSIM4v5_MOD_TVOFF:
424 mod->BSIM4v5tvoff = value->rValue;
425 mod->BSIM4v5tvoffGiven = TRUE;
426 break;
427 case BSIM4v5_MOD_VOFFL:
428 mod->BSIM4v5voffl = value->rValue;
429 mod->BSIM4v5vofflGiven = TRUE;
430 break;
431 case BSIM4v5_MOD_MINV:
432 mod->BSIM4v5minv = value->rValue;
433 mod->BSIM4v5minvGiven = TRUE;
434 break;
435 case BSIM4v5_MOD_FPROUT:
436 mod->BSIM4v5fprout = value->rValue;
437 mod->BSIM4v5fproutGiven = TRUE;
438 break;
439 case BSIM4v5_MOD_PDITS:
440 mod->BSIM4v5pdits = value->rValue;
441 mod->BSIM4v5pditsGiven = TRUE;
442 break;
443 case BSIM4v5_MOD_PDITSD:
444 mod->BSIM4v5pditsd = value->rValue;
445 mod->BSIM4v5pditsdGiven = TRUE;
446 break;
447 case BSIM4v5_MOD_PDITSL:
448 mod->BSIM4v5pditsl = value->rValue;
449 mod->BSIM4v5pditslGiven = TRUE;
450 break;
451 case BSIM4v5_MOD_DELTA :
452 mod->BSIM4v5delta = value->rValue;
453 mod->BSIM4v5deltaGiven = TRUE;
454 break;
455 case BSIM4v5_MOD_RDSW:
456 mod->BSIM4v5rdsw = value->rValue;
457 mod->BSIM4v5rdswGiven = TRUE;
458 break;
459 case BSIM4v5_MOD_RDSWMIN:
460 mod->BSIM4v5rdswmin = value->rValue;
461 mod->BSIM4v5rdswminGiven = TRUE;
462 break;
463 case BSIM4v5_MOD_RDWMIN:
464 mod->BSIM4v5rdwmin = value->rValue;
465 mod->BSIM4v5rdwminGiven = TRUE;
466 break;
467 case BSIM4v5_MOD_RSWMIN:
468 mod->BSIM4v5rswmin = value->rValue;
469 mod->BSIM4v5rswminGiven = TRUE;
470 break;
471 case BSIM4v5_MOD_RDW:
472 mod->BSIM4v5rdw = value->rValue;
473 mod->BSIM4v5rdwGiven = TRUE;
474 break;
475 case BSIM4v5_MOD_RSW:
476 mod->BSIM4v5rsw = value->rValue;
477 mod->BSIM4v5rswGiven = TRUE;
478 break;
479 case BSIM4v5_MOD_PRWG:
480 mod->BSIM4v5prwg = value->rValue;
481 mod->BSIM4v5prwgGiven = TRUE;
482 break;
483 case BSIM4v5_MOD_PRWB:
484 mod->BSIM4v5prwb = value->rValue;
485 mod->BSIM4v5prwbGiven = TRUE;
486 break;
487 case BSIM4v5_MOD_PRT:
488 mod->BSIM4v5prt = value->rValue;
489 mod->BSIM4v5prtGiven = TRUE;
490 break;
491 case BSIM4v5_MOD_ETA0:
492 mod->BSIM4v5eta0 = value->rValue;
493 mod->BSIM4v5eta0Given = TRUE;
494 break;
495 case BSIM4v5_MOD_ETAB:
496 mod->BSIM4v5etab = value->rValue;
497 mod->BSIM4v5etabGiven = TRUE;
498 break;
499 case BSIM4v5_MOD_PCLM:
500 mod->BSIM4v5pclm = value->rValue;
501 mod->BSIM4v5pclmGiven = TRUE;
502 break;
503 case BSIM4v5_MOD_PDIBL1:
504 mod->BSIM4v5pdibl1 = value->rValue;
505 mod->BSIM4v5pdibl1Given = TRUE;
506 break;
507 case BSIM4v5_MOD_PDIBL2:
508 mod->BSIM4v5pdibl2 = value->rValue;
509 mod->BSIM4v5pdibl2Given = TRUE;
510 break;
511 case BSIM4v5_MOD_PDIBLB:
512 mod->BSIM4v5pdiblb = value->rValue;
513 mod->BSIM4v5pdiblbGiven = TRUE;
514 break;
515 case BSIM4v5_MOD_PSCBE1:
516 mod->BSIM4v5pscbe1 = value->rValue;
517 mod->BSIM4v5pscbe1Given = TRUE;
518 break;
519 case BSIM4v5_MOD_PSCBE2:
520 mod->BSIM4v5pscbe2 = value->rValue;
521 mod->BSIM4v5pscbe2Given = TRUE;
522 break;
523 case BSIM4v5_MOD_PVAG:
524 mod->BSIM4v5pvag = value->rValue;
525 mod->BSIM4v5pvagGiven = TRUE;
526 break;
527 case BSIM4v5_MOD_WR :
528 mod->BSIM4v5wr = value->rValue;
529 mod->BSIM4v5wrGiven = TRUE;
530 break;
531 case BSIM4v5_MOD_DWG :
532 mod->BSIM4v5dwg = value->rValue;
533 mod->BSIM4v5dwgGiven = TRUE;
534 break;
535 case BSIM4v5_MOD_DWB :
536 mod->BSIM4v5dwb = value->rValue;
537 mod->BSIM4v5dwbGiven = TRUE;
538 break;
539 case BSIM4v5_MOD_B0 :
540 mod->BSIM4v5b0 = value->rValue;
541 mod->BSIM4v5b0Given = TRUE;
542 break;
543 case BSIM4v5_MOD_B1 :
544 mod->BSIM4v5b1 = value->rValue;
545 mod->BSIM4v5b1Given = TRUE;
546 break;
547 case BSIM4v5_MOD_ALPHA0 :
548 mod->BSIM4v5alpha0 = value->rValue;
549 mod->BSIM4v5alpha0Given = TRUE;
550 break;
551 case BSIM4v5_MOD_ALPHA1 :
552 mod->BSIM4v5alpha1 = value->rValue;
553 mod->BSIM4v5alpha1Given = TRUE;
554 break;
555 case BSIM4v5_MOD_AGIDL :
556 mod->BSIM4v5agidl = value->rValue;
557 mod->BSIM4v5agidlGiven = TRUE;
558 break;
559 case BSIM4v5_MOD_BGIDL :
560 mod->BSIM4v5bgidl = value->rValue;
561 mod->BSIM4v5bgidlGiven = TRUE;
562 break;
563 case BSIM4v5_MOD_CGIDL :
564 mod->BSIM4v5cgidl = value->rValue;
565 mod->BSIM4v5cgidlGiven = TRUE;
566 break;
567 case BSIM4v5_MOD_PHIN :
568 mod->BSIM4v5phin = value->rValue;
569 mod->BSIM4v5phinGiven = TRUE;
570 break;
571 case BSIM4v5_MOD_EGIDL :
572 mod->BSIM4v5egidl = value->rValue;
573 mod->BSIM4v5egidlGiven = TRUE;
574 break;
575 case BSIM4v5_MOD_AIGC :
576 mod->BSIM4v5aigc = value->rValue;
577 mod->BSIM4v5aigcGiven = TRUE;
578 break;
579 case BSIM4v5_MOD_BIGC :
580 mod->BSIM4v5bigc = value->rValue;
581 mod->BSIM4v5bigcGiven = TRUE;
582 break;
583 case BSIM4v5_MOD_CIGC :
584 mod->BSIM4v5cigc = value->rValue;
585 mod->BSIM4v5cigcGiven = TRUE;
586 break;
587 case BSIM4v5_MOD_AIGSD :
588 mod->BSIM4v5aigsd = value->rValue;
589 mod->BSIM4v5aigsdGiven = TRUE;
590 break;
591 case BSIM4v5_MOD_BIGSD :
592 mod->BSIM4v5bigsd = value->rValue;
593 mod->BSIM4v5bigsdGiven = TRUE;
594 break;
595 case BSIM4v5_MOD_CIGSD :
596 mod->BSIM4v5cigsd = value->rValue;
597 mod->BSIM4v5cigsdGiven = TRUE;
598 break;
599 case BSIM4v5_MOD_AIGBACC :
600 mod->BSIM4v5aigbacc = value->rValue;
601 mod->BSIM4v5aigbaccGiven = TRUE;
602 break;
603 case BSIM4v5_MOD_BIGBACC :
604 mod->BSIM4v5bigbacc = value->rValue;
605 mod->BSIM4v5bigbaccGiven = TRUE;
606 break;
607 case BSIM4v5_MOD_CIGBACC :
608 mod->BSIM4v5cigbacc = value->rValue;
609 mod->BSIM4v5cigbaccGiven = TRUE;
610 break;
611 case BSIM4v5_MOD_AIGBINV :
612 mod->BSIM4v5aigbinv = value->rValue;
613 mod->BSIM4v5aigbinvGiven = TRUE;
614 break;
615 case BSIM4v5_MOD_BIGBINV :
616 mod->BSIM4v5bigbinv = value->rValue;
617 mod->BSIM4v5bigbinvGiven = TRUE;
618 break;
619 case BSIM4v5_MOD_CIGBINV :
620 mod->BSIM4v5cigbinv = value->rValue;
621 mod->BSIM4v5cigbinvGiven = TRUE;
622 break;
623 case BSIM4v5_MOD_NIGC :
624 mod->BSIM4v5nigc = value->rValue;
625 mod->BSIM4v5nigcGiven = TRUE;
626 break;
627 case BSIM4v5_MOD_NIGBINV :
628 mod->BSIM4v5nigbinv = value->rValue;
629 mod->BSIM4v5nigbinvGiven = TRUE;
630 break;
631 case BSIM4v5_MOD_NIGBACC :
632 mod->BSIM4v5nigbacc = value->rValue;
633 mod->BSIM4v5nigbaccGiven = TRUE;
634 break;
635 case BSIM4v5_MOD_NTOX :
636 mod->BSIM4v5ntox = value->rValue;
637 mod->BSIM4v5ntoxGiven = TRUE;
638 break;
639 case BSIM4v5_MOD_EIGBINV :
640 mod->BSIM4v5eigbinv = value->rValue;
641 mod->BSIM4v5eigbinvGiven = TRUE;
642 break;
643 case BSIM4v5_MOD_PIGCD :
644 mod->BSIM4v5pigcd = value->rValue;
645 mod->BSIM4v5pigcdGiven = TRUE;
646 break;
647 case BSIM4v5_MOD_POXEDGE :
648 mod->BSIM4v5poxedge = value->rValue;
649 mod->BSIM4v5poxedgeGiven = TRUE;
650 break;
651 case BSIM4v5_MOD_XRCRG1 :
652 mod->BSIM4v5xrcrg1 = value->rValue;
653 mod->BSIM4v5xrcrg1Given = TRUE;
654 break;
655 case BSIM4v5_MOD_XRCRG2 :
656 mod->BSIM4v5xrcrg2 = value->rValue;
657 mod->BSIM4v5xrcrg2Given = TRUE;
658 break;
659 case BSIM4v5_MOD_LAMBDA :
660 mod->BSIM4v5lambda = value->rValue;
661 mod->BSIM4v5lambdaGiven = TRUE;
662 break;
663 case BSIM4v5_MOD_VTL :
664 mod->BSIM4v5vtl = value->rValue;
665 mod->BSIM4v5vtlGiven = TRUE;
666 break;
667 case BSIM4v5_MOD_XN:
668 mod->BSIM4v5xn = value->rValue;
669 mod->BSIM4v5xnGiven = TRUE;
670 break;
671 case BSIM4v5_MOD_LC:
672 mod->BSIM4v5lc = value->rValue;
673 mod->BSIM4v5lcGiven = TRUE;
674 break;
675 case BSIM4v5_MOD_TNOIA :
676 mod->BSIM4v5tnoia = value->rValue;
677 mod->BSIM4v5tnoiaGiven = TRUE;
678 break;
679 case BSIM4v5_MOD_TNOIB :
680 mod->BSIM4v5tnoib = value->rValue;
681 mod->BSIM4v5tnoibGiven = TRUE;
682 break;
683 case BSIM4v5_MOD_RNOIA :
684 mod->BSIM4v5rnoia = value->rValue;
685 mod->BSIM4v5rnoiaGiven = TRUE;
686 break;
687 case BSIM4v5_MOD_RNOIB :
688 mod->BSIM4v5rnoib = value->rValue;
689 mod->BSIM4v5rnoibGiven = TRUE;
690 break;
691 case BSIM4v5_MOD_NTNOI :
692 mod->BSIM4v5ntnoi = value->rValue;
693 mod->BSIM4v5ntnoiGiven = TRUE;
694 break;
695 case BSIM4v5_MOD_VFBSDOFF:
696 mod->BSIM4v5vfbsdoff = value->rValue;
697 mod->BSIM4v5vfbsdoffGiven = TRUE;
698 break;
699 case BSIM4v5_MOD_TVFBSDOFF:
700 mod->BSIM4v5tvfbsdoff = value->rValue;
701 mod->BSIM4v5tvfbsdoffGiven = TRUE;
702 break;
703 case BSIM4v5_MOD_LINTNOI:
704 mod->BSIM4v5lintnoi = value->rValue;
705 mod->BSIM4v5lintnoiGiven = TRUE;
706 break;
707
708 /* stress effect */
709 case BSIM4v5_MOD_SAREF :
710 mod->BSIM4v5saref = value->rValue;
711 mod->BSIM4v5sarefGiven = TRUE;
712 break;
713 case BSIM4v5_MOD_SBREF :
714 mod->BSIM4v5sbref = value->rValue;
715 mod->BSIM4v5sbrefGiven = TRUE;
716 break;
717 case BSIM4v5_MOD_WLOD :
718 mod->BSIM4v5wlod = value->rValue;
719 mod->BSIM4v5wlodGiven = TRUE;
720 break;
721 case BSIM4v5_MOD_KU0 :
722 mod->BSIM4v5ku0 = value->rValue;
723 mod->BSIM4v5ku0Given = TRUE;
724 break;
725 case BSIM4v5_MOD_KVSAT :
726 mod->BSIM4v5kvsat = value->rValue;
727 mod->BSIM4v5kvsatGiven = TRUE;
728 break;
729 case BSIM4v5_MOD_KVTH0 :
730 mod->BSIM4v5kvth0 = value->rValue;
731 mod->BSIM4v5kvth0Given = TRUE;
732 break;
733 case BSIM4v5_MOD_TKU0 :
734 mod->BSIM4v5tku0 = value->rValue;
735 mod->BSIM4v5tku0Given = TRUE;
736 break;
737 case BSIM4v5_MOD_LLODKU0 :
738 mod->BSIM4v5llodku0 = value->rValue;
739 mod->BSIM4v5llodku0Given = TRUE;
740 break;
741 case BSIM4v5_MOD_WLODKU0 :
742 mod->BSIM4v5wlodku0 = value->rValue;
743 mod->BSIM4v5wlodku0Given = TRUE;
744 break;
745 case BSIM4v5_MOD_LLODVTH :
746 mod->BSIM4v5llodvth = value->rValue;
747 mod->BSIM4v5llodvthGiven = TRUE;
748 break;
749 case BSIM4v5_MOD_WLODVTH :
750 mod->BSIM4v5wlodvth = value->rValue;
751 mod->BSIM4v5wlodvthGiven = TRUE;
752 break;
753 case BSIM4v5_MOD_LKU0 :
754 mod->BSIM4v5lku0 = value->rValue;
755 mod->BSIM4v5lku0Given = TRUE;
756 break;
757 case BSIM4v5_MOD_WKU0 :
758 mod->BSIM4v5wku0 = value->rValue;
759 mod->BSIM4v5wku0Given = TRUE;
760 break;
761 case BSIM4v5_MOD_PKU0 :
762 mod->BSIM4v5pku0 = value->rValue;
763 mod->BSIM4v5pku0Given = TRUE;
764 break;
765 case BSIM4v5_MOD_LKVTH0 :
766 mod->BSIM4v5lkvth0 = value->rValue;
767 mod->BSIM4v5lkvth0Given = TRUE;
768 break;
769 case BSIM4v5_MOD_WKVTH0 :
770 mod->BSIM4v5wkvth0 = value->rValue;
771 mod->BSIM4v5wkvth0Given = TRUE;
772 break;
773 case BSIM4v5_MOD_PKVTH0 :
774 mod->BSIM4v5pkvth0 = value->rValue;
775 mod->BSIM4v5pkvth0Given = TRUE;
776 break;
777 case BSIM4v5_MOD_STK2 :
778 mod->BSIM4v5stk2 = value->rValue;
779 mod->BSIM4v5stk2Given = TRUE;
780 break;
781 case BSIM4v5_MOD_LODK2 :
782 mod->BSIM4v5lodk2 = value->rValue;
783 mod->BSIM4v5lodk2Given = TRUE;
784 break;
785 case BSIM4v5_MOD_STETA0 :
786 mod->BSIM4v5steta0 = value->rValue;
787 mod->BSIM4v5steta0Given = TRUE;
788 break;
789 case BSIM4v5_MOD_LODETA0 :
790 mod->BSIM4v5lodeta0 = value->rValue;
791 mod->BSIM4v5lodeta0Given = TRUE;
792 break;
793
794 case BSIM4v5_MOD_WEB :
795 mod->BSIM4v5web = value->rValue;
796 mod->BSIM4v5webGiven = TRUE;
797 break;
798 case BSIM4v5_MOD_WEC :
799 mod->BSIM4v5wec = value->rValue;
800 mod->BSIM4v5wecGiven = TRUE;
801 break;
802 case BSIM4v5_MOD_KVTH0WE :
803 mod->BSIM4v5kvth0we = value->rValue;
804 mod->BSIM4v5kvth0weGiven = TRUE;
805 break;
806 case BSIM4v5_MOD_K2WE :
807 mod->BSIM4v5k2we = value->rValue;
808 mod->BSIM4v5k2weGiven = TRUE;
809 break;
810 case BSIM4v5_MOD_KU0WE :
811 mod->BSIM4v5ku0we = value->rValue;
812 mod->BSIM4v5ku0weGiven = TRUE;
813 break;
814 case BSIM4v5_MOD_SCREF :
815 mod->BSIM4v5scref = value->rValue;
816 mod->BSIM4v5screfGiven = TRUE;
817 break;
818 case BSIM4v5_MOD_WPEMOD :
819 mod->BSIM4v5wpemod = value->rValue;
820 mod->BSIM4v5wpemodGiven = TRUE;
821 break;
822 case BSIM4v5_MOD_LKVTH0WE :
823 mod->BSIM4v5lkvth0we = value->rValue;
824 mod->BSIM4v5lkvth0weGiven = TRUE;
825 break;
826 case BSIM4v5_MOD_LK2WE :
827 mod->BSIM4v5lk2we = value->rValue;
828 mod->BSIM4v5lk2weGiven = TRUE;
829 break;
830 case BSIM4v5_MOD_LKU0WE :
831 mod->BSIM4v5lku0we = value->rValue;
832 mod->BSIM4v5lku0weGiven = TRUE;
833 break;
834 case BSIM4v5_MOD_WKVTH0WE :
835 mod->BSIM4v5wkvth0we = value->rValue;
836 mod->BSIM4v5wkvth0weGiven = TRUE;
837 break;
838 case BSIM4v5_MOD_WK2WE :
839 mod->BSIM4v5wk2we = value->rValue;
840 mod->BSIM4v5wk2weGiven = TRUE;
841 break;
842 case BSIM4v5_MOD_WKU0WE :
843 mod->BSIM4v5wku0we = value->rValue;
844 mod->BSIM4v5wku0weGiven = TRUE;
845 break;
846 case BSIM4v5_MOD_PKVTH0WE :
847 mod->BSIM4v5pkvth0we = value->rValue;
848 mod->BSIM4v5pkvth0weGiven = TRUE;
849 break;
850 case BSIM4v5_MOD_PK2WE :
851 mod->BSIM4v5pk2we = value->rValue;
852 mod->BSIM4v5pk2weGiven = TRUE;
853 break;
854 case BSIM4v5_MOD_PKU0WE :
855 mod->BSIM4v5pku0we = value->rValue;
856 mod->BSIM4v5pku0weGiven = TRUE;
857 break;
858
859 case BSIM4v5_MOD_BETA0 :
860 mod->BSIM4v5beta0 = value->rValue;
861 mod->BSIM4v5beta0Given = TRUE;
862 break;
863 case BSIM4v5_MOD_IJTHDFWD :
864 mod->BSIM4v5ijthdfwd = value->rValue;
865 mod->BSIM4v5ijthdfwdGiven = TRUE;
866 break;
867 case BSIM4v5_MOD_IJTHSFWD :
868 mod->BSIM4v5ijthsfwd = value->rValue;
869 mod->BSIM4v5ijthsfwdGiven = TRUE;
870 break;
871 case BSIM4v5_MOD_IJTHDREV :
872 mod->BSIM4v5ijthdrev = value->rValue;
873 mod->BSIM4v5ijthdrevGiven = TRUE;
874 break;
875 case BSIM4v5_MOD_IJTHSREV :
876 mod->BSIM4v5ijthsrev = value->rValue;
877 mod->BSIM4v5ijthsrevGiven = TRUE;
878 break;
879 case BSIM4v5_MOD_XJBVD :
880 mod->BSIM4v5xjbvd = value->rValue;
881 mod->BSIM4v5xjbvdGiven = TRUE;
882 break;
883 case BSIM4v5_MOD_XJBVS :
884 mod->BSIM4v5xjbvs = value->rValue;
885 mod->BSIM4v5xjbvsGiven = TRUE;
886 break;
887 case BSIM4v5_MOD_BVD :
888 mod->BSIM4v5bvd = value->rValue;
889 mod->BSIM4v5bvdGiven = TRUE;
890 break;
891 case BSIM4v5_MOD_BVS :
892 mod->BSIM4v5bvs = value->rValue;
893 mod->BSIM4v5bvsGiven = TRUE;
894 break;
895
896 /* reverse diode */
897 case BSIM4v5_MOD_JTSS :
898 mod->BSIM4v5jtss = value->rValue;
899 mod->BSIM4v5jtssGiven = TRUE;
900 break;
901 case BSIM4v5_MOD_JTSD :
902 mod->BSIM4v5jtsd = value->rValue;
903 mod->BSIM4v5jtsdGiven = TRUE;
904 break;
905 case BSIM4v5_MOD_JTSSWS :
906 mod->BSIM4v5jtssws = value->rValue;
907 mod->BSIM4v5jtsswsGiven = TRUE;
908 break;
909 case BSIM4v5_MOD_JTSSWD :
910 mod->BSIM4v5jtsswd = value->rValue;
911 mod->BSIM4v5jtsswdGiven = TRUE;
912 break;
913 case BSIM4v5_MOD_JTSSWGS :
914 mod->BSIM4v5jtsswgs = value->rValue;
915 mod->BSIM4v5jtsswgsGiven = TRUE;
916 break;
917 case BSIM4v5_MOD_JTSSWGD :
918 mod->BSIM4v5jtsswgd = value->rValue;
919 mod->BSIM4v5jtsswgdGiven = TRUE;
920 break;
921 case BSIM4v5_MOD_NJTS :
922 mod->BSIM4v5njts = value->rValue;
923 mod->BSIM4v5njtsGiven = TRUE;
924 break;
925 case BSIM4v5_MOD_NJTSSW :
926 mod->BSIM4v5njtssw = value->rValue;
927 mod->BSIM4v5njtsswGiven = TRUE;
928 break;
929 case BSIM4v5_MOD_NJTSSWG :
930 mod->BSIM4v5njtsswg = value->rValue;
931 mod->BSIM4v5njtsswgGiven = TRUE;
932 break;
933 case BSIM4v5_MOD_XTSS :
934 mod->BSIM4v5xtss = value->rValue;
935 mod->BSIM4v5xtssGiven = TRUE;
936 break;
937 case BSIM4v5_MOD_XTSD :
938 mod->BSIM4v5xtsd = value->rValue;
939 mod->BSIM4v5xtsdGiven = TRUE;
940 break;
941 case BSIM4v5_MOD_XTSSWS :
942 mod->BSIM4v5xtssws = value->rValue;
943 mod->BSIM4v5xtsswsGiven = TRUE;
944 break;
945 case BSIM4v5_MOD_XTSSWD :
946 mod->BSIM4v5xtsswd = value->rValue;
947 mod->BSIM4v5xtsswdGiven = TRUE;
948 break;
949 case BSIM4v5_MOD_XTSSWGS :
950 mod->BSIM4v5xtsswgs = value->rValue;
951 mod->BSIM4v5xtsswgsGiven = TRUE;
952 break;
953 case BSIM4v5_MOD_XTSSWGD :
954 mod->BSIM4v5xtsswgd = value->rValue;
955 mod->BSIM4v5xtsswgdGiven = TRUE;
956 break;
957 case BSIM4v5_MOD_TNJTS :
958 mod->BSIM4v5tnjts = value->rValue;
959 mod->BSIM4v5tnjtsGiven = TRUE;
960 break;
961 case BSIM4v5_MOD_TNJTSSW :
962 mod->BSIM4v5tnjtssw = value->rValue;
963 mod->BSIM4v5tnjtsswGiven = TRUE;
964 break;
965 case BSIM4v5_MOD_TNJTSSWG :
966 mod->BSIM4v5tnjtsswg = value->rValue;
967 mod->BSIM4v5tnjtsswgGiven = TRUE;
968 break;
969 case BSIM4v5_MOD_VTSS :
970 mod->BSIM4v5vtss = value->rValue;
971 mod->BSIM4v5vtssGiven = TRUE;
972 break;
973 case BSIM4v5_MOD_VTSD :
974 mod->BSIM4v5vtsd = value->rValue;
975 mod->BSIM4v5vtsdGiven = TRUE;
976 break;
977 case BSIM4v5_MOD_VTSSWS :
978 mod->BSIM4v5vtssws = value->rValue;
979 mod->BSIM4v5vtsswsGiven = TRUE;
980 break;
981 case BSIM4v5_MOD_VTSSWD :
982 mod->BSIM4v5vtsswd = value->rValue;
983 mod->BSIM4v5vtsswdGiven = TRUE;
984 break;
985 case BSIM4v5_MOD_VTSSWGS :
986 mod->BSIM4v5vtsswgs = value->rValue;
987 mod->BSIM4v5vtsswgsGiven = TRUE;
988 break;
989 case BSIM4v5_MOD_VTSSWGD :
990 mod->BSIM4v5vtsswgd = value->rValue;
991 mod->BSIM4v5vtsswgdGiven = TRUE;
992 break;
993
994 case BSIM4v5_MOD_VFB :
995 mod->BSIM4v5vfb = value->rValue;
996 mod->BSIM4v5vfbGiven = TRUE;
997 break;
998
999 case BSIM4v5_MOD_GBMIN :
1000 mod->BSIM4v5gbmin = value->rValue;
1001 mod->BSIM4v5gbminGiven = TRUE;
1002 break;
1003 case BSIM4v5_MOD_RBDB :
1004 mod->BSIM4v5rbdb = value->rValue;
1005 mod->BSIM4v5rbdbGiven = TRUE;
1006 break;
1007 case BSIM4v5_MOD_RBPB :
1008 mod->BSIM4v5rbpb = value->rValue;
1009 mod->BSIM4v5rbpbGiven = TRUE;
1010 break;
1011 case BSIM4v5_MOD_RBSB :
1012 mod->BSIM4v5rbsb = value->rValue;
1013 mod->BSIM4v5rbsbGiven = TRUE;
1014 break;
1015 case BSIM4v5_MOD_RBPS :
1016 mod->BSIM4v5rbps = value->rValue;
1017 mod->BSIM4v5rbpsGiven = TRUE;
1018 break;
1019 case BSIM4v5_MOD_RBPD :
1020 mod->BSIM4v5rbpd = value->rValue;
1021 mod->BSIM4v5rbpdGiven = TRUE;
1022 break;
1023
1024 case BSIM4v5_MOD_RBPS0 :
1025 mod->BSIM4v5rbps0 = value->rValue;
1026 mod->BSIM4v5rbps0Given = TRUE;
1027 break;
1028 case BSIM4v5_MOD_RBPSL :
1029 mod->BSIM4v5rbpsl = value->rValue;
1030 mod->BSIM4v5rbpslGiven = TRUE;
1031 break;
1032 case BSIM4v5_MOD_RBPSW :
1033 mod->BSIM4v5rbpsw = value->rValue;
1034 mod->BSIM4v5rbpswGiven = TRUE;
1035 break;
1036 case BSIM4v5_MOD_RBPSNF :
1037 mod->BSIM4v5rbpsnf = value->rValue;
1038 mod->BSIM4v5rbpsnfGiven = TRUE;
1039 break;
1040
1041 case BSIM4v5_MOD_RBPD0 :
1042 mod->BSIM4v5rbpd0 = value->rValue;
1043 mod->BSIM4v5rbpd0Given = TRUE;
1044 break;
1045 case BSIM4v5_MOD_RBPDL :
1046 mod->BSIM4v5rbpdl = value->rValue;
1047 mod->BSIM4v5rbpdlGiven = TRUE;
1048 break;
1049 case BSIM4v5_MOD_RBPDW :
1050 mod->BSIM4v5rbpdw = value->rValue;
1051 mod->BSIM4v5rbpdwGiven = TRUE;
1052 break;
1053 case BSIM4v5_MOD_RBPDNF :
1054 mod->BSIM4v5rbpdnf = value->rValue;
1055 mod->BSIM4v5rbpdnfGiven = TRUE;
1056 break;
1057
1058 case BSIM4v5_MOD_RBPBX0 :
1059 mod->BSIM4v5rbpbx0 = value->rValue;
1060 mod->BSIM4v5rbpbx0Given = TRUE;
1061 break;
1062 case BSIM4v5_MOD_RBPBXL :
1063 mod->BSIM4v5rbpbxl = value->rValue;
1064 mod->BSIM4v5rbpbxlGiven = TRUE;
1065 break;
1066 case BSIM4v5_MOD_RBPBXW :
1067 mod->BSIM4v5rbpbxw = value->rValue;
1068 mod->BSIM4v5rbpbxwGiven = TRUE;
1069 break;
1070 case BSIM4v5_MOD_RBPBXNF :
1071 mod->BSIM4v5rbpbxnf = value->rValue;
1072 mod->BSIM4v5rbpbxnfGiven = TRUE;
1073 break;
1074 case BSIM4v5_MOD_RBPBY0 :
1075 mod->BSIM4v5rbpby0 = value->rValue;
1076 mod->BSIM4v5rbpby0Given = TRUE;
1077 break;
1078 case BSIM4v5_MOD_RBPBYL :
1079 mod->BSIM4v5rbpbyl = value->rValue;
1080 mod->BSIM4v5rbpbylGiven = TRUE;
1081 break;
1082 case BSIM4v5_MOD_RBPBYW :
1083 mod->BSIM4v5rbpbyw = value->rValue;
1084 mod->BSIM4v5rbpbywGiven = TRUE;
1085 break;
1086 case BSIM4v5_MOD_RBPBYNF :
1087 mod->BSIM4v5rbpbynf = value->rValue;
1088 mod->BSIM4v5rbpbynfGiven = TRUE;
1089 break;
1090 case BSIM4v5_MOD_RBSBX0 :
1091 mod->BSIM4v5rbsbx0 = value->rValue;
1092 mod->BSIM4v5rbsbx0Given = TRUE;
1093 break;
1094 case BSIM4v5_MOD_RBSBY0 :
1095 mod->BSIM4v5rbsby0 = value->rValue;
1096 mod->BSIM4v5rbsby0Given = TRUE;
1097 break;
1098 case BSIM4v5_MOD_RBDBX0 :
1099 mod->BSIM4v5rbdbx0 = value->rValue;
1100 mod->BSIM4v5rbdbx0Given = TRUE;
1101 break;
1102 case BSIM4v5_MOD_RBDBY0 :
1103 mod->BSIM4v5rbdby0 = value->rValue;
1104 mod->BSIM4v5rbdby0Given = TRUE;
1105 break;
1106
1107
1108 case BSIM4v5_MOD_RBSDBXL :
1109 mod->BSIM4v5rbsdbxl = value->rValue;
1110 mod->BSIM4v5rbsdbxlGiven = TRUE;
1111 break;
1112 case BSIM4v5_MOD_RBSDBXW :
1113 mod->BSIM4v5rbsdbxw = value->rValue;
1114 mod->BSIM4v5rbsdbxwGiven = TRUE;
1115 break;
1116 case BSIM4v5_MOD_RBSDBXNF :
1117 mod->BSIM4v5rbsdbxnf = value->rValue;
1118 mod->BSIM4v5rbsdbxnfGiven = TRUE;
1119 break;
1120 case BSIM4v5_MOD_RBSDBYL :
1121 mod->BSIM4v5rbsdbyl = value->rValue;
1122 mod->BSIM4v5rbsdbylGiven = TRUE;
1123 break;
1124 case BSIM4v5_MOD_RBSDBYW :
1125 mod->BSIM4v5rbsdbyw = value->rValue;
1126 mod->BSIM4v5rbsdbywGiven = TRUE;
1127 break;
1128 case BSIM4v5_MOD_RBSDBYNF :
1129 mod->BSIM4v5rbsdbynf = value->rValue;
1130 mod->BSIM4v5rbsdbynfGiven = TRUE;
1131 break;
1132
1133 case BSIM4v5_MOD_CGSL :
1134 mod->BSIM4v5cgsl = value->rValue;
1135 mod->BSIM4v5cgslGiven = TRUE;
1136 break;
1137 case BSIM4v5_MOD_CGDL :
1138 mod->BSIM4v5cgdl = value->rValue;
1139 mod->BSIM4v5cgdlGiven = TRUE;
1140 break;
1141 case BSIM4v5_MOD_CKAPPAS :
1142 mod->BSIM4v5ckappas = value->rValue;
1143 mod->BSIM4v5ckappasGiven = TRUE;
1144 break;
1145 case BSIM4v5_MOD_CKAPPAD :
1146 mod->BSIM4v5ckappad = value->rValue;
1147 mod->BSIM4v5ckappadGiven = TRUE;
1148 break;
1149 case BSIM4v5_MOD_CF :
1150 mod->BSIM4v5cf = value->rValue;
1151 mod->BSIM4v5cfGiven = TRUE;
1152 break;
1153 case BSIM4v5_MOD_CLC :
1154 mod->BSIM4v5clc = value->rValue;
1155 mod->BSIM4v5clcGiven = TRUE;
1156 break;
1157 case BSIM4v5_MOD_CLE :
1158 mod->BSIM4v5cle = value->rValue;
1159 mod->BSIM4v5cleGiven = TRUE;
1160 break;
1161 case BSIM4v5_MOD_DWC :
1162 mod->BSIM4v5dwc = value->rValue;
1163 mod->BSIM4v5dwcGiven = TRUE;
1164 break;
1165 case BSIM4v5_MOD_DLC :
1166 mod->BSIM4v5dlc = value->rValue;
1167 mod->BSIM4v5dlcGiven = TRUE;
1168 break;
1169 case BSIM4v5_MOD_XW :
1170 mod->BSIM4v5xw = value->rValue;
1171 mod->BSIM4v5xwGiven = TRUE;
1172 break;
1173 case BSIM4v5_MOD_XL :
1174 mod->BSIM4v5xl = value->rValue;
1175 mod->BSIM4v5xlGiven = TRUE;
1176 break;
1177 case BSIM4v5_MOD_DLCIG :
1178 mod->BSIM4v5dlcig = value->rValue;
1179 mod->BSIM4v5dlcigGiven = TRUE;
1180 break;
1181 case BSIM4v5_MOD_DWJ :
1182 mod->BSIM4v5dwj = value->rValue;
1183 mod->BSIM4v5dwjGiven = TRUE;
1184 break;
1185 case BSIM4v5_MOD_VFBCV :
1186 mod->BSIM4v5vfbcv = value->rValue;
1187 mod->BSIM4v5vfbcvGiven = TRUE;
1188 break;
1189 case BSIM4v5_MOD_ACDE :
1190 mod->BSIM4v5acde = value->rValue;
1191 mod->BSIM4v5acdeGiven = TRUE;
1192 break;
1193 case BSIM4v5_MOD_MOIN :
1194 mod->BSIM4v5moin = value->rValue;
1195 mod->BSIM4v5moinGiven = TRUE;
1196 break;
1197 case BSIM4v5_MOD_NOFF :
1198 mod->BSIM4v5noff = value->rValue;
1199 mod->BSIM4v5noffGiven = TRUE;
1200 break;
1201 case BSIM4v5_MOD_VOFFCV :
1202 mod->BSIM4v5voffcv = value->rValue;
1203 mod->BSIM4v5voffcvGiven = TRUE;
1204 break;
1205 case BSIM4v5_MOD_DMCG :
1206 mod->BSIM4v5dmcg = value->rValue;
1207 mod->BSIM4v5dmcgGiven = TRUE;
1208 break;
1209 case BSIM4v5_MOD_DMCI :
1210 mod->BSIM4v5dmci = value->rValue;
1211 mod->BSIM4v5dmciGiven = TRUE;
1212 break;
1213 case BSIM4v5_MOD_DMDG :
1214 mod->BSIM4v5dmdg = value->rValue;
1215 mod->BSIM4v5dmdgGiven = TRUE;
1216 break;
1217 case BSIM4v5_MOD_DMCGT :
1218 mod->BSIM4v5dmcgt = value->rValue;
1219 mod->BSIM4v5dmcgtGiven = TRUE;
1220 break;
1221 case BSIM4v5_MOD_XGW :
1222 mod->BSIM4v5xgw = value->rValue;
1223 mod->BSIM4v5xgwGiven = TRUE;
1224 break;
1225 case BSIM4v5_MOD_XGL :
1226 mod->BSIM4v5xgl = value->rValue;
1227 mod->BSIM4v5xglGiven = TRUE;
1228 break;
1229 case BSIM4v5_MOD_RSHG :
1230 mod->BSIM4v5rshg = value->rValue;
1231 mod->BSIM4v5rshgGiven = TRUE;
1232 break;
1233 case BSIM4v5_MOD_NGCON :
1234 mod->BSIM4v5ngcon = value->rValue;
1235 mod->BSIM4v5ngconGiven = TRUE;
1236 break;
1237 case BSIM4v5_MOD_TCJ :
1238 mod->BSIM4v5tcj = value->rValue;
1239 mod->BSIM4v5tcjGiven = TRUE;
1240 break;
1241 case BSIM4v5_MOD_TPB :
1242 mod->BSIM4v5tpb = value->rValue;
1243 mod->BSIM4v5tpbGiven = TRUE;
1244 break;
1245 case BSIM4v5_MOD_TCJSW :
1246 mod->BSIM4v5tcjsw = value->rValue;
1247 mod->BSIM4v5tcjswGiven = TRUE;
1248 break;
1249 case BSIM4v5_MOD_TPBSW :
1250 mod->BSIM4v5tpbsw = value->rValue;
1251 mod->BSIM4v5tpbswGiven = TRUE;
1252 break;
1253 case BSIM4v5_MOD_TCJSWG :
1254 mod->BSIM4v5tcjswg = value->rValue;
1255 mod->BSIM4v5tcjswgGiven = TRUE;
1256 break;
1257 case BSIM4v5_MOD_TPBSWG :
1258 mod->BSIM4v5tpbswg = value->rValue;
1259 mod->BSIM4v5tpbswgGiven = TRUE;
1260 break;
1261
1262 /* Length dependence */
1263 case BSIM4v5_MOD_LCDSC :
1264 mod->BSIM4v5lcdsc = value->rValue;
1265 mod->BSIM4v5lcdscGiven = TRUE;
1266 break;
1267
1268
1269 case BSIM4v5_MOD_LCDSCB :
1270 mod->BSIM4v5lcdscb = value->rValue;
1271 mod->BSIM4v5lcdscbGiven = TRUE;
1272 break;
1273 case BSIM4v5_MOD_LCDSCD :
1274 mod->BSIM4v5lcdscd = value->rValue;
1275 mod->BSIM4v5lcdscdGiven = TRUE;
1276 break;
1277 case BSIM4v5_MOD_LCIT :
1278 mod->BSIM4v5lcit = value->rValue;
1279 mod->BSIM4v5lcitGiven = TRUE;
1280 break;
1281 case BSIM4v5_MOD_LNFACTOR :
1282 mod->BSIM4v5lnfactor = value->rValue;
1283 mod->BSIM4v5lnfactorGiven = TRUE;
1284 break;
1285 case BSIM4v5_MOD_LXJ:
1286 mod->BSIM4v5lxj = value->rValue;
1287 mod->BSIM4v5lxjGiven = TRUE;
1288 break;
1289 case BSIM4v5_MOD_LVSAT:
1290 mod->BSIM4v5lvsat = value->rValue;
1291 mod->BSIM4v5lvsatGiven = TRUE;
1292 break;
1293
1294
1295 case BSIM4v5_MOD_LA0:
1296 mod->BSIM4v5la0 = value->rValue;
1297 mod->BSIM4v5la0Given = TRUE;
1298 break;
1299 case BSIM4v5_MOD_LAGS:
1300 mod->BSIM4v5lags = value->rValue;
1301 mod->BSIM4v5lagsGiven = TRUE;
1302 break;
1303 case BSIM4v5_MOD_LA1:
1304 mod->BSIM4v5la1 = value->rValue;
1305 mod->BSIM4v5la1Given = TRUE;
1306 break;
1307 case BSIM4v5_MOD_LA2:
1308 mod->BSIM4v5la2 = value->rValue;
1309 mod->BSIM4v5la2Given = TRUE;
1310 break;
1311 case BSIM4v5_MOD_LAT:
1312 mod->BSIM4v5lat = value->rValue;
1313 mod->BSIM4v5latGiven = TRUE;
1314 break;
1315 case BSIM4v5_MOD_LKETA:
1316 mod->BSIM4v5lketa = value->rValue;
1317 mod->BSIM4v5lketaGiven = TRUE;
1318 break;
1319 case BSIM4v5_MOD_LNSUB:
1320 mod->BSIM4v5lnsub = value->rValue;
1321 mod->BSIM4v5lnsubGiven = TRUE;
1322 break;
1323 case BSIM4v5_MOD_LNDEP:
1324 mod->BSIM4v5lndep = value->rValue;
1325 mod->BSIM4v5lndepGiven = TRUE;
1326 if (mod->BSIM4v5lndep > 1.0e20)
1327 mod->BSIM4v5lndep *= 1.0e-6;
1328 break;
1329 case BSIM4v5_MOD_LNSD:
1330 mod->BSIM4v5lnsd = value->rValue;
1331 mod->BSIM4v5lnsdGiven = TRUE;
1332 if (mod->BSIM4v5lnsd > 1.0e23)
1333 mod->BSIM4v5lnsd *= 1.0e-6;
1334 break;
1335 case BSIM4v5_MOD_LNGATE:
1336 mod->BSIM4v5lngate = value->rValue;
1337 mod->BSIM4v5lngateGiven = TRUE;
1338 if (mod->BSIM4v5lngate > 1.0e23)
1339 mod->BSIM4v5lngate *= 1.0e-6;
1340 break;
1341 case BSIM4v5_MOD_LGAMMA1:
1342 mod->BSIM4v5lgamma1 = value->rValue;
1343 mod->BSIM4v5lgamma1Given = TRUE;
1344 break;
1345 case BSIM4v5_MOD_LGAMMA2:
1346 mod->BSIM4v5lgamma2 = value->rValue;
1347 mod->BSIM4v5lgamma2Given = TRUE;
1348 break;
1349 case BSIM4v5_MOD_LVBX:
1350 mod->BSIM4v5lvbx = value->rValue;
1351 mod->BSIM4v5lvbxGiven = TRUE;
1352 break;
1353 case BSIM4v5_MOD_LVBM:
1354 mod->BSIM4v5lvbm = value->rValue;
1355 mod->BSIM4v5lvbmGiven = TRUE;
1356 break;
1357 case BSIM4v5_MOD_LXT:
1358 mod->BSIM4v5lxt = value->rValue;
1359 mod->BSIM4v5lxtGiven = TRUE;
1360 break;
1361 case BSIM4v5_MOD_LK1:
1362 mod->BSIM4v5lk1 = value->rValue;
1363 mod->BSIM4v5lk1Given = TRUE;
1364 break;
1365 case BSIM4v5_MOD_LKT1:
1366 mod->BSIM4v5lkt1 = value->rValue;
1367 mod->BSIM4v5lkt1Given = TRUE;
1368 break;
1369 case BSIM4v5_MOD_LKT1L:
1370 mod->BSIM4v5lkt1l = value->rValue;
1371 mod->BSIM4v5lkt1lGiven = TRUE;
1372 break;
1373 case BSIM4v5_MOD_LKT2:
1374 mod->BSIM4v5lkt2 = value->rValue;
1375 mod->BSIM4v5lkt2Given = TRUE;
1376 break;
1377 case BSIM4v5_MOD_LK2:
1378 mod->BSIM4v5lk2 = value->rValue;
1379 mod->BSIM4v5lk2Given = TRUE;
1380 break;
1381 case BSIM4v5_MOD_LK3:
1382 mod->BSIM4v5lk3 = value->rValue;
1383 mod->BSIM4v5lk3Given = TRUE;
1384 break;
1385 case BSIM4v5_MOD_LK3B:
1386 mod->BSIM4v5lk3b = value->rValue;
1387 mod->BSIM4v5lk3bGiven = TRUE;
1388 break;
1389 case BSIM4v5_MOD_LLPE0:
1390 mod->BSIM4v5llpe0 = value->rValue;
1391 mod->BSIM4v5llpe0Given = TRUE;
1392 break;
1393 case BSIM4v5_MOD_LLPEB:
1394 mod->BSIM4v5llpeb = value->rValue;
1395 mod->BSIM4v5llpebGiven = TRUE;
1396 break;
1397 case BSIM4v5_MOD_LDVTP0:
1398 mod->BSIM4v5ldvtp0 = value->rValue;
1399 mod->BSIM4v5ldvtp0Given = TRUE;
1400 break;
1401 case BSIM4v5_MOD_LDVTP1:
1402 mod->BSIM4v5ldvtp1 = value->rValue;
1403 mod->BSIM4v5ldvtp1Given = TRUE;
1404 break;
1405 case BSIM4v5_MOD_LW0:
1406 mod->BSIM4v5lw0 = value->rValue;
1407 mod->BSIM4v5lw0Given = TRUE;
1408 break;
1409 case BSIM4v5_MOD_LDVT0:
1410 mod->BSIM4v5ldvt0 = value->rValue;
1411 mod->BSIM4v5ldvt0Given = TRUE;
1412 break;
1413 case BSIM4v5_MOD_LDVT1:
1414 mod->BSIM4v5ldvt1 = value->rValue;
1415 mod->BSIM4v5ldvt1Given = TRUE;
1416 break;
1417 case BSIM4v5_MOD_LDVT2:
1418 mod->BSIM4v5ldvt2 = value->rValue;
1419 mod->BSIM4v5ldvt2Given = TRUE;
1420 break;
1421 case BSIM4v5_MOD_LDVT0W:
1422 mod->BSIM4v5ldvt0w = value->rValue;
1423 mod->BSIM4v5ldvt0wGiven = TRUE;
1424 break;
1425 case BSIM4v5_MOD_LDVT1W:
1426 mod->BSIM4v5ldvt1w = value->rValue;
1427 mod->BSIM4v5ldvt1wGiven = TRUE;
1428 break;
1429 case BSIM4v5_MOD_LDVT2W:
1430 mod->BSIM4v5ldvt2w = value->rValue;
1431 mod->BSIM4v5ldvt2wGiven = TRUE;
1432 break;
1433 case BSIM4v5_MOD_LDROUT:
1434 mod->BSIM4v5ldrout = value->rValue;
1435 mod->BSIM4v5ldroutGiven = TRUE;
1436 break;
1437 case BSIM4v5_MOD_LDSUB:
1438 mod->BSIM4v5ldsub = value->rValue;
1439 mod->BSIM4v5ldsubGiven = TRUE;
1440 break;
1441 case BSIM4v5_MOD_LVTH0:
1442 mod->BSIM4v5lvth0 = value->rValue;
1443 mod->BSIM4v5lvth0Given = TRUE;
1444 break;
1445 case BSIM4v5_MOD_LUA:
1446 mod->BSIM4v5lua = value->rValue;
1447 mod->BSIM4v5luaGiven = TRUE;
1448 break;
1449 case BSIM4v5_MOD_LUA1:
1450 mod->BSIM4v5lua1 = value->rValue;
1451 mod->BSIM4v5lua1Given = TRUE;
1452 break;
1453 case BSIM4v5_MOD_LUB:
1454 mod->BSIM4v5lub = value->rValue;
1455 mod->BSIM4v5lubGiven = TRUE;
1456 break;
1457 case BSIM4v5_MOD_LUB1:
1458 mod->BSIM4v5lub1 = value->rValue;
1459 mod->BSIM4v5lub1Given = TRUE;
1460 break;
1461 case BSIM4v5_MOD_LUC:
1462 mod->BSIM4v5luc = value->rValue;
1463 mod->BSIM4v5lucGiven = TRUE;
1464 break;
1465 case BSIM4v5_MOD_LUC1:
1466 mod->BSIM4v5luc1 = value->rValue;
1467 mod->BSIM4v5luc1Given = TRUE;
1468 break;
1469 case BSIM4v5_MOD_LU0 :
1470 mod->BSIM4v5lu0 = value->rValue;
1471 mod->BSIM4v5lu0Given = TRUE;
1472 break;
1473 case BSIM4v5_MOD_LUTE :
1474 mod->BSIM4v5lute = value->rValue;
1475 mod->BSIM4v5luteGiven = TRUE;
1476 break;
1477 case BSIM4v5_MOD_LVOFF:
1478 mod->BSIM4v5lvoff = value->rValue;
1479 mod->BSIM4v5lvoffGiven = TRUE;
1480 break;
1481 case BSIM4v5_MOD_LTVOFF:
1482 mod->BSIM4v5ltvoff = value->rValue;
1483 mod->BSIM4v5ltvoffGiven = TRUE;
1484 break;
1485 case BSIM4v5_MOD_LMINV:
1486 mod->BSIM4v5lminv = value->rValue;
1487 mod->BSIM4v5lminvGiven = TRUE;
1488 break;
1489 case BSIM4v5_MOD_LFPROUT:
1490 mod->BSIM4v5lfprout = value->rValue;
1491 mod->BSIM4v5lfproutGiven = TRUE;
1492 break;
1493 case BSIM4v5_MOD_LPDITS:
1494 mod->BSIM4v5lpdits = value->rValue;
1495 mod->BSIM4v5lpditsGiven = TRUE;
1496 break;
1497 case BSIM4v5_MOD_LPDITSD:
1498 mod->BSIM4v5lpditsd = value->rValue;
1499 mod->BSIM4v5lpditsdGiven = TRUE;
1500 break;
1501 case BSIM4v5_MOD_LDELTA :
1502 mod->BSIM4v5ldelta = value->rValue;
1503 mod->BSIM4v5ldeltaGiven = TRUE;
1504 break;
1505 case BSIM4v5_MOD_LRDSW:
1506 mod->BSIM4v5lrdsw = value->rValue;
1507 mod->BSIM4v5lrdswGiven = TRUE;
1508 break;
1509 case BSIM4v5_MOD_LRDW:
1510 mod->BSIM4v5lrdw = value->rValue;
1511 mod->BSIM4v5lrdwGiven = TRUE;
1512 break;
1513 case BSIM4v5_MOD_LRSW:
1514 mod->BSIM4v5lrsw = value->rValue;
1515 mod->BSIM4v5lrswGiven = TRUE;
1516 break;
1517 case BSIM4v5_MOD_LPRWB:
1518 mod->BSIM4v5lprwb = value->rValue;
1519 mod->BSIM4v5lprwbGiven = TRUE;
1520 break;
1521 case BSIM4v5_MOD_LPRWG:
1522 mod->BSIM4v5lprwg = value->rValue;
1523 mod->BSIM4v5lprwgGiven = TRUE;
1524 break;
1525 case BSIM4v5_MOD_LPRT:
1526 mod->BSIM4v5lprt = value->rValue;
1527 mod->BSIM4v5lprtGiven = TRUE;
1528 break;
1529 case BSIM4v5_MOD_LETA0:
1530 mod->BSIM4v5leta0 = value->rValue;
1531 mod->BSIM4v5leta0Given = TRUE;
1532 break;
1533 case BSIM4v5_MOD_LETAB:
1534 mod->BSIM4v5letab = value->rValue;
1535 mod->BSIM4v5letabGiven = TRUE;
1536 break;
1537 case BSIM4v5_MOD_LPCLM:
1538 mod->BSIM4v5lpclm = value->rValue;
1539 mod->BSIM4v5lpclmGiven = TRUE;
1540 break;
1541 case BSIM4v5_MOD_LPDIBL1:
1542 mod->BSIM4v5lpdibl1 = value->rValue;
1543 mod->BSIM4v5lpdibl1Given = TRUE;
1544 break;
1545 case BSIM4v5_MOD_LPDIBL2:
1546 mod->BSIM4v5lpdibl2 = value->rValue;
1547 mod->BSIM4v5lpdibl2Given = TRUE;
1548 break;
1549 case BSIM4v5_MOD_LPDIBLB:
1550 mod->BSIM4v5lpdiblb = value->rValue;
1551 mod->BSIM4v5lpdiblbGiven = TRUE;
1552 break;
1553 case BSIM4v5_MOD_LPSCBE1:
1554 mod->BSIM4v5lpscbe1 = value->rValue;
1555 mod->BSIM4v5lpscbe1Given = TRUE;
1556 break;
1557 case BSIM4v5_MOD_LPSCBE2:
1558 mod->BSIM4v5lpscbe2 = value->rValue;
1559 mod->BSIM4v5lpscbe2Given = TRUE;
1560 break;
1561 case BSIM4v5_MOD_LPVAG:
1562 mod->BSIM4v5lpvag = value->rValue;
1563 mod->BSIM4v5lpvagGiven = TRUE;
1564 break;
1565 case BSIM4v5_MOD_LWR :
1566 mod->BSIM4v5lwr = value->rValue;
1567 mod->BSIM4v5lwrGiven = TRUE;
1568 break;
1569 case BSIM4v5_MOD_LDWG :
1570 mod->BSIM4v5ldwg = value->rValue;
1571 mod->BSIM4v5ldwgGiven = TRUE;
1572 break;
1573 case BSIM4v5_MOD_LDWB :
1574 mod->BSIM4v5ldwb = value->rValue;
1575 mod->BSIM4v5ldwbGiven = TRUE;
1576 break;
1577 case BSIM4v5_MOD_LB0 :
1578 mod->BSIM4v5lb0 = value->rValue;
1579 mod->BSIM4v5lb0Given = TRUE;
1580 break;
1581 case BSIM4v5_MOD_LB1 :
1582 mod->BSIM4v5lb1 = value->rValue;
1583 mod->BSIM4v5lb1Given = TRUE;
1584 break;
1585 case BSIM4v5_MOD_LALPHA0 :
1586 mod->BSIM4v5lalpha0 = value->rValue;
1587 mod->BSIM4v5lalpha0Given = TRUE;
1588 break;
1589 case BSIM4v5_MOD_LALPHA1 :
1590 mod->BSIM4v5lalpha1 = value->rValue;
1591 mod->BSIM4v5lalpha1Given = TRUE;
1592 break;
1593 case BSIM4v5_MOD_LBETA0 :
1594 mod->BSIM4v5lbeta0 = value->rValue;
1595 mod->BSIM4v5lbeta0Given = TRUE;
1596 break;
1597 case BSIM4v5_MOD_LAGIDL :
1598 mod->BSIM4v5lagidl = value->rValue;
1599 mod->BSIM4v5lagidlGiven = TRUE;
1600 break;
1601 case BSIM4v5_MOD_LBGIDL :
1602 mod->BSIM4v5lbgidl = value->rValue;
1603 mod->BSIM4v5lbgidlGiven = TRUE;
1604 break;
1605 case BSIM4v5_MOD_LCGIDL :
1606 mod->BSIM4v5lcgidl = value->rValue;
1607 mod->BSIM4v5lcgidlGiven = TRUE;
1608 break;
1609 case BSIM4v5_MOD_LPHIN :
1610 mod->BSIM4v5lphin = value->rValue;
1611 mod->BSIM4v5lphinGiven = TRUE;
1612 break;
1613 case BSIM4v5_MOD_LEGIDL :
1614 mod->BSIM4v5legidl = value->rValue;
1615 mod->BSIM4v5legidlGiven = TRUE;
1616 break;
1617 case BSIM4v5_MOD_LAIGC :
1618 mod->BSIM4v5laigc = value->rValue;
1619 mod->BSIM4v5laigcGiven = TRUE;
1620 break;
1621 case BSIM4v5_MOD_LBIGC :
1622 mod->BSIM4v5lbigc = value->rValue;
1623 mod->BSIM4v5lbigcGiven = TRUE;
1624 break;
1625 case BSIM4v5_MOD_LCIGC :
1626 mod->BSIM4v5lcigc = value->rValue;
1627 mod->BSIM4v5lcigcGiven = TRUE;
1628 break;
1629 case BSIM4v5_MOD_LAIGSD :
1630 mod->BSIM4v5laigsd = value->rValue;
1631 mod->BSIM4v5laigsdGiven = TRUE;
1632 break;
1633 case BSIM4v5_MOD_LBIGSD :
1634 mod->BSIM4v5lbigsd = value->rValue;
1635 mod->BSIM4v5lbigsdGiven = TRUE;
1636 break;
1637 case BSIM4v5_MOD_LCIGSD :
1638 mod->BSIM4v5lcigsd = value->rValue;
1639 mod->BSIM4v5lcigsdGiven = TRUE;
1640 break;
1641 case BSIM4v5_MOD_LAIGBACC :
1642 mod->BSIM4v5laigbacc = value->rValue;
1643 mod->BSIM4v5laigbaccGiven = TRUE;
1644 break;
1645 case BSIM4v5_MOD_LBIGBACC :
1646 mod->BSIM4v5lbigbacc = value->rValue;
1647 mod->BSIM4v5lbigbaccGiven = TRUE;
1648 break;
1649 case BSIM4v5_MOD_LCIGBACC :
1650 mod->BSIM4v5lcigbacc = value->rValue;
1651 mod->BSIM4v5lcigbaccGiven = TRUE;
1652 break;
1653 case BSIM4v5_MOD_LAIGBINV :
1654 mod->BSIM4v5laigbinv = value->rValue;
1655 mod->BSIM4v5laigbinvGiven = TRUE;
1656 break;
1657 case BSIM4v5_MOD_LBIGBINV :
1658 mod->BSIM4v5lbigbinv = value->rValue;
1659 mod->BSIM4v5lbigbinvGiven = TRUE;
1660 break;
1661 case BSIM4v5_MOD_LCIGBINV :
1662 mod->BSIM4v5lcigbinv = value->rValue;
1663 mod->BSIM4v5lcigbinvGiven = TRUE;
1664 break;
1665 case BSIM4v5_MOD_LNIGC :
1666 mod->BSIM4v5lnigc = value->rValue;
1667 mod->BSIM4v5lnigcGiven = TRUE;
1668 break;
1669 case BSIM4v5_MOD_LNIGBINV :
1670 mod->BSIM4v5lnigbinv = value->rValue;
1671 mod->BSIM4v5lnigbinvGiven = TRUE;
1672 break;
1673 case BSIM4v5_MOD_LNIGBACC :
1674 mod->BSIM4v5lnigbacc = value->rValue;
1675 mod->BSIM4v5lnigbaccGiven = TRUE;
1676 break;
1677 case BSIM4v5_MOD_LNTOX :
1678 mod->BSIM4v5lntox = value->rValue;
1679 mod->BSIM4v5lntoxGiven = TRUE;
1680 break;
1681 case BSIM4v5_MOD_LEIGBINV :
1682 mod->BSIM4v5leigbinv = value->rValue;
1683 mod->BSIM4v5leigbinvGiven = TRUE;
1684 break;
1685 case BSIM4v5_MOD_LPIGCD :
1686 mod->BSIM4v5lpigcd = value->rValue;
1687 mod->BSIM4v5lpigcdGiven = TRUE;
1688 break;
1689 case BSIM4v5_MOD_LPOXEDGE :
1690 mod->BSIM4v5lpoxedge = value->rValue;
1691 mod->BSIM4v5lpoxedgeGiven = TRUE;
1692 break;
1693 case BSIM4v5_MOD_LXRCRG1 :
1694 mod->BSIM4v5lxrcrg1 = value->rValue;
1695 mod->BSIM4v5lxrcrg1Given = TRUE;
1696 break;
1697 case BSIM4v5_MOD_LXRCRG2 :
1698 mod->BSIM4v5lxrcrg2 = value->rValue;
1699 mod->BSIM4v5lxrcrg2Given = TRUE;
1700 break;
1701 case BSIM4v5_MOD_LLAMBDA :
1702 mod->BSIM4v5llambda = value->rValue;
1703 mod->BSIM4v5llambdaGiven = TRUE;
1704 break;
1705 case BSIM4v5_MOD_LVTL :
1706 mod->BSIM4v5lvtl = value->rValue;
1707 mod->BSIM4v5lvtlGiven = TRUE;
1708 break;
1709 case BSIM4v5_MOD_LXN:
1710 mod->BSIM4v5lxn = value->rValue;
1711 mod->BSIM4v5lxnGiven = TRUE;
1712 break;
1713 case BSIM4v5_MOD_LVFBSDOFF:
1714 mod->BSIM4v5lvfbsdoff = value->rValue;
1715 mod->BSIM4v5lvfbsdoffGiven = TRUE;
1716 break;
1717 case BSIM4v5_MOD_LTVFBSDOFF:
1718 mod->BSIM4v5ltvfbsdoff = value->rValue;
1719 mod->BSIM4v5ltvfbsdoffGiven = TRUE;
1720 break;
1721 case BSIM4v5_MOD_LEU :
1722 mod->BSIM4v5leu = value->rValue;
1723 mod->BSIM4v5leuGiven = TRUE;
1724 break;
1725 case BSIM4v5_MOD_LVFB :
1726 mod->BSIM4v5lvfb = value->rValue;
1727 mod->BSIM4v5lvfbGiven = TRUE;
1728 break;
1729 case BSIM4v5_MOD_LCGSL :
1730 mod->BSIM4v5lcgsl = value->rValue;
1731 mod->BSIM4v5lcgslGiven = TRUE;
1732 break;
1733 case BSIM4v5_MOD_LCGDL :
1734 mod->BSIM4v5lcgdl = value->rValue;
1735 mod->BSIM4v5lcgdlGiven = TRUE;
1736 break;
1737 case BSIM4v5_MOD_LCKAPPAS :
1738 mod->BSIM4v5lckappas = value->rValue;
1739 mod->BSIM4v5lckappasGiven = TRUE;
1740 break;
1741 case BSIM4v5_MOD_LCKAPPAD :
1742 mod->BSIM4v5lckappad = value->rValue;
1743 mod->BSIM4v5lckappadGiven = TRUE;
1744 break;
1745 case BSIM4v5_MOD_LCF :
1746 mod->BSIM4v5lcf = value->rValue;
1747 mod->BSIM4v5lcfGiven = TRUE;
1748 break;
1749 case BSIM4v5_MOD_LCLC :
1750 mod->BSIM4v5lclc = value->rValue;
1751 mod->BSIM4v5lclcGiven = TRUE;
1752 break;
1753 case BSIM4v5_MOD_LCLE :
1754 mod->BSIM4v5lcle = value->rValue;
1755 mod->BSIM4v5lcleGiven = TRUE;
1756 break;
1757 case BSIM4v5_MOD_LVFBCV :
1758 mod->BSIM4v5lvfbcv = value->rValue;
1759 mod->BSIM4v5lvfbcvGiven = TRUE;
1760 break;
1761 case BSIM4v5_MOD_LACDE :
1762 mod->BSIM4v5lacde = value->rValue;
1763 mod->BSIM4v5lacdeGiven = TRUE;
1764 break;
1765 case BSIM4v5_MOD_LMOIN :
1766 mod->BSIM4v5lmoin = value->rValue;
1767 mod->BSIM4v5lmoinGiven = TRUE;
1768 break;
1769 case BSIM4v5_MOD_LNOFF :
1770 mod->BSIM4v5lnoff = value->rValue;
1771 mod->BSIM4v5lnoffGiven = TRUE;
1772 break;
1773 case BSIM4v5_MOD_LVOFFCV :
1774 mod->BSIM4v5lvoffcv = value->rValue;
1775 mod->BSIM4v5lvoffcvGiven = TRUE;
1776 break;
1777
1778 /* Width dependence */
1779 case BSIM4v5_MOD_WCDSC :
1780 mod->BSIM4v5wcdsc = value->rValue;
1781 mod->BSIM4v5wcdscGiven = TRUE;
1782 break;
1783
1784
1785 case BSIM4v5_MOD_WCDSCB :
1786 mod->BSIM4v5wcdscb = value->rValue;
1787 mod->BSIM4v5wcdscbGiven = TRUE;
1788 break;
1789 case BSIM4v5_MOD_WCDSCD :
1790 mod->BSIM4v5wcdscd = value->rValue;
1791 mod->BSIM4v5wcdscdGiven = TRUE;
1792 break;
1793 case BSIM4v5_MOD_WCIT :
1794 mod->BSIM4v5wcit = value->rValue;
1795 mod->BSIM4v5wcitGiven = TRUE;
1796 break;
1797 case BSIM4v5_MOD_WNFACTOR :
1798 mod->BSIM4v5wnfactor = value->rValue;
1799 mod->BSIM4v5wnfactorGiven = TRUE;
1800 break;
1801 case BSIM4v5_MOD_WXJ:
1802 mod->BSIM4v5wxj = value->rValue;
1803 mod->BSIM4v5wxjGiven = TRUE;
1804 break;
1805 case BSIM4v5_MOD_WVSAT:
1806 mod->BSIM4v5wvsat = value->rValue;
1807 mod->BSIM4v5wvsatGiven = TRUE;
1808 break;
1809
1810
1811 case BSIM4v5_MOD_WA0:
1812 mod->BSIM4v5wa0 = value->rValue;
1813 mod->BSIM4v5wa0Given = TRUE;
1814 break;
1815 case BSIM4v5_MOD_WAGS:
1816 mod->BSIM4v5wags = value->rValue;
1817 mod->BSIM4v5wagsGiven = TRUE;
1818 break;
1819 case BSIM4v5_MOD_WA1:
1820 mod->BSIM4v5wa1 = value->rValue;
1821 mod->BSIM4v5wa1Given = TRUE;
1822 break;
1823 case BSIM4v5_MOD_WA2:
1824 mod->BSIM4v5wa2 = value->rValue;
1825 mod->BSIM4v5wa2Given = TRUE;
1826 break;
1827 case BSIM4v5_MOD_WAT:
1828 mod->BSIM4v5wat = value->rValue;
1829 mod->BSIM4v5watGiven = TRUE;
1830 break;
1831 case BSIM4v5_MOD_WKETA:
1832 mod->BSIM4v5wketa = value->rValue;
1833 mod->BSIM4v5wketaGiven = TRUE;
1834 break;
1835 case BSIM4v5_MOD_WNSUB:
1836 mod->BSIM4v5wnsub = value->rValue;
1837 mod->BSIM4v5wnsubGiven = TRUE;
1838 break;
1839 case BSIM4v5_MOD_WNDEP:
1840 mod->BSIM4v5wndep = value->rValue;
1841 mod->BSIM4v5wndepGiven = TRUE;
1842 if (mod->BSIM4v5wndep > 1.0e20)
1843 mod->BSIM4v5wndep *= 1.0e-6;
1844 break;
1845 case BSIM4v5_MOD_WNSD:
1846 mod->BSIM4v5wnsd = value->rValue;
1847 mod->BSIM4v5wnsdGiven = TRUE;
1848 if (mod->BSIM4v5wnsd > 1.0e23)
1849 mod->BSIM4v5wnsd *= 1.0e-6;
1850 break;
1851 case BSIM4v5_MOD_WNGATE:
1852 mod->BSIM4v5wngate = value->rValue;
1853 mod->BSIM4v5wngateGiven = TRUE;
1854 if (mod->BSIM4v5wngate > 1.0e23)
1855 mod->BSIM4v5wngate *= 1.0e-6;
1856 break;
1857 case BSIM4v5_MOD_WGAMMA1:
1858 mod->BSIM4v5wgamma1 = value->rValue;
1859 mod->BSIM4v5wgamma1Given = TRUE;
1860 break;
1861 case BSIM4v5_MOD_WGAMMA2:
1862 mod->BSIM4v5wgamma2 = value->rValue;
1863 mod->BSIM4v5wgamma2Given = TRUE;
1864 break;
1865 case BSIM4v5_MOD_WVBX:
1866 mod->BSIM4v5wvbx = value->rValue;
1867 mod->BSIM4v5wvbxGiven = TRUE;
1868 break;
1869 case BSIM4v5_MOD_WVBM:
1870 mod->BSIM4v5wvbm = value->rValue;
1871 mod->BSIM4v5wvbmGiven = TRUE;
1872 break;
1873 case BSIM4v5_MOD_WXT:
1874 mod->BSIM4v5wxt = value->rValue;
1875 mod->BSIM4v5wxtGiven = TRUE;
1876 break;
1877 case BSIM4v5_MOD_WK1:
1878 mod->BSIM4v5wk1 = value->rValue;
1879 mod->BSIM4v5wk1Given = TRUE;
1880 break;
1881 case BSIM4v5_MOD_WKT1:
1882 mod->BSIM4v5wkt1 = value->rValue;
1883 mod->BSIM4v5wkt1Given = TRUE;
1884 break;
1885 case BSIM4v5_MOD_WKT1L:
1886 mod->BSIM4v5wkt1l = value->rValue;
1887 mod->BSIM4v5wkt1lGiven = TRUE;
1888 break;
1889 case BSIM4v5_MOD_WKT2:
1890 mod->BSIM4v5wkt2 = value->rValue;
1891 mod->BSIM4v5wkt2Given = TRUE;
1892 break;
1893 case BSIM4v5_MOD_WK2:
1894 mod->BSIM4v5wk2 = value->rValue;
1895 mod->BSIM4v5wk2Given = TRUE;
1896 break;
1897 case BSIM4v5_MOD_WK3:
1898 mod->BSIM4v5wk3 = value->rValue;
1899 mod->BSIM4v5wk3Given = TRUE;
1900 break;
1901 case BSIM4v5_MOD_WK3B:
1902 mod->BSIM4v5wk3b = value->rValue;
1903 mod->BSIM4v5wk3bGiven = TRUE;
1904 break;
1905 case BSIM4v5_MOD_WLPE0:
1906 mod->BSIM4v5wlpe0 = value->rValue;
1907 mod->BSIM4v5wlpe0Given = TRUE;
1908 break;
1909 case BSIM4v5_MOD_WLPEB:
1910 mod->BSIM4v5wlpeb = value->rValue;
1911 mod->BSIM4v5wlpebGiven = TRUE;
1912 break;
1913 case BSIM4v5_MOD_WDVTP0:
1914 mod->BSIM4v5wdvtp0 = value->rValue;
1915 mod->BSIM4v5wdvtp0Given = TRUE;
1916 break;
1917 case BSIM4v5_MOD_WDVTP1:
1918 mod->BSIM4v5wdvtp1 = value->rValue;
1919 mod->BSIM4v5wdvtp1Given = TRUE;
1920 break;
1921 case BSIM4v5_MOD_WW0:
1922 mod->BSIM4v5ww0 = value->rValue;
1923 mod->BSIM4v5ww0Given = TRUE;
1924 break;
1925 case BSIM4v5_MOD_WDVT0:
1926 mod->BSIM4v5wdvt0 = value->rValue;
1927 mod->BSIM4v5wdvt0Given = TRUE;
1928 break;
1929 case BSIM4v5_MOD_WDVT1:
1930 mod->BSIM4v5wdvt1 = value->rValue;
1931 mod->BSIM4v5wdvt1Given = TRUE;
1932 break;
1933 case BSIM4v5_MOD_WDVT2:
1934 mod->BSIM4v5wdvt2 = value->rValue;
1935 mod->BSIM4v5wdvt2Given = TRUE;
1936 break;
1937 case BSIM4v5_MOD_WDVT0W:
1938 mod->BSIM4v5wdvt0w = value->rValue;
1939 mod->BSIM4v5wdvt0wGiven = TRUE;
1940 break;
1941 case BSIM4v5_MOD_WDVT1W:
1942 mod->BSIM4v5wdvt1w = value->rValue;
1943 mod->BSIM4v5wdvt1wGiven = TRUE;
1944 break;
1945 case BSIM4v5_MOD_WDVT2W:
1946 mod->BSIM4v5wdvt2w = value->rValue;
1947 mod->BSIM4v5wdvt2wGiven = TRUE;
1948 break;
1949 case BSIM4v5_MOD_WDROUT:
1950 mod->BSIM4v5wdrout = value->rValue;
1951 mod->BSIM4v5wdroutGiven = TRUE;
1952 break;
1953 case BSIM4v5_MOD_WDSUB:
1954 mod->BSIM4v5wdsub = value->rValue;
1955 mod->BSIM4v5wdsubGiven = TRUE;
1956 break;
1957 case BSIM4v5_MOD_WVTH0:
1958 mod->BSIM4v5wvth0 = value->rValue;
1959 mod->BSIM4v5wvth0Given = TRUE;
1960 break;
1961 case BSIM4v5_MOD_WUA:
1962 mod->BSIM4v5wua = value->rValue;
1963 mod->BSIM4v5wuaGiven = TRUE;
1964 break;
1965 case BSIM4v5_MOD_WUA1:
1966 mod->BSIM4v5wua1 = value->rValue;
1967 mod->BSIM4v5wua1Given = TRUE;
1968 break;
1969 case BSIM4v5_MOD_WUB:
1970 mod->BSIM4v5wub = value->rValue;
1971 mod->BSIM4v5wubGiven = TRUE;
1972 break;
1973 case BSIM4v5_MOD_WUB1:
1974 mod->BSIM4v5wub1 = value->rValue;
1975 mod->BSIM4v5wub1Given = TRUE;
1976 break;
1977 case BSIM4v5_MOD_WUC:
1978 mod->BSIM4v5wuc = value->rValue;
1979 mod->BSIM4v5wucGiven = TRUE;
1980 break;
1981 case BSIM4v5_MOD_WUC1:
1982 mod->BSIM4v5wuc1 = value->rValue;
1983 mod->BSIM4v5wuc1Given = TRUE;
1984 break;
1985 case BSIM4v5_MOD_WU0 :
1986 mod->BSIM4v5wu0 = value->rValue;
1987 mod->BSIM4v5wu0Given = TRUE;
1988 break;
1989 case BSIM4v5_MOD_WUTE :
1990 mod->BSIM4v5wute = value->rValue;
1991 mod->BSIM4v5wuteGiven = TRUE;
1992 break;
1993 case BSIM4v5_MOD_WVOFF:
1994 mod->BSIM4v5wvoff = value->rValue;
1995 mod->BSIM4v5wvoffGiven = TRUE;
1996 break;
1997 case BSIM4v5_MOD_WTVOFF:
1998 mod->BSIM4v5wtvoff = value->rValue;
1999 mod->BSIM4v5wtvoffGiven = TRUE;
2000 break;
2001 case BSIM4v5_MOD_WMINV:
2002 mod->BSIM4v5wminv = value->rValue;
2003 mod->BSIM4v5wminvGiven = TRUE;
2004 break;
2005 case BSIM4v5_MOD_WFPROUT:
2006 mod->BSIM4v5wfprout = value->rValue;
2007 mod->BSIM4v5wfproutGiven = TRUE;
2008 break;
2009 case BSIM4v5_MOD_WPDITS:
2010 mod->BSIM4v5wpdits = value->rValue;
2011 mod->BSIM4v5wpditsGiven = TRUE;
2012 break;
2013 case BSIM4v5_MOD_WPDITSD:
2014 mod->BSIM4v5wpditsd = value->rValue;
2015 mod->BSIM4v5wpditsdGiven = TRUE;
2016 break;
2017 case BSIM4v5_MOD_WDELTA :
2018 mod->BSIM4v5wdelta = value->rValue;
2019 mod->BSIM4v5wdeltaGiven = TRUE;
2020 break;
2021 case BSIM4v5_MOD_WRDSW:
2022 mod->BSIM4v5wrdsw = value->rValue;
2023 mod->BSIM4v5wrdswGiven = TRUE;
2024 break;
2025 case BSIM4v5_MOD_WRDW:
2026 mod->BSIM4v5wrdw = value->rValue;
2027 mod->BSIM4v5wrdwGiven = TRUE;
2028 break;
2029 case BSIM4v5_MOD_WRSW:
2030 mod->BSIM4v5wrsw = value->rValue;
2031 mod->BSIM4v5wrswGiven = TRUE;
2032 break;
2033 case BSIM4v5_MOD_WPRWB:
2034 mod->BSIM4v5wprwb = value->rValue;
2035 mod->BSIM4v5wprwbGiven = TRUE;
2036 break;
2037 case BSIM4v5_MOD_WPRWG:
2038 mod->BSIM4v5wprwg = value->rValue;
2039 mod->BSIM4v5wprwgGiven = TRUE;
2040 break;
2041 case BSIM4v5_MOD_WPRT:
2042 mod->BSIM4v5wprt = value->rValue;
2043 mod->BSIM4v5wprtGiven = TRUE;
2044 break;
2045 case BSIM4v5_MOD_WETA0:
2046 mod->BSIM4v5weta0 = value->rValue;
2047 mod->BSIM4v5weta0Given = TRUE;
2048 break;
2049 case BSIM4v5_MOD_WETAB:
2050 mod->BSIM4v5wetab = value->rValue;
2051 mod->BSIM4v5wetabGiven = TRUE;
2052 break;
2053 case BSIM4v5_MOD_WPCLM:
2054 mod->BSIM4v5wpclm = value->rValue;
2055 mod->BSIM4v5wpclmGiven = TRUE;
2056 break;
2057 case BSIM4v5_MOD_WPDIBL1:
2058 mod->BSIM4v5wpdibl1 = value->rValue;
2059 mod->BSIM4v5wpdibl1Given = TRUE;
2060 break;
2061 case BSIM4v5_MOD_WPDIBL2:
2062 mod->BSIM4v5wpdibl2 = value->rValue;
2063 mod->BSIM4v5wpdibl2Given = TRUE;
2064 break;
2065 case BSIM4v5_MOD_WPDIBLB:
2066 mod->BSIM4v5wpdiblb = value->rValue;
2067 mod->BSIM4v5wpdiblbGiven = TRUE;
2068 break;
2069 case BSIM4v5_MOD_WPSCBE1:
2070 mod->BSIM4v5wpscbe1 = value->rValue;
2071 mod->BSIM4v5wpscbe1Given = TRUE;
2072 break;
2073 case BSIM4v5_MOD_WPSCBE2:
2074 mod->BSIM4v5wpscbe2 = value->rValue;
2075 mod->BSIM4v5wpscbe2Given = TRUE;
2076 break;
2077 case BSIM4v5_MOD_WPVAG:
2078 mod->BSIM4v5wpvag = value->rValue;
2079 mod->BSIM4v5wpvagGiven = TRUE;
2080 break;
2081 case BSIM4v5_MOD_WWR :
2082 mod->BSIM4v5wwr = value->rValue;
2083 mod->BSIM4v5wwrGiven = TRUE;
2084 break;
2085 case BSIM4v5_MOD_WDWG :
2086 mod->BSIM4v5wdwg = value->rValue;
2087 mod->BSIM4v5wdwgGiven = TRUE;
2088 break;
2089 case BSIM4v5_MOD_WDWB :
2090 mod->BSIM4v5wdwb = value->rValue;
2091 mod->BSIM4v5wdwbGiven = TRUE;
2092 break;
2093 case BSIM4v5_MOD_WB0 :
2094 mod->BSIM4v5wb0 = value->rValue;
2095 mod->BSIM4v5wb0Given = TRUE;
2096 break;
2097 case BSIM4v5_MOD_WB1 :
2098 mod->BSIM4v5wb1 = value->rValue;
2099 mod->BSIM4v5wb1Given = TRUE;
2100 break;
2101 case BSIM4v5_MOD_WALPHA0 :
2102 mod->BSIM4v5walpha0 = value->rValue;
2103 mod->BSIM4v5walpha0Given = TRUE;
2104 break;
2105 case BSIM4v5_MOD_WALPHA1 :
2106 mod->BSIM4v5walpha1 = value->rValue;
2107 mod->BSIM4v5walpha1Given = TRUE;
2108 break;
2109 case BSIM4v5_MOD_WBETA0 :
2110 mod->BSIM4v5wbeta0 = value->rValue;
2111 mod->BSIM4v5wbeta0Given = TRUE;
2112 break;
2113 case BSIM4v5_MOD_WAGIDL :
2114 mod->BSIM4v5wagidl = value->rValue;
2115 mod->BSIM4v5wagidlGiven = TRUE;
2116 break;
2117 case BSIM4v5_MOD_WBGIDL :
2118 mod->BSIM4v5wbgidl = value->rValue;
2119 mod->BSIM4v5wbgidlGiven = TRUE;
2120 break;
2121 case BSIM4v5_MOD_WCGIDL :
2122 mod->BSIM4v5wcgidl = value->rValue;
2123 mod->BSIM4v5wcgidlGiven = TRUE;
2124 break;
2125 case BSIM4v5_MOD_WPHIN :
2126 mod->BSIM4v5wphin = value->rValue;
2127 mod->BSIM4v5wphinGiven = TRUE;
2128 break;
2129 case BSIM4v5_MOD_WEGIDL :
2130 mod->BSIM4v5wegidl = value->rValue;
2131 mod->BSIM4v5wegidlGiven = TRUE;
2132 break;
2133 case BSIM4v5_MOD_WAIGC :
2134 mod->BSIM4v5waigc = value->rValue;
2135 mod->BSIM4v5waigcGiven = TRUE;
2136 break;
2137 case BSIM4v5_MOD_WBIGC :
2138 mod->BSIM4v5wbigc = value->rValue;
2139 mod->BSIM4v5wbigcGiven = TRUE;
2140 break;
2141 case BSIM4v5_MOD_WCIGC :
2142 mod->BSIM4v5wcigc = value->rValue;
2143 mod->BSIM4v5wcigcGiven = TRUE;
2144 break;
2145 case BSIM4v5_MOD_WAIGSD :
2146 mod->BSIM4v5waigsd = value->rValue;
2147 mod->BSIM4v5waigsdGiven = TRUE;
2148 break;
2149 case BSIM4v5_MOD_WBIGSD :
2150 mod->BSIM4v5wbigsd = value->rValue;
2151 mod->BSIM4v5wbigsdGiven = TRUE;
2152 break;
2153 case BSIM4v5_MOD_WCIGSD :
2154 mod->BSIM4v5wcigsd = value->rValue;
2155 mod->BSIM4v5wcigsdGiven = TRUE;
2156 break;
2157 case BSIM4v5_MOD_WAIGBACC :
2158 mod->BSIM4v5waigbacc = value->rValue;
2159 mod->BSIM4v5waigbaccGiven = TRUE;
2160 break;
2161 case BSIM4v5_MOD_WBIGBACC :
2162 mod->BSIM4v5wbigbacc = value->rValue;
2163 mod->BSIM4v5wbigbaccGiven = TRUE;
2164 break;
2165 case BSIM4v5_MOD_WCIGBACC :
2166 mod->BSIM4v5wcigbacc = value->rValue;
2167 mod->BSIM4v5wcigbaccGiven = TRUE;
2168 break;
2169 case BSIM4v5_MOD_WAIGBINV :
2170 mod->BSIM4v5waigbinv = value->rValue;
2171 mod->BSIM4v5waigbinvGiven = TRUE;
2172 break;
2173 case BSIM4v5_MOD_WBIGBINV :
2174 mod->BSIM4v5wbigbinv = value->rValue;
2175 mod->BSIM4v5wbigbinvGiven = TRUE;
2176 break;
2177 case BSIM4v5_MOD_WCIGBINV :
2178 mod->BSIM4v5wcigbinv = value->rValue;
2179 mod->BSIM4v5wcigbinvGiven = TRUE;
2180 break;
2181 case BSIM4v5_MOD_WNIGC :
2182 mod->BSIM4v5wnigc = value->rValue;
2183 mod->BSIM4v5wnigcGiven = TRUE;
2184 break;
2185 case BSIM4v5_MOD_WNIGBINV :
2186 mod->BSIM4v5wnigbinv = value->rValue;
2187 mod->BSIM4v5wnigbinvGiven = TRUE;
2188 break;
2189 case BSIM4v5_MOD_WNIGBACC :
2190 mod->BSIM4v5wnigbacc = value->rValue;
2191 mod->BSIM4v5wnigbaccGiven = TRUE;
2192 break;
2193 case BSIM4v5_MOD_WNTOX :
2194 mod->BSIM4v5wntox = value->rValue;
2195 mod->BSIM4v5wntoxGiven = TRUE;
2196 break;
2197 case BSIM4v5_MOD_WEIGBINV :
2198 mod->BSIM4v5weigbinv = value->rValue;
2199 mod->BSIM4v5weigbinvGiven = TRUE;
2200 break;
2201 case BSIM4v5_MOD_WPIGCD :
2202 mod->BSIM4v5wpigcd = value->rValue;
2203 mod->BSIM4v5wpigcdGiven = TRUE;
2204 break;
2205 case BSIM4v5_MOD_WPOXEDGE :
2206 mod->BSIM4v5wpoxedge = value->rValue;
2207 mod->BSIM4v5wpoxedgeGiven = TRUE;
2208 break;
2209 case BSIM4v5_MOD_WXRCRG1 :
2210 mod->BSIM4v5wxrcrg1 = value->rValue;
2211 mod->BSIM4v5wxrcrg1Given = TRUE;
2212 break;
2213 case BSIM4v5_MOD_WXRCRG2 :
2214 mod->BSIM4v5wxrcrg2 = value->rValue;
2215 mod->BSIM4v5wxrcrg2Given = TRUE;
2216 break;
2217 case BSIM4v5_MOD_WLAMBDA :
2218 mod->BSIM4v5wlambda = value->rValue;
2219 mod->BSIM4v5wlambdaGiven = TRUE;
2220 break;
2221 case BSIM4v5_MOD_WVTL :
2222 mod->BSIM4v5wvtl = value->rValue;
2223 mod->BSIM4v5wvtlGiven = TRUE;
2224 break;
2225 case BSIM4v5_MOD_WXN:
2226 mod->BSIM4v5wxn = value->rValue;
2227 mod->BSIM4v5wxnGiven = TRUE;
2228 break;
2229 case BSIM4v5_MOD_WVFBSDOFF:
2230 mod->BSIM4v5wvfbsdoff = value->rValue;
2231 mod->BSIM4v5wvfbsdoffGiven = TRUE;
2232 break;
2233 case BSIM4v5_MOD_WTVFBSDOFF:
2234 mod->BSIM4v5wtvfbsdoff = value->rValue;
2235 mod->BSIM4v5wtvfbsdoffGiven = TRUE;
2236 break;
2237 case BSIM4v5_MOD_WEU :
2238 mod->BSIM4v5weu = value->rValue;
2239 mod->BSIM4v5weuGiven = TRUE;
2240 break;
2241 case BSIM4v5_MOD_WVFB :
2242 mod->BSIM4v5wvfb = value->rValue;
2243 mod->BSIM4v5wvfbGiven = TRUE;
2244 break;
2245 case BSIM4v5_MOD_WCGSL :
2246 mod->BSIM4v5wcgsl = value->rValue;
2247 mod->BSIM4v5wcgslGiven = TRUE;
2248 break;
2249 case BSIM4v5_MOD_WCGDL :
2250 mod->BSIM4v5wcgdl = value->rValue;
2251 mod->BSIM4v5wcgdlGiven = TRUE;
2252 break;
2253 case BSIM4v5_MOD_WCKAPPAS :
2254 mod->BSIM4v5wckappas = value->rValue;
2255 mod->BSIM4v5wckappasGiven = TRUE;
2256 break;
2257 case BSIM4v5_MOD_WCKAPPAD :
2258 mod->BSIM4v5wckappad = value->rValue;
2259 mod->BSIM4v5wckappadGiven = TRUE;
2260 break;
2261 case BSIM4v5_MOD_WCF :
2262 mod->BSIM4v5wcf = value->rValue;
2263 mod->BSIM4v5wcfGiven = TRUE;
2264 break;
2265 case BSIM4v5_MOD_WCLC :
2266 mod->BSIM4v5wclc = value->rValue;
2267 mod->BSIM4v5wclcGiven = TRUE;
2268 break;
2269 case BSIM4v5_MOD_WCLE :
2270 mod->BSIM4v5wcle = value->rValue;
2271 mod->BSIM4v5wcleGiven = TRUE;
2272 break;
2273 case BSIM4v5_MOD_WVFBCV :
2274 mod->BSIM4v5wvfbcv = value->rValue;
2275 mod->BSIM4v5wvfbcvGiven = TRUE;
2276 break;
2277 case BSIM4v5_MOD_WACDE :
2278 mod->BSIM4v5wacde = value->rValue;
2279 mod->BSIM4v5wacdeGiven = TRUE;
2280 break;
2281 case BSIM4v5_MOD_WMOIN :
2282 mod->BSIM4v5wmoin = value->rValue;
2283 mod->BSIM4v5wmoinGiven = TRUE;
2284 break;
2285 case BSIM4v5_MOD_WNOFF :
2286 mod->BSIM4v5wnoff = value->rValue;
2287 mod->BSIM4v5wnoffGiven = TRUE;
2288 break;
2289 case BSIM4v5_MOD_WVOFFCV :
2290 mod->BSIM4v5wvoffcv = value->rValue;
2291 mod->BSIM4v5wvoffcvGiven = TRUE;
2292 break;
2293
2294 /* Cross-term dependence */
2295 case BSIM4v5_MOD_PCDSC :
2296 mod->BSIM4v5pcdsc = value->rValue;
2297 mod->BSIM4v5pcdscGiven = TRUE;
2298 break;
2299
2300
2301 case BSIM4v5_MOD_PCDSCB :
2302 mod->BSIM4v5pcdscb = value->rValue;
2303 mod->BSIM4v5pcdscbGiven = TRUE;
2304 break;
2305 case BSIM4v5_MOD_PCDSCD :
2306 mod->BSIM4v5pcdscd = value->rValue;
2307 mod->BSIM4v5pcdscdGiven = TRUE;
2308 break;
2309 case BSIM4v5_MOD_PCIT :
2310 mod->BSIM4v5pcit = value->rValue;
2311 mod->BSIM4v5pcitGiven = TRUE;
2312 break;
2313 case BSIM4v5_MOD_PNFACTOR :
2314 mod->BSIM4v5pnfactor = value->rValue;
2315 mod->BSIM4v5pnfactorGiven = TRUE;
2316 break;
2317 case BSIM4v5_MOD_PXJ:
2318 mod->BSIM4v5pxj = value->rValue;
2319 mod->BSIM4v5pxjGiven = TRUE;
2320 break;
2321 case BSIM4v5_MOD_PVSAT:
2322 mod->BSIM4v5pvsat = value->rValue;
2323 mod->BSIM4v5pvsatGiven = TRUE;
2324 break;
2325
2326
2327 case BSIM4v5_MOD_PA0:
2328 mod->BSIM4v5pa0 = value->rValue;
2329 mod->BSIM4v5pa0Given = TRUE;
2330 break;
2331 case BSIM4v5_MOD_PAGS:
2332 mod->BSIM4v5pags = value->rValue;
2333 mod->BSIM4v5pagsGiven = TRUE;
2334 break;
2335 case BSIM4v5_MOD_PA1:
2336 mod->BSIM4v5pa1 = value->rValue;
2337 mod->BSIM4v5pa1Given = TRUE;
2338 break;
2339 case BSIM4v5_MOD_PA2:
2340 mod->BSIM4v5pa2 = value->rValue;
2341 mod->BSIM4v5pa2Given = TRUE;
2342 break;
2343 case BSIM4v5_MOD_PAT:
2344 mod->BSIM4v5pat = value->rValue;
2345 mod->BSIM4v5patGiven = TRUE;
2346 break;
2347 case BSIM4v5_MOD_PKETA:
2348 mod->BSIM4v5pketa = value->rValue;
2349 mod->BSIM4v5pketaGiven = TRUE;
2350 break;
2351 case BSIM4v5_MOD_PNSUB:
2352 mod->BSIM4v5pnsub = value->rValue;
2353 mod->BSIM4v5pnsubGiven = TRUE;
2354 break;
2355 case BSIM4v5_MOD_PNDEP:
2356 mod->BSIM4v5pndep = value->rValue;
2357 mod->BSIM4v5pndepGiven = TRUE;
2358 if (mod->BSIM4v5pndep > 1.0e20)
2359 mod->BSIM4v5pndep *= 1.0e-6;
2360 break;
2361 case BSIM4v5_MOD_PNSD:
2362 mod->BSIM4v5pnsd = value->rValue;
2363 mod->BSIM4v5pnsdGiven = TRUE;
2364 if (mod->BSIM4v5pnsd > 1.0e23)
2365 mod->BSIM4v5pnsd *= 1.0e-6;
2366 break;
2367 case BSIM4v5_MOD_PNGATE:
2368 mod->BSIM4v5pngate = value->rValue;
2369 mod->BSIM4v5pngateGiven = TRUE;
2370 if (mod->BSIM4v5pngate > 1.0e23)
2371 mod->BSIM4v5pngate *= 1.0e-6;
2372 break;
2373 case BSIM4v5_MOD_PGAMMA1:
2374 mod->BSIM4v5pgamma1 = value->rValue;
2375 mod->BSIM4v5pgamma1Given = TRUE;
2376 break;
2377 case BSIM4v5_MOD_PGAMMA2:
2378 mod->BSIM4v5pgamma2 = value->rValue;
2379 mod->BSIM4v5pgamma2Given = TRUE;
2380 break;
2381 case BSIM4v5_MOD_PVBX:
2382 mod->BSIM4v5pvbx = value->rValue;
2383 mod->BSIM4v5pvbxGiven = TRUE;
2384 break;
2385 case BSIM4v5_MOD_PVBM:
2386 mod->BSIM4v5pvbm = value->rValue;
2387 mod->BSIM4v5pvbmGiven = TRUE;
2388 break;
2389 case BSIM4v5_MOD_PXT:
2390 mod->BSIM4v5pxt = value->rValue;
2391 mod->BSIM4v5pxtGiven = TRUE;
2392 break;
2393 case BSIM4v5_MOD_PK1:
2394 mod->BSIM4v5pk1 = value->rValue;
2395 mod->BSIM4v5pk1Given = TRUE;
2396 break;
2397 case BSIM4v5_MOD_PKT1:
2398 mod->BSIM4v5pkt1 = value->rValue;
2399 mod->BSIM4v5pkt1Given = TRUE;
2400 break;
2401 case BSIM4v5_MOD_PKT1L:
2402 mod->BSIM4v5pkt1l = value->rValue;
2403 mod->BSIM4v5pkt1lGiven = TRUE;
2404 break;
2405 case BSIM4v5_MOD_PKT2:
2406 mod->BSIM4v5pkt2 = value->rValue;
2407 mod->BSIM4v5pkt2Given = TRUE;
2408 break;
2409 case BSIM4v5_MOD_PK2:
2410 mod->BSIM4v5pk2 = value->rValue;
2411 mod->BSIM4v5pk2Given = TRUE;
2412 break;
2413 case BSIM4v5_MOD_PK3:
2414 mod->BSIM4v5pk3 = value->rValue;
2415 mod->BSIM4v5pk3Given = TRUE;
2416 break;
2417 case BSIM4v5_MOD_PK3B:
2418 mod->BSIM4v5pk3b = value->rValue;
2419 mod->BSIM4v5pk3bGiven = TRUE;
2420 break;
2421 case BSIM4v5_MOD_PLPE0:
2422 mod->BSIM4v5plpe0 = value->rValue;
2423 mod->BSIM4v5plpe0Given = TRUE;
2424 break;
2425 case BSIM4v5_MOD_PLPEB:
2426 mod->BSIM4v5plpeb = value->rValue;
2427 mod->BSIM4v5plpebGiven = TRUE;
2428 break;
2429 case BSIM4v5_MOD_PDVTP0:
2430 mod->BSIM4v5pdvtp0 = value->rValue;
2431 mod->BSIM4v5pdvtp0Given = TRUE;
2432 break;
2433 case BSIM4v5_MOD_PDVTP1:
2434 mod->BSIM4v5pdvtp1 = value->rValue;
2435 mod->BSIM4v5pdvtp1Given = TRUE;
2436 break;
2437 case BSIM4v5_MOD_PW0:
2438 mod->BSIM4v5pw0 = value->rValue;
2439 mod->BSIM4v5pw0Given = TRUE;
2440 break;
2441 case BSIM4v5_MOD_PDVT0:
2442 mod->BSIM4v5pdvt0 = value->rValue;
2443 mod->BSIM4v5pdvt0Given = TRUE;
2444 break;
2445 case BSIM4v5_MOD_PDVT1:
2446 mod->BSIM4v5pdvt1 = value->rValue;
2447 mod->BSIM4v5pdvt1Given = TRUE;
2448 break;
2449 case BSIM4v5_MOD_PDVT2:
2450 mod->BSIM4v5pdvt2 = value->rValue;
2451 mod->BSIM4v5pdvt2Given = TRUE;
2452 break;
2453 case BSIM4v5_MOD_PDVT0W:
2454 mod->BSIM4v5pdvt0w = value->rValue;
2455 mod->BSIM4v5pdvt0wGiven = TRUE;
2456 break;
2457 case BSIM4v5_MOD_PDVT1W:
2458 mod->BSIM4v5pdvt1w = value->rValue;
2459 mod->BSIM4v5pdvt1wGiven = TRUE;
2460 break;
2461 case BSIM4v5_MOD_PDVT2W:
2462 mod->BSIM4v5pdvt2w = value->rValue;
2463 mod->BSIM4v5pdvt2wGiven = TRUE;
2464 break;
2465 case BSIM4v5_MOD_PDROUT:
2466 mod->BSIM4v5pdrout = value->rValue;
2467 mod->BSIM4v5pdroutGiven = TRUE;
2468 break;
2469 case BSIM4v5_MOD_PDSUB:
2470 mod->BSIM4v5pdsub = value->rValue;
2471 mod->BSIM4v5pdsubGiven = TRUE;
2472 break;
2473 case BSIM4v5_MOD_PVTH0:
2474 mod->BSIM4v5pvth0 = value->rValue;
2475 mod->BSIM4v5pvth0Given = TRUE;
2476 break;
2477 case BSIM4v5_MOD_PUA:
2478 mod->BSIM4v5pua = value->rValue;
2479 mod->BSIM4v5puaGiven = TRUE;
2480 break;
2481 case BSIM4v5_MOD_PUA1:
2482 mod->BSIM4v5pua1 = value->rValue;
2483 mod->BSIM4v5pua1Given = TRUE;
2484 break;
2485 case BSIM4v5_MOD_PUB:
2486 mod->BSIM4v5pub = value->rValue;
2487 mod->BSIM4v5pubGiven = TRUE;
2488 break;
2489 case BSIM4v5_MOD_PUB1:
2490 mod->BSIM4v5pub1 = value->rValue;
2491 mod->BSIM4v5pub1Given = TRUE;
2492 break;
2493 case BSIM4v5_MOD_PUC:
2494 mod->BSIM4v5puc = value->rValue;
2495 mod->BSIM4v5pucGiven = TRUE;
2496 break;
2497 case BSIM4v5_MOD_PUC1:
2498 mod->BSIM4v5puc1 = value->rValue;
2499 mod->BSIM4v5puc1Given = TRUE;
2500 break;
2501 case BSIM4v5_MOD_PU0 :
2502 mod->BSIM4v5pu0 = value->rValue;
2503 mod->BSIM4v5pu0Given = TRUE;
2504 break;
2505 case BSIM4v5_MOD_PUTE :
2506 mod->BSIM4v5pute = value->rValue;
2507 mod->BSIM4v5puteGiven = TRUE;
2508 break;
2509 case BSIM4v5_MOD_PVOFF:
2510 mod->BSIM4v5pvoff = value->rValue;
2511 mod->BSIM4v5pvoffGiven = TRUE;
2512 break;
2513 case BSIM4v5_MOD_PTVOFF:
2514 mod->BSIM4v5ptvoff = value->rValue;
2515 mod->BSIM4v5ptvoffGiven = TRUE;
2516 break;
2517 case BSIM4v5_MOD_PMINV:
2518 mod->BSIM4v5pminv = value->rValue;
2519 mod->BSIM4v5pminvGiven = TRUE;
2520 break;
2521 case BSIM4v5_MOD_PFPROUT:
2522 mod->BSIM4v5pfprout = value->rValue;
2523 mod->BSIM4v5pfproutGiven = TRUE;
2524 break;
2525 case BSIM4v5_MOD_PPDITS:
2526 mod->BSIM4v5ppdits = value->rValue;
2527 mod->BSIM4v5ppditsGiven = TRUE;
2528 break;
2529 case BSIM4v5_MOD_PPDITSD:
2530 mod->BSIM4v5ppditsd = value->rValue;
2531 mod->BSIM4v5ppditsdGiven = TRUE;
2532 break;
2533 case BSIM4v5_MOD_PDELTA :
2534 mod->BSIM4v5pdelta = value->rValue;
2535 mod->BSIM4v5pdeltaGiven = TRUE;
2536 break;
2537 case BSIM4v5_MOD_PRDSW:
2538 mod->BSIM4v5prdsw = value->rValue;
2539 mod->BSIM4v5prdswGiven = TRUE;
2540 break;
2541 case BSIM4v5_MOD_PRDW:
2542 mod->BSIM4v5prdw = value->rValue;
2543 mod->BSIM4v5prdwGiven = TRUE;
2544 break;
2545 case BSIM4v5_MOD_PRSW:
2546 mod->BSIM4v5prsw = value->rValue;
2547 mod->BSIM4v5prswGiven = TRUE;
2548 break;
2549 case BSIM4v5_MOD_PPRWB:
2550 mod->BSIM4v5pprwb = value->rValue;
2551 mod->BSIM4v5pprwbGiven = TRUE;
2552 break;
2553 case BSIM4v5_MOD_PPRWG:
2554 mod->BSIM4v5pprwg = value->rValue;
2555 mod->BSIM4v5pprwgGiven = TRUE;
2556 break;
2557 case BSIM4v5_MOD_PPRT:
2558 mod->BSIM4v5pprt = value->rValue;
2559 mod->BSIM4v5pprtGiven = TRUE;
2560 break;
2561 case BSIM4v5_MOD_PETA0:
2562 mod->BSIM4v5peta0 = value->rValue;
2563 mod->BSIM4v5peta0Given = TRUE;
2564 break;
2565 case BSIM4v5_MOD_PETAB:
2566 mod->BSIM4v5petab = value->rValue;
2567 mod->BSIM4v5petabGiven = TRUE;
2568 break;
2569 case BSIM4v5_MOD_PPCLM:
2570 mod->BSIM4v5ppclm = value->rValue;
2571 mod->BSIM4v5ppclmGiven = TRUE;
2572 break;
2573 case BSIM4v5_MOD_PPDIBL1:
2574 mod->BSIM4v5ppdibl1 = value->rValue;
2575 mod->BSIM4v5ppdibl1Given = TRUE;
2576 break;
2577 case BSIM4v5_MOD_PPDIBL2:
2578 mod->BSIM4v5ppdibl2 = value->rValue;
2579 mod->BSIM4v5ppdibl2Given = TRUE;
2580 break;
2581 case BSIM4v5_MOD_PPDIBLB:
2582 mod->BSIM4v5ppdiblb = value->rValue;
2583 mod->BSIM4v5ppdiblbGiven = TRUE;
2584 break;
2585 case BSIM4v5_MOD_PPSCBE1:
2586 mod->BSIM4v5ppscbe1 = value->rValue;
2587 mod->BSIM4v5ppscbe1Given = TRUE;
2588 break;
2589 case BSIM4v5_MOD_PPSCBE2:
2590 mod->BSIM4v5ppscbe2 = value->rValue;
2591 mod->BSIM4v5ppscbe2Given = TRUE;
2592 break;
2593 case BSIM4v5_MOD_PPVAG:
2594 mod->BSIM4v5ppvag = value->rValue;
2595 mod->BSIM4v5ppvagGiven = TRUE;
2596 break;
2597 case BSIM4v5_MOD_PWR :
2598 mod->BSIM4v5pwr = value->rValue;
2599 mod->BSIM4v5pwrGiven = TRUE;
2600 break;
2601 case BSIM4v5_MOD_PDWG :
2602 mod->BSIM4v5pdwg = value->rValue;
2603 mod->BSIM4v5pdwgGiven = TRUE;
2604 break;
2605 case BSIM4v5_MOD_PDWB :
2606 mod->BSIM4v5pdwb = value->rValue;
2607 mod->BSIM4v5pdwbGiven = TRUE;
2608 break;
2609 case BSIM4v5_MOD_PB0 :
2610 mod->BSIM4v5pb0 = value->rValue;
2611 mod->BSIM4v5pb0Given = TRUE;
2612 break;
2613 case BSIM4v5_MOD_PB1 :
2614 mod->BSIM4v5pb1 = value->rValue;
2615 mod->BSIM4v5pb1Given = TRUE;
2616 break;
2617 case BSIM4v5_MOD_PALPHA0 :
2618 mod->BSIM4v5palpha0 = value->rValue;
2619 mod->BSIM4v5palpha0Given = TRUE;
2620 break;
2621 case BSIM4v5_MOD_PALPHA1 :
2622 mod->BSIM4v5palpha1 = value->rValue;
2623 mod->BSIM4v5palpha1Given = TRUE;
2624 break;
2625 case BSIM4v5_MOD_PBETA0 :
2626 mod->BSIM4v5pbeta0 = value->rValue;
2627 mod->BSIM4v5pbeta0Given = TRUE;
2628 break;
2629 case BSIM4v5_MOD_PAGIDL :
2630 mod->BSIM4v5pagidl = value->rValue;
2631 mod->BSIM4v5pagidlGiven = TRUE;
2632 break;
2633 case BSIM4v5_MOD_PBGIDL :
2634 mod->BSIM4v5pbgidl = value->rValue;
2635 mod->BSIM4v5pbgidlGiven = TRUE;
2636 break;
2637 case BSIM4v5_MOD_PCGIDL :
2638 mod->BSIM4v5pcgidl = value->rValue;
2639 mod->BSIM4v5pcgidlGiven = TRUE;
2640 break;
2641 case BSIM4v5_MOD_PPHIN :
2642 mod->BSIM4v5pphin = value->rValue;
2643 mod->BSIM4v5pphinGiven = TRUE;
2644 break;
2645 case BSIM4v5_MOD_PEGIDL :
2646 mod->BSIM4v5pegidl = value->rValue;
2647 mod->BSIM4v5pegidlGiven = TRUE;
2648 break;
2649 case BSIM4v5_MOD_PAIGC :
2650 mod->BSIM4v5paigc = value->rValue;
2651 mod->BSIM4v5paigcGiven = TRUE;
2652 break;
2653 case BSIM4v5_MOD_PBIGC :
2654 mod->BSIM4v5pbigc = value->rValue;
2655 mod->BSIM4v5pbigcGiven = TRUE;
2656 break;
2657 case BSIM4v5_MOD_PCIGC :
2658 mod->BSIM4v5pcigc = value->rValue;
2659 mod->BSIM4v5pcigcGiven = TRUE;
2660 break;
2661 case BSIM4v5_MOD_PAIGSD :
2662 mod->BSIM4v5paigsd = value->rValue;
2663 mod->BSIM4v5paigsdGiven = TRUE;
2664 break;
2665 case BSIM4v5_MOD_PBIGSD :
2666 mod->BSIM4v5pbigsd = value->rValue;
2667 mod->BSIM4v5pbigsdGiven = TRUE;
2668 break;
2669 case BSIM4v5_MOD_PCIGSD :
2670 mod->BSIM4v5pcigsd = value->rValue;
2671 mod->BSIM4v5pcigsdGiven = TRUE;
2672 break;
2673 case BSIM4v5_MOD_PAIGBACC :
2674 mod->BSIM4v5paigbacc = value->rValue;
2675 mod->BSIM4v5paigbaccGiven = TRUE;
2676 break;
2677 case BSIM4v5_MOD_PBIGBACC :
2678 mod->BSIM4v5pbigbacc = value->rValue;
2679 mod->BSIM4v5pbigbaccGiven = TRUE;
2680 break;
2681 case BSIM4v5_MOD_PCIGBACC :
2682 mod->BSIM4v5pcigbacc = value->rValue;
2683 mod->BSIM4v5pcigbaccGiven = TRUE;
2684 break;
2685 case BSIM4v5_MOD_PAIGBINV :
2686 mod->BSIM4v5paigbinv = value->rValue;
2687 mod->BSIM4v5paigbinvGiven = TRUE;
2688 break;
2689 case BSIM4v5_MOD_PBIGBINV :
2690 mod->BSIM4v5pbigbinv = value->rValue;
2691 mod->BSIM4v5pbigbinvGiven = TRUE;
2692 break;
2693 case BSIM4v5_MOD_PCIGBINV :
2694 mod->BSIM4v5pcigbinv = value->rValue;
2695 mod->BSIM4v5pcigbinvGiven = TRUE;
2696 break;
2697 case BSIM4v5_MOD_PNIGC :
2698 mod->BSIM4v5pnigc = value->rValue;
2699 mod->BSIM4v5pnigcGiven = TRUE;
2700 break;
2701 case BSIM4v5_MOD_PNIGBINV :
2702 mod->BSIM4v5pnigbinv = value->rValue;
2703 mod->BSIM4v5pnigbinvGiven = TRUE;
2704 break;
2705 case BSIM4v5_MOD_PNIGBACC :
2706 mod->BSIM4v5pnigbacc = value->rValue;
2707 mod->BSIM4v5pnigbaccGiven = TRUE;
2708 break;
2709 case BSIM4v5_MOD_PNTOX :
2710 mod->BSIM4v5pntox = value->rValue;
2711 mod->BSIM4v5pntoxGiven = TRUE;
2712 break;
2713 case BSIM4v5_MOD_PEIGBINV :
2714 mod->BSIM4v5peigbinv = value->rValue;
2715 mod->BSIM4v5peigbinvGiven = TRUE;
2716 break;
2717 case BSIM4v5_MOD_PPIGCD :
2718 mod->BSIM4v5ppigcd = value->rValue;
2719 mod->BSIM4v5ppigcdGiven = TRUE;
2720 break;
2721 case BSIM4v5_MOD_PPOXEDGE :
2722 mod->BSIM4v5ppoxedge = value->rValue;
2723 mod->BSIM4v5ppoxedgeGiven = TRUE;
2724 break;
2725 case BSIM4v5_MOD_PXRCRG1 :
2726 mod->BSIM4v5pxrcrg1 = value->rValue;
2727 mod->BSIM4v5pxrcrg1Given = TRUE;
2728 break;
2729 case BSIM4v5_MOD_PXRCRG2 :
2730 mod->BSIM4v5pxrcrg2 = value->rValue;
2731 mod->BSIM4v5pxrcrg2Given = TRUE;
2732 break;
2733 case BSIM4v5_MOD_PLAMBDA :
2734 mod->BSIM4v5plambda = value->rValue;
2735 mod->BSIM4v5plambdaGiven = TRUE;
2736 break;
2737 case BSIM4v5_MOD_PVTL :
2738 mod->BSIM4v5pvtl = value->rValue;
2739 mod->BSIM4v5pvtlGiven = TRUE;
2740 break;
2741 case BSIM4v5_MOD_PXN:
2742 mod->BSIM4v5pxn = value->rValue;
2743 mod->BSIM4v5pxnGiven = TRUE;
2744 break;
2745 case BSIM4v5_MOD_PVFBSDOFF:
2746 mod->BSIM4v5pvfbsdoff = value->rValue;
2747 mod->BSIM4v5pvfbsdoffGiven = TRUE;
2748 break;
2749 case BSIM4v5_MOD_PTVFBSDOFF:
2750 mod->BSIM4v5ptvfbsdoff = value->rValue;
2751 mod->BSIM4v5ptvfbsdoffGiven = TRUE;
2752 break;
2753 case BSIM4v5_MOD_PEU :
2754 mod->BSIM4v5peu = value->rValue;
2755 mod->BSIM4v5peuGiven = TRUE;
2756 break;
2757 case BSIM4v5_MOD_PVFB :
2758 mod->BSIM4v5pvfb = value->rValue;
2759 mod->BSIM4v5pvfbGiven = TRUE;
2760 break;
2761 case BSIM4v5_MOD_PCGSL :
2762 mod->BSIM4v5pcgsl = value->rValue;
2763 mod->BSIM4v5pcgslGiven = TRUE;
2764 break;
2765 case BSIM4v5_MOD_PCGDL :
2766 mod->BSIM4v5pcgdl = value->rValue;
2767 mod->BSIM4v5pcgdlGiven = TRUE;
2768 break;
2769 case BSIM4v5_MOD_PCKAPPAS :
2770 mod->BSIM4v5pckappas = value->rValue;
2771 mod->BSIM4v5pckappasGiven = TRUE;
2772 break;
2773 case BSIM4v5_MOD_PCKAPPAD :
2774 mod->BSIM4v5pckappad = value->rValue;
2775 mod->BSIM4v5pckappadGiven = TRUE;
2776 break;
2777 case BSIM4v5_MOD_PCF :
2778 mod->BSIM4v5pcf = value->rValue;
2779 mod->BSIM4v5pcfGiven = TRUE;
2780 break;
2781 case BSIM4v5_MOD_PCLC :
2782 mod->BSIM4v5pclc = value->rValue;
2783 mod->BSIM4v5pclcGiven = TRUE;
2784 break;
2785 case BSIM4v5_MOD_PCLE :
2786 mod->BSIM4v5pcle = value->rValue;
2787 mod->BSIM4v5pcleGiven = TRUE;
2788 break;
2789 case BSIM4v5_MOD_PVFBCV :
2790 mod->BSIM4v5pvfbcv = value->rValue;
2791 mod->BSIM4v5pvfbcvGiven = TRUE;
2792 break;
2793 case BSIM4v5_MOD_PACDE :
2794 mod->BSIM4v5pacde = value->rValue;
2795 mod->BSIM4v5pacdeGiven = TRUE;
2796 break;
2797 case BSIM4v5_MOD_PMOIN :
2798 mod->BSIM4v5pmoin = value->rValue;
2799 mod->BSIM4v5pmoinGiven = TRUE;
2800 break;
2801 case BSIM4v5_MOD_PNOFF :
2802 mod->BSIM4v5pnoff = value->rValue;
2803 mod->BSIM4v5pnoffGiven = TRUE;
2804 break;
2805 case BSIM4v5_MOD_PVOFFCV :
2806 mod->BSIM4v5pvoffcv = value->rValue;
2807 mod->BSIM4v5pvoffcvGiven = TRUE;
2808 break;
2809
2810 case BSIM4v5_MOD_TNOM :
2811 mod->BSIM4v5tnom = value->rValue + CONSTCtoK;
2812 mod->BSIM4v5tnomGiven = TRUE;
2813 break;
2814 case BSIM4v5_MOD_CGSO :
2815 mod->BSIM4v5cgso = value->rValue;
2816 mod->BSIM4v5cgsoGiven = TRUE;
2817 break;
2818 case BSIM4v5_MOD_CGDO :
2819 mod->BSIM4v5cgdo = value->rValue;
2820 mod->BSIM4v5cgdoGiven = TRUE;
2821 break;
2822 case BSIM4v5_MOD_CGBO :
2823 mod->BSIM4v5cgbo = value->rValue;
2824 mod->BSIM4v5cgboGiven = TRUE;
2825 break;
2826 case BSIM4v5_MOD_XPART :
2827 mod->BSIM4v5xpart = value->rValue;
2828 mod->BSIM4v5xpartGiven = TRUE;
2829 break;
2830 case BSIM4v5_MOD_RSH :
2831 mod->BSIM4v5sheetResistance = value->rValue;
2832 mod->BSIM4v5sheetResistanceGiven = TRUE;
2833 break;
2834 case BSIM4v5_MOD_JSS :
2835 mod->BSIM4v5SjctSatCurDensity = value->rValue;
2836 mod->BSIM4v5SjctSatCurDensityGiven = TRUE;
2837 break;
2838 case BSIM4v5_MOD_JSWS :
2839 mod->BSIM4v5SjctSidewallSatCurDensity = value->rValue;
2840 mod->BSIM4v5SjctSidewallSatCurDensityGiven = TRUE;
2841 break;
2842 case BSIM4v5_MOD_JSWGS :
2843 mod->BSIM4v5SjctGateSidewallSatCurDensity = value->rValue;
2844 mod->BSIM4v5SjctGateSidewallSatCurDensityGiven = TRUE;
2845 break;
2846 case BSIM4v5_MOD_PBS :
2847 mod->BSIM4v5SbulkJctPotential = value->rValue;
2848 mod->BSIM4v5SbulkJctPotentialGiven = TRUE;
2849 break;
2850 case BSIM4v5_MOD_MJS :
2851 mod->BSIM4v5SbulkJctBotGradingCoeff = value->rValue;
2852 mod->BSIM4v5SbulkJctBotGradingCoeffGiven = TRUE;
2853 break;
2854 case BSIM4v5_MOD_PBSWS :
2855 mod->BSIM4v5SsidewallJctPotential = value->rValue;
2856 mod->BSIM4v5SsidewallJctPotentialGiven = TRUE;
2857 break;
2858 case BSIM4v5_MOD_MJSWS :
2859 mod->BSIM4v5SbulkJctSideGradingCoeff = value->rValue;
2860 mod->BSIM4v5SbulkJctSideGradingCoeffGiven = TRUE;
2861 break;
2862 case BSIM4v5_MOD_CJS :
2863 mod->BSIM4v5SunitAreaJctCap = value->rValue;
2864 mod->BSIM4v5SunitAreaJctCapGiven = TRUE;
2865 break;
2866 case BSIM4v5_MOD_CJSWS :
2867 mod->BSIM4v5SunitLengthSidewallJctCap = value->rValue;
2868 mod->BSIM4v5SunitLengthSidewallJctCapGiven = TRUE;
2869 break;
2870 case BSIM4v5_MOD_NJS :
2871 mod->BSIM4v5SjctEmissionCoeff = value->rValue;
2872 mod->BSIM4v5SjctEmissionCoeffGiven = TRUE;
2873 break;
2874 case BSIM4v5_MOD_PBSWGS :
2875 mod->BSIM4v5SGatesidewallJctPotential = value->rValue;
2876 mod->BSIM4v5SGatesidewallJctPotentialGiven = TRUE;
2877 break;
2878 case BSIM4v5_MOD_MJSWGS :
2879 mod->BSIM4v5SbulkJctGateSideGradingCoeff = value->rValue;
2880 mod->BSIM4v5SbulkJctGateSideGradingCoeffGiven = TRUE;
2881 break;
2882 case BSIM4v5_MOD_CJSWGS :
2883 mod->BSIM4v5SunitLengthGateSidewallJctCap = value->rValue;
2884 mod->BSIM4v5SunitLengthGateSidewallJctCapGiven = TRUE;
2885 break;
2886 case BSIM4v5_MOD_XTIS :
2887 mod->BSIM4v5SjctTempExponent = value->rValue;
2888 mod->BSIM4v5SjctTempExponentGiven = TRUE;
2889 break;
2890 case BSIM4v5_MOD_JSD :
2891 mod->BSIM4v5DjctSatCurDensity = value->rValue;
2892 mod->BSIM4v5DjctSatCurDensityGiven = TRUE;
2893 break;
2894 case BSIM4v5_MOD_JSWD :
2895 mod->BSIM4v5DjctSidewallSatCurDensity = value->rValue;
2896 mod->BSIM4v5DjctSidewallSatCurDensityGiven = TRUE;
2897 break;
2898 case BSIM4v5_MOD_JSWGD :
2899 mod->BSIM4v5DjctGateSidewallSatCurDensity = value->rValue;
2900 mod->BSIM4v5DjctGateSidewallSatCurDensityGiven = TRUE;
2901 break;
2902 case BSIM4v5_MOD_PBD :
2903 mod->BSIM4v5DbulkJctPotential = value->rValue;
2904 mod->BSIM4v5DbulkJctPotentialGiven = TRUE;
2905 break;
2906 case BSIM4v5_MOD_MJD :
2907 mod->BSIM4v5DbulkJctBotGradingCoeff = value->rValue;
2908 mod->BSIM4v5DbulkJctBotGradingCoeffGiven = TRUE;
2909 break;
2910 case BSIM4v5_MOD_PBSWD :
2911 mod->BSIM4v5DsidewallJctPotential = value->rValue;
2912 mod->BSIM4v5DsidewallJctPotentialGiven = TRUE;
2913 break;
2914 case BSIM4v5_MOD_MJSWD :
2915 mod->BSIM4v5DbulkJctSideGradingCoeff = value->rValue;
2916 mod->BSIM4v5DbulkJctSideGradingCoeffGiven = TRUE;
2917 break;
2918 case BSIM4v5_MOD_CJD :
2919 mod->BSIM4v5DunitAreaJctCap = value->rValue;
2920 mod->BSIM4v5DunitAreaJctCapGiven = TRUE;
2921 break;
2922 case BSIM4v5_MOD_CJSWD :
2923 mod->BSIM4v5DunitLengthSidewallJctCap = value->rValue;
2924 mod->BSIM4v5DunitLengthSidewallJctCapGiven = TRUE;
2925 break;
2926 case BSIM4v5_MOD_NJD :
2927 mod->BSIM4v5DjctEmissionCoeff = value->rValue;
2928 mod->BSIM4v5DjctEmissionCoeffGiven = TRUE;
2929 break;
2930 case BSIM4v5_MOD_PBSWGD :
2931 mod->BSIM4v5DGatesidewallJctPotential = value->rValue;
2932 mod->BSIM4v5DGatesidewallJctPotentialGiven = TRUE;
2933 break;
2934 case BSIM4v5_MOD_MJSWGD :
2935 mod->BSIM4v5DbulkJctGateSideGradingCoeff = value->rValue;
2936 mod->BSIM4v5DbulkJctGateSideGradingCoeffGiven = TRUE;
2937 break;
2938 case BSIM4v5_MOD_CJSWGD :
2939 mod->BSIM4v5DunitLengthGateSidewallJctCap = value->rValue;
2940 mod->BSIM4v5DunitLengthGateSidewallJctCapGiven = TRUE;
2941 break;
2942 case BSIM4v5_MOD_XTID :
2943 mod->BSIM4v5DjctTempExponent = value->rValue;
2944 mod->BSIM4v5DjctTempExponentGiven = TRUE;
2945 break;
2946 case BSIM4v5_MOD_LINT :
2947 mod->BSIM4v5Lint = value->rValue;
2948 mod->BSIM4v5LintGiven = TRUE;
2949 break;
2950 case BSIM4v5_MOD_LL :
2951 mod->BSIM4v5Ll = value->rValue;
2952 mod->BSIM4v5LlGiven = TRUE;
2953 break;
2954 case BSIM4v5_MOD_LLC :
2955 mod->BSIM4v5Llc = value->rValue;
2956 mod->BSIM4v5LlcGiven = TRUE;
2957 break;
2958 case BSIM4v5_MOD_LLN :
2959 mod->BSIM4v5Lln = value->rValue;
2960 mod->BSIM4v5LlnGiven = TRUE;
2961 break;
2962 case BSIM4v5_MOD_LW :
2963 mod->BSIM4v5Lw = value->rValue;
2964 mod->BSIM4v5LwGiven = TRUE;
2965 break;
2966 case BSIM4v5_MOD_LWC :
2967 mod->BSIM4v5Lwc = value->rValue;
2968 mod->BSIM4v5LwcGiven = TRUE;
2969 break;
2970 case BSIM4v5_MOD_LWN :
2971 mod->BSIM4v5Lwn = value->rValue;
2972 mod->BSIM4v5LwnGiven = TRUE;
2973 break;
2974 case BSIM4v5_MOD_LWL :
2975 mod->BSIM4v5Lwl = value->rValue;
2976 mod->BSIM4v5LwlGiven = TRUE;
2977 break;
2978 case BSIM4v5_MOD_LWLC :
2979 mod->BSIM4v5Lwlc = value->rValue;
2980 mod->BSIM4v5LwlcGiven = TRUE;
2981 break;
2982 case BSIM4v5_MOD_LMIN :
2983 mod->BSIM4v5Lmin = value->rValue;
2984 mod->BSIM4v5LminGiven = TRUE;
2985 break;
2986 case BSIM4v5_MOD_LMAX :
2987 mod->BSIM4v5Lmax = value->rValue;
2988 mod->BSIM4v5LmaxGiven = TRUE;
2989 break;
2990 case BSIM4v5_MOD_WINT :
2991 mod->BSIM4v5Wint = value->rValue;
2992 mod->BSIM4v5WintGiven = TRUE;
2993 break;
2994 case BSIM4v5_MOD_WL :
2995 mod->BSIM4v5Wl = value->rValue;
2996 mod->BSIM4v5WlGiven = TRUE;
2997 break;
2998 case BSIM4v5_MOD_WLC :
2999 mod->BSIM4v5Wlc = value->rValue;
3000 mod->BSIM4v5WlcGiven = TRUE;
3001 break;
3002 case BSIM4v5_MOD_WLN :
3003 mod->BSIM4v5Wln = value->rValue;
3004 mod->BSIM4v5WlnGiven = TRUE;
3005 break;
3006 case BSIM4v5_MOD_WW :
3007 mod->BSIM4v5Ww = value->rValue;
3008 mod->BSIM4v5WwGiven = TRUE;
3009 break;
3010 case BSIM4v5_MOD_WWC :
3011 mod->BSIM4v5Wwc = value->rValue;
3012 mod->BSIM4v5WwcGiven = TRUE;
3013 break;
3014 case BSIM4v5_MOD_WWN :
3015 mod->BSIM4v5Wwn = value->rValue;
3016 mod->BSIM4v5WwnGiven = TRUE;
3017 break;
3018 case BSIM4v5_MOD_WWL :
3019 mod->BSIM4v5Wwl = value->rValue;
3020 mod->BSIM4v5WwlGiven = TRUE;
3021 break;
3022 case BSIM4v5_MOD_WWLC :
3023 mod->BSIM4v5Wwlc = value->rValue;
3024 mod->BSIM4v5WwlcGiven = TRUE;
3025 break;
3026 case BSIM4v5_MOD_WMIN :
3027 mod->BSIM4v5Wmin = value->rValue;
3028 mod->BSIM4v5WminGiven = TRUE;
3029 break;
3030 case BSIM4v5_MOD_WMAX :
3031 mod->BSIM4v5Wmax = value->rValue;
3032 mod->BSIM4v5WmaxGiven = TRUE;
3033 break;
3034
3035 case BSIM4v5_MOD_NOIA :
3036 mod->BSIM4v5oxideTrapDensityA = value->rValue;
3037 mod->BSIM4v5oxideTrapDensityAGiven = TRUE;
3038 break;
3039 case BSIM4v5_MOD_NOIB :
3040 mod->BSIM4v5oxideTrapDensityB = value->rValue;
3041 mod->BSIM4v5oxideTrapDensityBGiven = TRUE;
3042 break;
3043 case BSIM4v5_MOD_NOIC :
3044 mod->BSIM4v5oxideTrapDensityC = value->rValue;
3045 mod->BSIM4v5oxideTrapDensityCGiven = TRUE;
3046 break;
3047 case BSIM4v5_MOD_EM :
3048 mod->BSIM4v5em = value->rValue;
3049 mod->BSIM4v5emGiven = TRUE;
3050 break;
3051 case BSIM4v5_MOD_EF :
3052 mod->BSIM4v5ef = value->rValue;
3053 mod->BSIM4v5efGiven = TRUE;
3054 break;
3055 case BSIM4v5_MOD_AF :
3056 mod->BSIM4v5af = value->rValue;
3057 mod->BSIM4v5afGiven = TRUE;
3058 break;
3059 case BSIM4v5_MOD_KF :
3060 mod->BSIM4v5kf = value->rValue;
3061 mod->BSIM4v5kfGiven = TRUE;
3062 break;
3063
3064 case BSIM4v5_MOD_VGS_MAX:
3065 mod->BSIM4v5vgsMax = value->rValue;
3066 mod->BSIM4v5vgsMaxGiven = TRUE;
3067 break;
3068 case BSIM4v5_MOD_VGD_MAX:
3069 mod->BSIM4v5vgdMax = value->rValue;
3070 mod->BSIM4v5vgdMaxGiven = TRUE;
3071 break;
3072 case BSIM4v5_MOD_VGB_MAX:
3073 mod->BSIM4v5vgbMax = value->rValue;
3074 mod->BSIM4v5vgbMaxGiven = TRUE;
3075 break;
3076 case BSIM4v5_MOD_VDS_MAX:
3077 mod->BSIM4v5vdsMax = value->rValue;
3078 mod->BSIM4v5vdsMaxGiven = TRUE;
3079 break;
3080 case BSIM4v5_MOD_VBS_MAX:
3081 mod->BSIM4v5vbsMax = value->rValue;
3082 mod->BSIM4v5vbsMaxGiven = TRUE;
3083 break;
3084 case BSIM4v5_MOD_VBD_MAX:
3085 mod->BSIM4v5vbdMax = value->rValue;
3086 mod->BSIM4v5vbdMaxGiven = TRUE;
3087 break;
3088 case BSIM4v5_MOD_VGSR_MAX:
3089 mod->BSIM4v5vgsrMax = value->rValue;
3090 mod->BSIM4v5vgsrMaxGiven = TRUE;
3091 break;
3092 case BSIM4v5_MOD_VGDR_MAX:
3093 mod->BSIM4v5vgdrMax = value->rValue;
3094 mod->BSIM4v5vgdrMaxGiven = TRUE;
3095 break;
3096 case BSIM4v5_MOD_VGBR_MAX:
3097 mod->BSIM4v5vgbrMax = value->rValue;
3098 mod->BSIM4v5vgbrMaxGiven = TRUE;
3099 break;
3100 case BSIM4v5_MOD_VBSR_MAX:
3101 mod->BSIM4v5vbsrMax = value->rValue;
3102 mod->BSIM4v5vbsrMaxGiven = TRUE;
3103 break;
3104 case BSIM4v5_MOD_VBDR_MAX:
3105 mod->BSIM4v5vbdrMax = value->rValue;
3106 mod->BSIM4v5vbdrMaxGiven = TRUE;
3107 break;
3108
3109 case BSIM4v5_MOD_NMOS :
3110 if(value->iValue) {
3111 mod->BSIM4v5type = 1;
3112 mod->BSIM4v5typeGiven = TRUE;
3113 }
3114 break;
3115 case BSIM4v5_MOD_PMOS :
3116 if(value->iValue) {
3117 mod->BSIM4v5type = - 1;
3118 mod->BSIM4v5typeGiven = TRUE;
3119 }
3120 break;
3121 default:
3122 return(E_BADPARM);
3123 }
3124 return(OK);
3125 }
3126
3127
3128