59 for ( k = 0; k < nFrames; k++ )
64 for ( k = 0; k < nFrames; k++ )
99 for ( i = 0; i < Limit; i++ )
101 printf(
"%3d : ", i );
132 int fCompl0, fCompl1;
134 assert( pCex->nRegs == 0 );
136 assert( fStart <= pCex->iFrame );
153 for ( i = fStart; i <= pCex->iFrame; i++ )
175 pObj->
fMark0 = fCompl0 & fCompl1;
178 else if ( !fCompl0 && !fCompl1 )
190 else if ( !fCompl0 && !fCompl1 )
208 assert( iBit == pCex->nBits );
224 int fCompl0, fCompl1;
226 assert( pCex->nRegs == 0 );
228 assert( fStart <= pCex->iFrame );
243 for ( i = fStart; i <= pCex->iFrame; i++ )
263 pObj->
fMark0 = fCompl0 & fCompl1;
266 else if ( !fCompl0 && !fCompl1 )
282 assert( iBit == pCex->nBits );
300 nFramesMax =
Abc_MinInt( nFramesMax, pCex->iFrame );
301 printf(
"Processing CEX in frame %d (max frames %d).\n", pCex->iFrame, nFramesMax );
303 for ( i = pCex->iFrame; i > pCex->iFrame - nFramesMax; i-- )
305 printf(
"Frame %5d : ", i );
316 printf(
"GIA with additional properties is written into \"miter2.aig\".\n" );
345 printf(
"Counter-example care-set verification has failed.\n" );
Gia_Man_t * Bmc_CexTargetEnlarge(Gia_Man_t *p, int nFrames)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Gia_ManStop(Gia_Man_t *p)
#define Gia_ManForEachCo(p, pObj, i)
void Gia_ManPrintStats(Gia_Man_t *p, Gps_Par_t *pPars)
static int Gia_ObjFaninC1(Gia_Obj_t *pObj)
static int Gia_ManAppendCo(Gia_Man_t *p, int iLit0)
int Bmc_CexVerify(Gia_Man_t *p, Abc_Cex_t *pCex, Abc_Cex_t *pCexCare)
static int Abc_InfoHasBit(unsigned *p, int i)
static int Gia_ManCiLit(Gia_Man_t *p, int CiId)
static Gia_Obj_t * Gia_ManPo(Gia_Man_t *p, int v)
Abc_Cex_t * Bmc_CexCareBits(Gia_Man_t *p, Abc_Cex_t *pCexState, Abc_Cex_t *pCexImpl, Abc_Cex_t *pCexEss, int fFindAll, int fVerbose)
static int Gia_ManAppendCi(Gia_Man_t *p)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
Gia_Man_t * Bmc_CexBuildNetwork2_(Gia_Man_t *p, Abc_Cex_t *pCex, int fStart)
Gia_Man_t * Bmc_CexBuildNetwork2Test(Gia_Man_t *p, Abc_Cex_t *pCex, int nFramesMax)
static abctime Abc_Clock()
static int Vec_PtrSize(Vec_Ptr_t *p)
Gia_Man_t * Gia_ManDupAppendCones(Gia_Man_t *p, Gia_Man_t **ppCones, int nCones, int fOnlyRegs)
static int Abc_LitNotCond(int Lit, int c)
Gia_Man_t * Bmc_CexDepthTest(Gia_Man_t *p, Abc_Cex_t *pCex, int nFrames, int fVerbose)
#define Gia_ManForEachRiRo(p, pObjRi, pObjRo, i)
static void Abc_PrintTime(int level, const char *pStr, abctime time)
ABC_NAMESPACE_IMPL_START Abc_Cex_t * Bmc_CexInnerStates(Gia_Man_t *p, Abc_Cex_t *pCex, Abc_Cex_t **ppCexImpl, int fVerbose)
DECLARATIONS ///.
static int Abc_MinInt(int a, int b)
static Gia_Obj_t * Gia_ObjFanin0(Gia_Obj_t *pObj)
static int Gia_ObjFanin1Copy(Gia_Obj_t *pObj)
void Abc_CexFreeP(Abc_Cex_t **p)
#define ABC_NAMESPACE_IMPL_END
Gia_Man_t * Gia_ManStart(int nObjsMax)
DECLARATIONS ///.
Gia_Man_t * Bmc_CexTarget(Gia_Man_t *p, int nFrames)
#define Gia_ManForEachAnd(p, pObj, i)
#define Gia_ManForEachPi(p, pObj, i)
void Gia_AigerWrite(Gia_Man_t *p, char *pFileName, int fWriteSymbols, int fCompact)
static int Gia_ObjFanin0Copy(Gia_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
static int Gia_ManCiNum(Gia_Man_t *p)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
Gia_Man_t * Gia_ManDupLastPis(Gia_Man_t *p, int nLastPis)
static Gia_Obj_t * Gia_ManConst0(Gia_Man_t *p)
static Gia_Obj_t * Gia_ObjFanin1(Gia_Obj_t *pObj)
#define Gia_ManForEachRo(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
#define Gia_ManForEachRi(p, pObj, i)
void Gia_ManHashAlloc(Gia_Man_t *p)
static int Gia_ObjFaninC0(Gia_Obj_t *pObj)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static int Gia_ManPiNum(Gia_Man_t *p)
Gia_Man_t * Gia_ManCleanup(Gia_Man_t *p)
char * Abc_UtilStrsav(char *s)
int Gia_ManHashOr(Gia_Man_t *p, int iLit0, int iLit1)
static void ** Vec_PtrArray(Vec_Ptr_t *p)
Gia_Man_t * Bmc_CexBuildNetwork2(Gia_Man_t *p, Abc_Cex_t *pCex, int fStart)
int Gia_ManHashAnd(Gia_Man_t *p, int iLit0, int iLit1)
static int Gia_ManObjNum(Gia_Man_t *p)
Gia_Man_t * Gia_ManDupExist(Gia_Man_t *p, int iVar)
static void Vec_PtrFree(Vec_Ptr_t *p)
void Gia_ManHashStop(Gia_Man_t *p)
static int Gia_ManRegNum(Gia_Man_t *p)