1 /**CFile**************************************************************** 2 3 FileName [cbaTypes.h] 4 5 SystemName [ABC: Logic synthesis and verification system.] 6 7 PackageName [Hierarchical word-level netlist.] 8 9 Synopsis [External declarations.] 10 11 Author [Alan Mishchenko] 12 13 Affiliation [UC Berkeley] 14 15 Date [Ver. 1.0. Started - July 21, 2015.] 16 17 Revision [$Id: cbaTypes.h,v 1.00 2014/11/29 00:00:00 alanmi Exp $] 18 19 ***********************************************************************/ 20 21 #ifndef ABC__base__cba__cba__types_h 22 #define ABC__base__cba__cba__types_h 23 24 //////////////////////////////////////////////////////////////////////// 25 /// INCLUDES /// 26 //////////////////////////////////////////////////////////////////////// 27 28 //////////////////////////////////////////////////////////////////////// 29 /// PARAMETERS /// 30 //////////////////////////////////////////////////////////////////////// 31 32 ABC_NAMESPACE_HEADER_START 33 34 //////////////////////////////////////////////////////////////////////// 35 /// BASIC TYPES /// 36 //////////////////////////////////////////////////////////////////////// 37 38 // network objects 39 typedef enum { 40 CBA_OBJ_NONE = 0, // 00: unused 41 CBA_OBJ_PI, // 01: input 42 CBA_OBJ_PO, // 02: output 43 CBA_OBJ_BOX, // 03: box 44 45 CBA_BOX_CF, // 04: 46 CBA_BOX_CT, // 05: 47 CBA_BOX_CX, // 06: 48 CBA_BOX_CZ, // 07: 49 50 CBA_BOX_BUF, // 08: 51 CBA_BOX_INV, // 09: 52 CBA_BOX_AND, // 10: 53 CBA_BOX_NAND, // 11: 54 CBA_BOX_OR, // 12: 55 CBA_BOX_NOR, // 13: 56 CBA_BOX_XOR, // 14: 57 CBA_BOX_XNOR, // 15: 58 CBA_BOX_SHARP, // 16: 59 CBA_BOX_SHARPL, // 17: 60 CBA_BOX_MUX, // 18: 61 CBA_BOX_MAJ, // 19: 62 63 CBA_BOX_ABC, // 20: 64 CBA_BOX_BA, // 21: 65 CBA_BOX_BO, // 22: 66 CBA_BOX_BX, // 23: 67 CBA_BOX_BN, // 24: 68 CBA_BOX_BAO, // 25: 69 CBA_BOX_BOA, // 26: 70 71 CBA_BOX_RAND, // 27: 72 CBA_BOX_RNAND, // 28: 73 CBA_BOX_ROR, // 29: 74 CBA_BOX_RNOR, // 30: 75 CBA_BOX_RXOR, // 31: 76 CBA_BOX_RXNOR, // 32: 77 78 CBA_BOX_LNOT, // 33 79 CBA_BOX_LAND, // 34: 80 CBA_BOX_LNAND, // 35: 81 CBA_BOX_LOR, // 36: 82 CBA_BOX_LNOR, // 37: 83 CBA_BOX_LXOR, // 38: 84 CBA_BOX_LXNOR, // 39: 85 86 CBA_BOX_NMUX, // 40: 87 CBA_BOX_SEL, // 41: 88 CBA_BOX_PSEL, // 42: 89 CBA_BOX_ENC, // 43: 90 CBA_BOX_PENC, // 44: 91 CBA_BOX_DEC, // 45: 92 CBA_BOX_EDEC, // 46: 93 94 CBA_BOX_ADD, // 47: 95 CBA_BOX_SUB, // 48: 96 CBA_BOX_MUL, // 49: 97 CBA_BOX_SMUL, // 50: 98 CBA_BOX_DIV, // 51: 99 CBA_BOX_MOD, // 52: 100 CBA_BOX_REM, // 53: 101 CBA_BOX_POW, // 54: 102 CBA_BOX_MIN, // 55: 103 CBA_BOX_SQRT, // 56: 104 CBA_BOX_ABS, // 57: 105 106 CBA_BOX_SLTHAN, // 58: 107 CBA_BOX_LTHAN, // 59: 108 CBA_BOX_LETHAN, // 60: 109 CBA_BOX_METHAN, // 61: 110 CBA_BOX_MTHAN, // 62: 111 CBA_BOX_EQU, // 63: 112 CBA_BOX_NEQU, // 64: 113 114 CBA_BOX_SHIL, // 65: 115 CBA_BOX_SHIR, // 66: 116 CBA_BOX_SHILA, // 67: 117 CBA_BOX_SHIRA, // 68: 118 CBA_BOX_ROTL, // 69: 119 CBA_BOX_ROTR, // 70: 120 121 CBA_BOX_NODE, // 71: 122 CBA_BOX_LUT, // 72: 123 CBA_BOX_GATE, // 73: 124 CBA_BOX_TABLE, // 74: 125 126 CBA_BOX_TRI, // 75: 127 CBA_BOX_RAM, // 76: 128 CBA_BOX_RAMR, // 77: 129 CBA_BOX_RAMW, // 78: 130 CBA_BOX_RAMWC, // 79: 131 CBA_BOX_RAML, // 80: 132 CBA_BOX_RAMS, // 81: 133 CBA_BOX_RAMBOX, // 82: 134 135 CBA_BOX_LATCH, // 83: 136 CBA_BOX_LATCHRS, // 84: 137 CBA_BOX_DFF, // 85: 138 CBA_BOX_DFFCPL, // 86: 139 CBA_BOX_DFFRS, // 87: 140 141 CBA_BOX_SLICE, // 88: 142 CBA_BOX_CONCAT, // 89: 143 144 CBA_BOX_LAST // 90 145 } Cba_ObjType_t; 146 147 148 //////////////////////////////////////////////////////////////////////// 149 /// MACRO DEFINITIONS /// 150 //////////////////////////////////////////////////////////////////////// 151 152 //////////////////////////////////////////////////////////////////////// 153 /// ITERATORS /// 154 //////////////////////////////////////////////////////////////////////// 155 156 //////////////////////////////////////////////////////////////////////// 157 /// FUNCTION DECLARATIONS /// 158 //////////////////////////////////////////////////////////////////////// 159 160 161 ABC_NAMESPACE_HEADER_END 162 163 164 #endif 165 166 //////////////////////////////////////////////////////////////////////// 167 /// END OF FILE /// 168 //////////////////////////////////////////////////////////////////////// 169 170