summaryrefslogtreecommitdiffstats
path: root/src/base/cba/cbaPrs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/cba/cbaPrs.h')
-rw-r--r--src/base/cba/cbaPrs.h34
1 files changed, 15 insertions, 19 deletions
diff --git a/src/base/cba/cbaPrs.h b/src/base/cba/cbaPrs.h
index e668679f..e0987467 100644
--- a/src/base/cba/cbaPrs.h
+++ b/src/base/cba/cbaPrs.h
@@ -42,24 +42,6 @@ typedef enum {
CBA_PRS_UNKNOWN // 5: unknown
} Cba_PrsType_t;
-// node types during parsing
-typedef enum {
- CBA_NODE_NONE = 0, // 0: unused
- CBA_NODE_CONST, // 1: constant
- CBA_NODE_BUF, // 2: buffer
- CBA_NODE_INV, // 3: inverter
- CBA_NODE_AND, // 4: AND
- CBA_NODE_OR, // 5: OR
- CBA_NODE_XOR, // 6: XOR
- CBA_NODE_NAND, // 7: NAND
- CBA_NODE_NOR, // 8: NOR
- CBA_NODE_XNOR, // 9 .XNOR
- CBA_NODE_MUX, // 10: MUX
- CBA_NODE_MAJ, // 11: MAJ
- CBA_NODE_UNKNOWN // 12: unknown
-} Cba_NodeType_t;
-
-
////////////////////////////////////////////////////////////////////////
/// BASIC TYPES ///
////////////////////////////////////////////////////////////////////////
@@ -91,10 +73,16 @@ struct Cba_Prs_t_
Vec_Str_t vCover; // one SOP cover
Vec_Int_t vTemp; // array of tokens
Vec_Int_t vTemp2; // array of tokens
+ // statistics
+ Vec_Int_t vKnown;
+ Vec_Int_t vFailed;
+ Vec_Int_t vSucceeded;
// error handling
char ErrorStr[1000]; // error
};
+#define Cba_PrsForEachModelVec( vVec, p, pName, i ) \
+ for ( i = 0; (i < Vec_IntSize(vVec)) && ((pName) = Abc_NamStr(p->pDesign->pNames, Vec_IntEntry(vVec,i))); i++ )
////////////////////////////////////////////////////////////////////////
/// MACRO DEFINITIONS ///
@@ -107,6 +95,11 @@ static inline int Cba_PrsErrorSet( Cba_Prs_t * p, char * pError, int Value )
sprintf( p->ErrorStr, "%s", pError );
return Value;
}
+// clear error message
+static inline void Cba_PrsErrorClear( Cba_Prs_t * p )
+{
+ p->ErrorStr[0] = '\0';
+}
// print error message
static inline int Cba_PrsErrorPrint( Cba_Prs_t * p )
{
@@ -204,6 +197,10 @@ static inline void Cba_PrsFree( Cba_Prs_t * p )
Vec_StrErase( &p->vCover );
Vec_IntErase( &p->vTemp );
Vec_IntErase( &p->vTemp2 );
+
+ Vec_IntErase( &p->vKnown );
+ Vec_IntErase( &p->vFailed );
+ Vec_IntErase( &p->vSucceeded );
ABC_FREE( p->pBuffer );
ABC_FREE( p );
}
@@ -212,7 +209,6 @@ static inline void Cba_PrsFree( Cba_Prs_t * p )
/// ITERATORS ///
////////////////////////////////////////////////////////////////////////
-
////////////////////////////////////////////////////////////////////////
/// FUNCTION DECLARATIONS ///
////////////////////////////////////////////////////////////////////////