diff options
Diffstat (limited to 'src/base/cba')
-rw-r--r-- | src/base/cba/cbaTypes.h | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/src/base/cba/cbaTypes.h b/src/base/cba/cbaTypes.h new file mode 100644 index 00000000..6fad9985 --- /dev/null +++ b/src/base/cba/cbaTypes.h @@ -0,0 +1,169 @@ +/**CFile**************************************************************** + + FileName [cbaTypes.h] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [Hierarchical word-level netlist.] + + Synopsis [External declarations.] + + Author [Alan Mishchenko] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - July 21, 2015.] + + Revision [$Id: cbaTypes.h,v 1.00 2014/11/29 00:00:00 alanmi Exp $] + +***********************************************************************/ + +#ifndef ABC__base__cba__cba__types_h +#define ABC__base__cba__cba__types_h + +//////////////////////////////////////////////////////////////////////// +/// INCLUDES /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// PARAMETERS /// +//////////////////////////////////////////////////////////////////////// + +ABC_NAMESPACE_HEADER_START + +//////////////////////////////////////////////////////////////////////// +/// BASIC TYPES /// +//////////////////////////////////////////////////////////////////////// + +// network objects +typedef enum { + CBA_OBJ_NONE = 0, // 00: unused + CBA_OBJ_PI, // 01: input + CBA_OBJ_PO, // 02: output + CBA_OBJ_BOX, // 03: box + + CBA_BOX_CF, // 04: + CBA_BOX_CT, // 05: + CBA_BOX_CX, // 06: + CBA_BOX_CZ, // 07: + + CBA_BOX_BUF, // 08: + CBA_BOX_INV, // 09: + CBA_BOX_AND, // 10: + CBA_BOX_NAND, // 11: + CBA_BOX_OR, // 12: + CBA_BOX_NOR, // 13: + CBA_BOX_XOR, // 14: + CBA_BOX_XNOR, // 15: + CBA_BOX_SHARP, // 16: + CBA_BOX_SHARPL, // 17: + CBA_BOX_MUX, // 18: + CBA_BOX_MAJ, // 19: + + CBA_BOX_ABC, // 20: + CBA_BOX_BA, // 21: + CBA_BOX_BO, // 22: + CBA_BOX_BX, // 23: + CBA_BOX_BN, // 24: + CBA_BOX_BAO, // 25: + CBA_BOX_BOA, // 26: + + CBA_BOX_RAND, // 27: + CBA_BOX_RNAND, // 28: + CBA_BOX_ROR, // 29: + CBA_BOX_RNOR, // 30: + CBA_BOX_RXOR, // 31: + CBA_BOX_RXNOR, // 32: + + CBA_BOX_LNOT, // 33 + CBA_BOX_LAND, // 34: + CBA_BOX_LNAND, // 35: + CBA_BOX_LOR, // 36: + CBA_BOX_LNOR, // 37: + CBA_BOX_LXOR, // 38: + CBA_BOX_LXNOR, // 39: + + CBA_BOX_NMUX, // 40: + CBA_BOX_SEL, // 41: + CBA_BOX_PSEL, // 42: + CBA_BOX_ENC, // 43: + CBA_BOX_PENC, // 44: + CBA_BOX_DEC, // 45: + CBA_BOX_EDEC, // 46: + + CBA_BOX_ADD, // 47: + CBA_BOX_SUB, // 48: + CBA_BOX_MUL, // 49: + CBA_BOX_SMUL, // 50: + CBA_BOX_DIV, // 51: + CBA_BOX_MOD, // 52: + CBA_BOX_REM, // 53: + CBA_BOX_POW, // 54: + CBA_BOX_MIN, // 55: + CBA_BOX_SQRT, // 56: + CBA_BOX_ABS, // 57: + + CBA_BOX_SLTHAN, // 58: + CBA_BOX_LTHAN, // 59: + CBA_BOX_LETHAN, // 60: + CBA_BOX_METHAN, // 61: + CBA_BOX_MTHAN, // 62: + CBA_BOX_EQU, // 63: + CBA_BOX_NEQU, // 64: + + CBA_BOX_SHIL, // 65: + CBA_BOX_SHIR, // 66: + CBA_BOX_SHILA, // 67: + CBA_BOX_SHIRA, // 68: + CBA_BOX_ROTL, // 69: + CBA_BOX_ROTR, // 70: + + CBA_BOX_NODE, // 71: + CBA_BOX_LUT, // 72: + CBA_BOX_GATE, // 73: + CBA_BOX_TABLE, // 74: + + CBA_BOX_TRI, // 75: + CBA_BOX_RAM, // 76: + CBA_BOX_RAMR, // 77: + CBA_BOX_RAMW, // 78: + CBA_BOX_RAMWC, // 79: + CBA_BOX_RAML, // 80: + CBA_BOX_RAMS, // 81: + CBA_BOX_RAMBOX, // 82: + + CBA_BOX_LATCH, // 83: + CBA_BOX_LATCHRS, // 84: + CBA_BOX_DFF, // 85: + CBA_BOX_DFFCPL, // 86: + CBA_BOX_DFFRS, // 87: + + CBA_BOX_SLICE, // 88: + CBA_BOX_CONCAT, // 89: + + CBA_BOX_LAST // 90 +} Cba_ObjType_t; + + +//////////////////////////////////////////////////////////////////////// +/// MACRO DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// ITERATORS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DECLARATIONS /// +//////////////////////////////////////////////////////////////////////// + + +ABC_NAMESPACE_HEADER_END + + +#endif + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// + |