Jspice3
swmparam.c
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1985 Gordon M. Jacobs
5  1992 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 #include "spice.h"
9 #include <stdio.h>
10 #include "swdefs.h"
11 #include "sperror.h"
12 #include "util.h"
13 
14 
15 int
16 SWmParam(param,value,inModel)
17 
18 int param;
19 IFvalue *value;
20 GENmodel *inModel;
21 {
22  SWmodel *model = (SWmodel *)inModel;
23 
24  switch (param) {
25 
26  case SW_MOD_SW:
27  /* just says that this is a switch */
28  break;
29  case SW_MOD_RON:
30  model->SWonResistance = value->rValue;
31  model->SWonConduct = 1.0/(value->rValue);
32  model->SWonGiven = TRUE;
33  break;
34  case SW_MOD_ROFF:
35  model->SWoffResistance = value->rValue;
36  model->SWoffConduct = 1.0/(value->rValue);
37  model->SWoffGiven = TRUE;
38  break;
39  case SW_MOD_VTH:
40  model->SWvThreshold = value->rValue;
41  model->SWvThreshGiven = TRUE;
42  break;
43  case SW_MOD_VHYS:
44  /* take absolute value of hysteresis voltage */
45  model->SWvHysteresis = FABS(value->rValue);
46  model->SWvHystGiven = TRUE;
47  break;
48  case SW_MOD_ITH:
49  model->SWiThreshold = value->rValue;
50  model->SWiThreshGiven = TRUE;
51  break;
52  case SW_MOD_IHYS:
53  /* take absolute value of hysteresis current */
54  model->SWiHysteresis = FABS(value->rValue);
55  model->SWiHystGiven = TRUE;
56  break;
57  default:
58  return(E_BADPARM);
59  }
60  return(OK);
61 }
#define SW_MOD_IHYS
Definition: swdefs.h:103
double SWiHysteresis
Definition: swdefs.h:71
unsigned SWiHystGiven
Definition: swdefs.h:81
#define SW_MOD_VTH
Definition: swdefs.h:100
#define E_BADPARM
Definition: iferrmsg.h:26
unsigned SWonGiven
Definition: swdefs.h:76
#define TRUE
Definition: util.h:27
#define SW_MOD_SW
Definition: swdefs.h:97
double rValue
Definition: ifsim.h:233
double SWonResistance
Definition: swdefs.h:66
unsigned SWiThreshGiven
Definition: swdefs.h:80
#define SW_MOD_RON
Definition: swdefs.h:98
int SWmParam(int param, IFvalue *value, GENmodel *inModel)
Definition: swmparam.c:16
unsigned SWoffGiven
Definition: swdefs.h:77
#define OK
Definition: iferrmsg.h:17
double SWvHysteresis
Definition: swdefs.h:69
double SWvThreshold
Definition: swdefs.h:68
double SWonConduct
Definition: swdefs.h:72
#define SW_MOD_ROFF
Definition: swdefs.h:99
static char model[32]
Definition: subckt.c:76
unsigned SWvHystGiven
Definition: swdefs.h:79
#define FABS(a)
Definition: util.h:41
#define SW_MOD_VHYS
Definition: swdefs.h:101
double SWiThreshold
Definition: swdefs.h:70
#define SW_MOD_ITH
Definition: swdefs.h:102
double SWoffConduct
Definition: swdefs.h:73
double SWoffResistance
Definition: swdefs.h:67
unsigned SWvThreshGiven
Definition: swdefs.h:78