Jspice3
mesmpar.c
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1985 S. Hwang
5  1993 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 #include "spice.h"
9 #include <stdio.h>
10 #include "mesdefs.h"
11 #include "sperror.h"
12 #include "util.h"
13 
14 
15 int
16 MESmParam(param,value,inModel)
17 
18 int param;
19 IFvalue *value;
20 GENmodel *inModel;
21 {
22  MESmodel *model = (MESmodel*)inModel;
23 
24  switch (param) {
25 
26  case MES_MOD_VTO:
27  model->MESthresholdGiven = TRUE;
28  model->MESthreshold = value->rValue;
29  break;
30  case MES_MOD_ALPHA:
31  model->MESalphaGiven = TRUE;
32  model->MESalpha = value->rValue;
33  break;
34  case MES_MOD_BETA:
35  model->MESbetaGiven = TRUE;
36  model->MESbeta = value->rValue;
37  break;
38  case MES_MOD_LAMBDA:
39  model->MESlModulationGiven = TRUE;
40  model->MESlModulation = value->rValue;
41  break;
42  case MES_MOD_B:
43  model->MESbGiven = TRUE;
44  model->MESb = value->rValue;
45  break;
46  case MES_MOD_RD:
47  model->MESdrainResistGiven = TRUE;
48  model->MESdrainResist = value->rValue;
49  break;
50  case MES_MOD_RS:
51  model->MESsourceResistGiven = TRUE;
52  model->MESsourceResist = value->rValue;
53  break;
54  case MES_MOD_CGS:
55  model->MEScapGSGiven = TRUE;
56  model->MEScapGS = value->rValue;
57  break;
58  case MES_MOD_CGD:
59  model->MEScapGDGiven = TRUE;
60  model->MEScapGD = value->rValue;
61  break;
62  case MES_MOD_PB:
63  model->MESgatePotentialGiven = TRUE;
64  model->MESgatePotential = value->rValue;
65  break;
66  case MES_MOD_IS:
68  model->MESgateSatCurrent = value->rValue;
69  break;
70  case MES_MOD_FC:
72  model->MESdepletionCapCoeff = value->rValue;
73  break;
74  case MES_MOD_NMF:
75  if(value->iValue) {
76  model->MEStype = NMF;
77  }
78  break;
79  case MES_MOD_PMF:
80  if(value->iValue) {
81  model->MEStype = PMF;
82  }
83  break;
84  case MES_MOD_KF:
85  model->MESfNcoefGiven = TRUE;
86  model->MESfNcoef = value->rValue;
87  break;
88  case MES_MOD_AF:
89  model->MESfNexpGiven = TRUE;
90  model->MESfNexp = value->rValue;
91  break;
92  default:
93  return (E_BADPARM);
94  }
95  return (OK);
96 }
97 
#define MES_MOD_PMF
Definition: mesdefs.h:239
int MEStype
Definition: mesdefs.h:166
#define NMF
Definition: mesdefs.h:211
unsigned MESfNexpGiven
Definition: mesdefs.h:204
#define MES_MOD_IS
Definition: mesdefs.h:236
int MESmParam(int param, IFvalue *value, GENmodel *inModel)
Definition: mesmpar.c:16
unsigned MEScapGSGiven
Definition: mesdefs.h:198
unsigned MESfNcoefGiven
Definition: mesdefs.h:203
double MESsourceResist
Definition: mesdefs.h:174
unsigned MESsourceResistGiven
Definition: mesdefs.h:197
unsigned MEScapGDGiven
Definition: mesdefs.h:199
double MESlModulation
Definition: mesdefs.h:171
double MESfNexp
Definition: mesdefs.h:181
#define MES_MOD_AF
Definition: mesdefs.h:241
double MESdrainResist
Definition: mesdefs.h:173
#define E_BADPARM
Definition: iferrmsg.h:26
unsigned MESgateSatCurrentGiven
Definition: mesdefs.h:201
double MESdepletionCapCoeff
Definition: mesdefs.h:179
#define TRUE
Definition: util.h:27
unsigned MESlModulationGiven
Definition: mesdefs.h:194
int iValue
Definition: ifsim.h:232
double MEScapGS
Definition: mesdefs.h:175
double MESalpha
Definition: mesdefs.h:169
double rValue
Definition: ifsim.h:233
unsigned MESthresholdGiven
Definition: mesdefs.h:191
unsigned MESbetaGiven
Definition: mesdefs.h:193
#define MES_MOD_ALPHA
Definition: mesdefs.h:227
#define MES_MOD_LAMBDA
Definition: mesdefs.h:229
#define MES_MOD_RD
Definition: mesdefs.h:231
#define OK
Definition: iferrmsg.h:17
unsigned MESdepletionCapCoeffGiven
Definition: mesdefs.h:202
#define MES_MOD_BETA
Definition: mesdefs.h:228
#define MES_MOD_PB
Definition: mesdefs.h:235
unsigned MESbGiven
Definition: mesdefs.h:195
double MESgatePotential
Definition: mesdefs.h:177
#define MES_MOD_RS
Definition: mesdefs.h:232
double MESb
Definition: mesdefs.h:172
#define PMF
Definition: mesdefs.h:212
double MESthreshold
Definition: mesdefs.h:168
static char model[32]
Definition: subckt.c:76
unsigned MESgatePotentialGiven
Definition: mesdefs.h:200
#define MES_MOD_B
Definition: mesdefs.h:230
unsigned MESdrainResistGiven
Definition: mesdefs.h:196
double MEScapGD
Definition: mesdefs.h:176
#define MES_MOD_FC
Definition: mesdefs.h:237
#define MES_MOD_KF
Definition: mesdefs.h:240
#define MES_MOD_VTO
Definition: mesdefs.h:226
#define MES_MOD_CGS
Definition: mesdefs.h:233
#define MES_MOD_CGD
Definition: mesdefs.h:234
unsigned MESalphaGiven
Definition: mesdefs.h:192
double MESbeta
Definition: mesdefs.h:170
double MESfNcoef
Definition: mesdefs.h:180
#define MES_MOD_NMF
Definition: mesdefs.h:238
double MESgateSatCurrent
Definition: mesdefs.h:178