50 if ( pAig->nConstrs > 0 )
52 printf(
"The AIG manager should have no constraints.\n" );
58 pAigNew->nConstrs = pAig->nConstrs;
96 if ( pAig->nConstrs > 0 )
98 printf(
"The AIG manager should have no constraints.\n" );
104 pAigNew->nConstrs = pAig->nConstrs;
145 int i, fAllPisHaveNoRefs;
147 fAllPisHaveNoRefs = 1;
150 fAllPisHaveNoRefs = 0;
154 pNew->nConstrs = p->nConstrs;
227 assert( p->vCiNumsOrig == NULL );
282 int RetValue, i, k, iBit = 0;
287 for ( i = 0; i <= p->iFrame; i++ )
296 if ( i == p->iFrame )
301 assert( iBit == p->nBits );
321 int RetValue, i, k, iBit = 0;
326 for ( i = 0; i <= p->iFrame; i++ )
335 if ( i == p->iFrame )
340 assert( iBit == p->nBits );
353 printf(
"CEX does fail the given sequential miter.\n" );
386 int RetValue, i, k, iBit = 0;
390 pNew->iFrame = p->iFrame;
396 for ( i = 0; i <= p->iFrame; i++ )
410 if ( i == p->iFrame )
415 assert( iBit == p->nBits );
419 printf(
"Saig_ManExtendCex(): The counter-example is invalid!!!\n" );
437 int RetValue, i, k, iBit = 0;
442 for ( i = 0; i <= p->iFrame; i++ )
451 if ( i == p->iFrame )
456 assert( iBit == p->nBits );
489 pAigNew->nConstrs = pAig->nConstrs;
554 for ( i = 0; i < nPos; i++ )
Aig_Obj_t * Aig_ObjCreateCo(Aig_Man_t *p, Aig_Obj_t *pDriver)
ABC_NAMESPACE_IMPL_START Aig_Man_t * Saig_ManDupOrpos(Aig_Man_t *pAig)
DECLARATIONS ///.
Aig_Man_t * Saig_ManTrimPis(Aig_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
Aig_Man_t * Saig_ManCreateEquivMiter(Aig_Man_t *pAig, Vec_Int_t *vPairs)
#define Vec_PtrForEachEntryStart(Type, vVec, pEntry, i, Start)
static int Saig_ObjIsLo(Aig_Man_t *p, Aig_Obj_t *pObj)
#define Aig_ManForEachObjVec(vIds, p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Saig_ManDupCones_rec(Aig_Man_t *p, Aig_Obj_t *pObj, Vec_Ptr_t *vLeaves, Vec_Ptr_t *vNodes, Vec_Ptr_t *vRoots)
Aig_Man_t * Saig_ManDupAbstraction(Aig_Man_t *p, Vec_Int_t *vFlops)
static int Abc_InfoHasBit(unsigned *p, int i)
ABC_NAMESPACE_IMPL_START Abc_Cex_t * Abc_CexAlloc(int nRegs, int nRealPis, int nFrames)
DECLARATIONS ///.
int Aig_ManSeqCleanup(Aig_Man_t *p)
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ManObjNum(Aig_Man_t *p)
#define Saig_ManForEachLiLo(p, pObjLi, pObjLo, i)
static Aig_Obj_t * Saig_ObjLoToLi(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Saig_ManLo(Aig_Man_t *p, int i)
Aig_Obj_t * Aig_Exor(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManStart(int nNodesMax)
DECLARATIONS ///.
void Aig_ManCleanMarkB(Aig_Man_t *p)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
Aig_Obj_t * Aig_ObjCreateCi(Aig_Man_t *p)
DECLARATIONS ///.
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static Aig_Obj_t * Aig_ManConst0(Aig_Man_t *p)
#define Aig_ManForEachCo(p, pObj, i)
static Aig_Obj_t * Aig_ManObj(Aig_Man_t *p, int i)
Abc_Cex_t * Saig_ManExtendCex(Aig_Man_t *pAig, Abc_Cex_t *p)
Vec_Int_t * Saig_ManReturnFailingState(Aig_Man_t *pAig, Abc_Cex_t *p, int fNextOne)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Vec_PtrSize(Vec_Ptr_t *p)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ManNodeNum(Aig_Man_t *p)
Aig_Man_t * Saig_ManDupCones(Aig_Man_t *pAig, int *pPos, int nPos)
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
int Saig_ManVerifyCex(Aig_Man_t *pAig, Abc_Cex_t *p)
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
#define Aig_ManForEachNode(p, pObj, i)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
void Aig_ManSetRegNum(Aig_Man_t *p, int nRegs)
#define Saig_ManForEachLi(p, pObj, i)
static int Vec_IntEntry(Vec_Int_t *p, int i)
static int Aig_ManCiNum(Aig_Man_t *p)
static Aig_Obj_t * Saig_ObjLiToLo(Aig_Man_t *p, Aig_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static Aig_Obj_t * Aig_ObjChild1Copy(Aig_Obj_t *pObj)
Aig_Obj_t * Aig_Or(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
static Aig_Obj_t * Saig_ManLi(Aig_Man_t *p, int i)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define Saig_ManForEachLo(p, pObj, i)
static Aig_Obj_t * Aig_ObjChild0Copy(Aig_Obj_t *pObj)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
int Saig_ManVerifyCexNoClear(Aig_Man_t *pAig, Abc_Cex_t *p)
#define ABC_NAMESPACE_IMPL_START
static void Abc_InfoSetBit(unsigned *p, int i)
static Aig_Obj_t * Aig_ManCo(Aig_Man_t *p, int i)
static int Aig_ManRegNum(Aig_Man_t *p)
static int Vec_IntSize(Vec_Int_t *p)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
int Saig_ManFindFailedPoCex(Aig_Man_t *pAig, Abc_Cex_t *p)
Aig_Obj_t * Saig_ManAbstractionDfs_rec(Aig_Man_t *pNew, Aig_Obj_t *pObj)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
#define Saig_ManForEachPo(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
Aig_Man_t * Saig_ManDupWithPhase(Aig_Man_t *pAig, Vec_Int_t *vInit)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
void Aig_ManCleanData(Aig_Man_t *p)
static int Saig_ObjIsPi(Aig_Man_t *p, Aig_Obj_t *pObj)
int Aig_ManCleanup(Aig_Man_t *p)
static int Aig_ObjIsCo(Aig_Obj_t *pObj)
static void Vec_PtrFree(Vec_Ptr_t *p)
#define Saig_ManForEachPi(p, pObj, i)