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