ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
utilCex.h
Go to the documentation of this file.
1
20
21#ifndef ABC__misc__util__utilCex_h
22#define ABC__misc__util__utilCex_h
23
27
31
33
37
38// sequential counter-example
39typedef struct Abc_Cex_t_ Abc_Cex_t;
41{
42 int iPo; // the zero-based number of PO, for which verification failed
43 int iFrame; // the zero-based number of the time-frame, for which verificaiton failed
44 int nRegs; // the number of registers in the miter
45 int nPis; // the number of primary inputs in the miter
46 int nBits; // the number of words of bit data used
47 unsigned pData[0]; // the cex bit data (the number of bits: nRegs + (iFrame+1) * nPis)
48};
49
53
57
58/*=== utilCex.c ===========================================================*/
59extern Abc_Cex_t * Abc_CexAlloc( int nRegs, int nTruePis, int nFrames );
60extern Abc_Cex_t * Abc_CexAllocFull( int nRegs, int nTruePis, int nFrames );
61extern Abc_Cex_t * Abc_CexMakeTriv( int nRegs, int nTruePis, int nTruePos, int iFrameOut );
62extern Abc_Cex_t * Abc_CexCreate( int nRegs, int nTruePis, int * pArray, int iFrame, int iPo, int fSkipRegs );
63extern Abc_Cex_t * Abc_CexDup( Abc_Cex_t * p, int nRegsNew );
64extern Abc_Cex_t * Abc_CexDeriveFromCombModel( int * pModel, int nPis, int nRegs, int iPo );
65extern Abc_Cex_t * Abc_CexMerge( Abc_Cex_t * pCex, Abc_Cex_t * pPart, int iFrBeg, int iFrEnd );
66extern void Abc_CexPrintStats( Abc_Cex_t * p );
67extern void Abc_CexPrintStatsInputs( Abc_Cex_t * p, int nInputs );
68extern void Abc_CexPrint( Abc_Cex_t * p );
69extern void Abc_CexFreeP( Abc_Cex_t ** p );
70extern void Abc_CexFree( Abc_Cex_t * p );
71extern Abc_Cex_t * Abc_CexTransformPhase( Abc_Cex_t * p, int nPisOld, int nPosOld, int nRegsOld );
72extern Abc_Cex_t * Abc_CexTransformTempor( Abc_Cex_t * p, int nPisOld, int nPosOld, int nRegsOld );
73extern Abc_Cex_t * Abc_CexTransformUndc( Abc_Cex_t * p, char * pInit );
74extern Abc_Cex_t * Abc_CexPermute( Abc_Cex_t * p, Vec_Int_t * vMapOld2New );
75extern Abc_Cex_t * Abc_CexPermuteTwo( Abc_Cex_t * p, Vec_Int_t * vPermOld, Vec_Int_t * vPermNew );
76extern int Abc_CexCountOnes( Abc_Cex_t * p );
77
79
80#endif
81
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Definition bblif.c:37
Cube * p
Definition exorList.c:222
int iPo
Definition utilCex.h:42
int nPis
Definition utilCex.h:45
int nRegs
Definition utilCex.h:44
int nBits
Definition utilCex.h:46
int iFrame
Definition utilCex.h:43
unsigned pData[0]
Definition utilCex.h:47
void Abc_CexFreeP(Abc_Cex_t **p)
Definition utilCex.c:361
Abc_Cex_t * Abc_CexTransformTempor(Abc_Cex_t *p, int nPisOld, int nPosOld, int nRegsOld)
Definition utilCex.c:427
Abc_Cex_t * Abc_CexDup(Abc_Cex_t *p, int nRegsNew)
Definition utilCex.c:145
Abc_Cex_t * Abc_CexAlloc(int nRegs, int nTruePis, int nFrames)
MACRO DEFINITIONS ///.
Definition utilCex.c:51
Abc_Cex_t * Abc_CexCreate(int nRegs, int nTruePis, int *pArray, int iFrame, int iPo, int fSkipRegs)
Definition utilCex.c:110
Abc_Cex_t * Abc_CexMakeTriv(int nRegs, int nTruePis, int nTruePos, int iFrameOut)
Definition utilCex.c:85
Abc_Cex_t * Abc_CexTransformUndc(Abc_Cex_t *p, char *pInit)
Definition utilCex.c:459
Abc_Cex_t * Abc_CexTransformPhase(Abc_Cex_t *p, int nPisOld, int nPosOld, int nRegsOld)
Definition utilCex.c:401
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
Definition utilCex.h:39
void Abc_CexPrint(Abc_Cex_t *p)
Definition utilCex.c:322
Abc_Cex_t * Abc_CexAllocFull(int nRegs, int nTruePis, int nFrames)
Definition utilCex.c:62
void Abc_CexFree(Abc_Cex_t *p)
Definition utilCex.c:382
Abc_Cex_t * Abc_CexPermute(Abc_Cex_t *p, Vec_Int_t *vMapOld2New)
Definition utilCex.c:498
Abc_Cex_t * Abc_CexMerge(Abc_Cex_t *pCex, Abc_Cex_t *pPart, int iFrBeg, int iFrEnd)
Definition utilCex.c:197
Abc_Cex_t * Abc_CexDeriveFromCombModel(int *pModel, int nPis, int nRegs, int iPo)
Definition utilCex.c:173
int Abc_CexCountOnes(Abc_Cex_t *p)
Definition utilCex.c:559
Abc_Cex_t * Abc_CexPermuteTwo(Abc_Cex_t *p, Vec_Int_t *vPermOld, Vec_Int_t *vPermNew)
Definition utilCex.c:526
void Abc_CexPrintStatsInputs(Abc_Cex_t *p, int nInputs)
Definition utilCex.c:275
void Abc_CexPrintStats(Abc_Cex_t *p)
Definition utilCex.c:256