55 return 3 & (pInfo[iFrame >> 4] >> ((iFrame & 15) << 1));
63 pInfo[iFrame >> 4] ^= (Value << ((iFrame & 15) << 1));
68 #define SAIG_ZER_NEW 0 // 0 not visited
69 #define SAIG_ONE_NEW 1 // 1 not visited
70 #define SAIG_ZER_OLD 2 // 0 visited
71 #define SAIG_ONE_OLD 3 // 1 visited
115 return 3 & (pInfo[iFrame >> 4] >> ((iFrame & 15) << 1));
122 pInfo[iFrame >> 4] ^= (Value << ((iFrame & 15) << 1));
145 int Value0, Value1, Value;
177 int i, f, Entry, iBit = 0;
180 for ( f = 0; f <= pCex->iFrame; f++ )
192 if ( f == pCex->iFrame )
215 int Value0, Value1, Value;
250 for ( f = 0; f <= pCex->iFrame; f++ )
259 if ( f == pCex->iFrame )
283 int k, iFanout = -1, Value0, Value1;
346 for ( i = fMax; i >= 0; i-- )
401 for ( f = pCex->iFrame; f >= 0; f-- )
404 for ( i = 0; i < iFirstFlopPi; i++ )
414 for ( f = pCex->iFrame; f >= 0; f-- )
450 printf(
"Saig_ManExtendCounterExampleTest2(): The PI count of AIG (%d) does not match that of cex (%d).\n",
#define Aig_ObjForEachFanout(p, pObj, pFanout, iFan, i)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static int Saig_ObjIsLo(Aig_Man_t *p, Aig_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
int Saig_ManExtendOneEval(Vec_Ptr_t *vSimInfo, Aig_Obj_t *pObj, int iFrame)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_InfoHasBit(unsigned *p, int i)
#define Saig_ManForEachLiLo(p, pObjLi, pObjLo, i)
static Aig_Obj_t * Saig_ObjLoToLi(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Saig_ManSimInfo2And(int Value0, int Value1)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static void Vec_PtrCleanSimInfo(Vec_Ptr_t *vInfo, int iWord, int nWords)
#define Aig_ManForEachCo(p, pObj, i)
static abctime Abc_Clock()
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Saig_ObjIsLi(Aig_Man_t *p, Aig_Obj_t *pObj)
Vec_Int_t * Saig_ManProcessCex(Aig_Man_t *p, int iFirstFlopPi, Abc_Cex_t *pCex, Vec_Ptr_t *vSimInfo, int fVerbose)
void Aig_ManFanoutStart(Aig_Man_t *p)
FUNCTION DEFINITIONS ///.
void Aig_ManFanoutStop(Aig_Man_t *p)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
int Saig_ManExtendOneEval2(Vec_Ptr_t *vSimInfo, Aig_Obj_t *pObj, int iFrame)
void Saig_ManSetAndDriveImplications_rec(Aig_Man_t *p, Aig_Obj_t *pObj, int f, int fMax, Vec_Ptr_t *vSimInfo)
#define Aig_ManForEachNode(p, pObj, i)
static void Saig_ManSimInfo2Set(Vec_Ptr_t *vSimInfo, Aig_Obj_t *pObj, int iFrame, int Value)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static Aig_Obj_t * Aig_ManCi(Aig_Man_t *p, int i)
static int Aig_ManCiNum(Aig_Man_t *p)
static int Saig_ObjIsPo(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Saig_ObjLiToLo(Aig_Man_t *p, Aig_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define Saig_ManForEachLo(p, pObj, i)
int Saig_ManSimDataInit(Aig_Man_t *p, Abc_Cex_t *pCex, Vec_Ptr_t *vSimInfo, Vec_Int_t *vRes)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
Vec_Int_t * Saig_ManExtendCounterExampleTest2(Aig_Man_t *p, int iFirstFlopPi, Abc_Cex_t *pCex, int fVerbose)
static int Aig_ManObjNumMax(Aig_Man_t *p)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
static int Saig_ManSimInfoAnd(int Value0, int Value1)
#define ABC_NAMESPACE_IMPL_START
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static Aig_Obj_t * Aig_ManCo(Aig_Man_t *p, int i)
static int Vec_IntSize(Vec_Int_t *p)
static int Saig_ManPiNum(Aig_Man_t *p)
MACRO DEFINITIONS ///.
#define SAIG_ZER
DECLARATIONS ///.
int Saig_ManSimDataInit2(Aig_Man_t *p, Abc_Cex_t *pCex, Vec_Ptr_t *vSimInfo)
static int Saig_ManSimInfoNot(int Value)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
static void Saig_ManSimInfoSet(Vec_Ptr_t *vSimInfo, Aig_Obj_t *pObj, int iFrame, int Value)
static int Abc_BitWordNum(int nBits)
static int Aig_ObjId(Aig_Obj_t *pObj)
void Saig_ManExplorePaths_rec(Aig_Man_t *p, Aig_Obj_t *pObj, int f, int fMax, Vec_Ptr_t *vSimInfo)
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
static int Saig_ManSimInfo2Not(int Value)
static int Saig_ManSimInfo2SetOld(int Value)
static void Vec_IntFree(Vec_Int_t *p)
static int Aig_ObjIsCi(Aig_Obj_t *pObj)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
static int Saig_ManSimInfo2Get(Vec_Ptr_t *vSimInfo, Aig_Obj_t *pObj, int iFrame)
static int Saig_ManSimInfo2IsOld(int Value)
static int Saig_ObjIsPi(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsCo(Aig_Obj_t *pObj)
static int Aig_ObjCioId(Aig_Obj_t *pObj)
static Vec_Ptr_t * Vec_PtrAllocSimInfo(int nEntries, int nWords)
static int Saig_ManSimInfoGet(Vec_Ptr_t *vSimInfo, Aig_Obj_t *pObj, int iFrame)
static void Vec_PtrFree(Vec_Ptr_t *p)
#define Saig_ManForEachPi(p, pObj, i)