1 /* asg_module.h */
2 
3 #ifndef _ASG_MODULE_H
4 #define _ASG_MODULE_H
5 
6 /* The "ModuleType" enum represents the types of modules that are
7  * available in the xcircuit library asgspice.lps
8  */
9 enum ModuleType { UNKNOWN_ASG, CAPACITOR_ASG, INDUCTOR_ASG, RESISTOR_ASG,
10     NMOS_ASG, PMOS_ASG, PMOS_4_ASG, NMOS_4_ASG, VSOURCE_ASG, ISOURCE_ASG,
11    NOT_ASG, INVNOT_ASG, AND_ASG, NAND_ASG, OR_ASG, NOR_ASG, XOR_ASG, XNOR_ASG,
12    BUFFER_ASG, INPUT_SYM_ASG, OUTPUT_SYM_ASG, INOUT_SYM_ASG, BLOCK_ASG };
13 
14 /* OLD mod->type string comparisons, used mostly in printing */
15 #define GATE_AND_STR    "AND"
16 #define GATE_OR_STR     "OR"
17 #define GATE_NAND_STR   "NAND"
18 #define GATE_NOR_STR    "NOR"
19 #define GATE_XOR_STR    "XOR"
20 #define GATE_XNOR_STR   "XNOR"
21 #define GATE_NOT_STR    "NOT"
22 #define GATE_NMOS_STR   "NMOS"
23 #define GATE_PMOS_STR	"PMOS"
24 #define GATE_NMOS_4_STR "NMOS_4"
25 #define GATE_PMOS_4_STR	"PMOS_4"
26 #define GATE_CAPC_STR	"CAPC"
27 #define GATE_RESTR_STR	"RESTR"
28 #define GATE_INDR_STR	"INDR"
29 #define GATE_VAMP_STR   "VAMP"
30 #define GATE_IAMP_STR   "IAMP"
31 #define GATE_MSFET_STR  "MSFET"
32 #define GATE_INVNOT_STR "INVNOT"
33 #define GATE_VSOURCE	"VSOURCE"
34 #define GATE_ISOURCE	"ISOURCE"
35 #define GATE_NULL_STR   "NL_GATE"
36 
37 
38 int xc_print_asg_module(XCWindowData *areastruct, module *m);
39 
40 char *toString(int mt);
41 int toModuleType(char *mtName);
42 
43 #endif
44