Jspice3
diomask.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 Thomas L. Quarles
5  1992 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 #include "spice.h"
9 #include <stdio.h>
10 #include "diodefs.h"
11 #include "sperror.h"
12 #include "const.h"
13 
14 
15 /* ARGSUSED */
16 int
17 DIOmAsk (ckt,inModel,which, value)
18 
19 CKTcircuit *ckt;
20 int which;
21 IFvalue *value;
22 GENmodel *inModel;
23 {
24  DIOmodel *model = (DIOmodel*)inModel;
25 
26  switch (which) {
27  case DIO_MOD_IS:
28  value->rValue = model->DIOsatCur;
29  break;
30  case DIO_MOD_RS:
31  value->rValue = model->DIOresist;
32  break;
33  case DIO_MOD_N:
34  value->rValue = model->DIOemissionCoeff;
35  break;
36  case DIO_MOD_TT:
37  value->rValue = model->DIOtransitTime;
38  break;
39  case DIO_MOD_CJO:
40  value->rValue = model->DIOjunctionCap;
41  break;
42  case DIO_MOD_VJ:
43  value->rValue = model->DIOjunctionPot;
44  break;
45  case DIO_MOD_M:
46  value->rValue = model->DIOgradingCoeff;
47  break;
48  case DIO_MOD_EG:
49  value->rValue = model->DIOactivationEnergy;
50  break;
51  case DIO_MOD_XTI:
52  value->rValue = model->DIOsaturationCurrentExp;
53  break;
54  case DIO_MOD_FC:
55  value->rValue = model->DIOdepletionCapCoeff;
56  break;
57  case DIO_MOD_BV:
58  value->rValue = model->DIObreakdownVoltage;
59  break;
60  case DIO_MOD_IBV:
61  value->rValue = model->DIObreakdownCurrent;
62  break;
63  case DIO_MOD_COND:
64  value->rValue = model->DIOconductance;
65  break;
66  case DIO_MOD_TNOM:
67  value->rValue = model->DIOnomTemp-CONSTCtoK;
68  break;
69  default:
70  return (E_BADPARM);
71  }
72  return (OK);
73 }
74 
double DIOactivationEnergy
Definition: diodefs.h:149
#define DIO_MOD_IBV
Definition: diodefs.h:190
#define DIO_MOD_TNOM
Definition: diodefs.h:193
#define DIO_MOD_VJ
Definition: diodefs.h:184
#define DIO_MOD_RS
Definition: diodefs.h:180
#define CONSTCtoK
Definition: const.h:11
#define E_BADPARM
Definition: iferrmsg.h:26
int DIOmAsk(CKTcircuit *ckt, GENmodel *inModel, int which, IFvalue *value)
Definition: diomask.c:17
double rValue
Definition: ifsim.h:233
double DIOtransitTime
Definition: diodefs.h:145
#define DIO_MOD_N
Definition: diodefs.h:181
double DIOjunctionCap
Definition: diodefs.h:146
double DIOdepletionCapCoeff
Definition: diodefs.h:151
double DIObreakdownVoltage
Definition: diodefs.h:152
#define OK
Definition: iferrmsg.h:17
double DIOconductance
Definition: diodefs.h:143
double DIOsaturationCurrentExp
Definition: diodefs.h:150
#define DIO_MOD_FC
Definition: diodefs.h:188
double DIOemissionCoeff
Definition: diodefs.h:144
#define DIO_MOD_EG
Definition: diodefs.h:186
#define DIO_MOD_BV
Definition: diodefs.h:189
#define DIO_MOD_IS
Definition: diodefs.h:179
static char model[32]
Definition: subckt.c:76
#define DIO_MOD_M
Definition: diodefs.h:185
#define DIO_MOD_CJO
Definition: diodefs.h:183
double DIObreakdownCurrent
Definition: diodefs.h:153
#define DIO_MOD_COND
Definition: diodefs.h:192
double DIOnomTemp
Definition: diodefs.h:156
double DIOjunctionPot
Definition: diodefs.h:147
#define DIO_MOD_TT
Definition: diodefs.h:182
#define DIO_MOD_XTI
Definition: diodefs.h:187
double DIOsatCur
Definition: diodefs.h:141
double DIOresist
Definition: diodefs.h:142
double DIOgradingCoeff
Definition: diodefs.h:148