82 if ( pObjFrames0 == pObjFrames1 )
86 if ( pObjFraig0 != pObjFraig1 )
126 int i, f, Imp, Left, Right;
127 int fComplL, fComplR;
140 for ( f = pBmc->
nPref; f < pBmc->nFramesAll; f++ )
154 if ( fComplL == fComplR )
156 assert( fComplL != fComplR );
335 if ( p->
pPars->fVerbose )
337 printf(
"Original AIG = %d. Init %d frames = %d. Fraig = %d. ",
341 printf(
"Before BMC: " );
343 printf(
"Const = %5d. Class = %5d. Lit = %5d. ",
346 printf(
"Imp = %5d. ", nImpsOld );
357 if ( p->
pPars->fVerbose )
359 printf(
"After BMC: " );
361 printf(
"Const = %5d. Class = %5d. Lit = %5d. ",
399 printf(
"AIG: PI/PO/Reg = %d/%d/%d. Node = %6d. Lev = %5d.\n",
402 printf(
"Time-frames (%d): PI/PO = %d/%d. Node = %6d. Lev = %5d. ",
414 printf(
"Time-frames after rewriting: Node = %6d. Lev = %5d. ",
432 else if ( iOutput >= 0 )
437 printf(
"Fraiged init frames: Node = %6d. Lev = %5d. ",
Aig_Obj_t * Aig_ObjCreateCo(Aig_Man_t *p, Aig_Obj_t *pDriver)
int Fra_ClassesRefine1(Fra_Cla_t *p, int fRefineNewClass, int *pSkipped)
static Aig_Obj_t * Bmc_ObjChild1Frames(Aig_Obj_t *pObj, int i)
int Fra_SmlNodeIsConst(Aig_Obj_t *pObj)
void Fra_ImpCompactArray(Vec_Int_t *vImps)
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 Aig_ManStop(Aig_Man_t *p)
Aig_Man_t * Fra_FraigEquivence(Aig_Man_t *pManAig, int nConfMax, int fProve)
int Fra_ClassesCountLits(Fra_Cla_t *p)
void Fra_BmcFilterImplications(Fra_Man_t *p, Fra_Bmc_t *pBmc)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManStart(int nNodesMax)
DECLARATIONS ///.
static int Aig_IsComplement(Aig_Obj_t *p)
static Aig_Obj_t * Bmc_ObjChild0Frames(Aig_Obj_t *pObj, int i)
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
Aig_Obj_t * Aig_ObjCreateCi(Aig_Man_t *p)
DECLARATIONS ///.
static Aig_Obj_t * Aig_ManConst0(Aig_Man_t *p)
#define ABC_ALLOC(type, num)
static Aig_Obj_t * Aig_ManObj(Aig_Man_t *p, int i)
Aig_Man_t * Fra_BmcFrames(Fra_Bmc_t *p, int fKeepPos)
Abc_Cex_t * Fra_SmlCopyCounterExample(Aig_Man_t *pAig, Aig_Man_t *pFrames, int *pModel)
static abctime Abc_Clock()
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Vec_PtrSize(Vec_Ptr_t *p)
ABC_NAMESPACE_IMPL_START Aig_Man_t * Dar_ManRwsat(Aig_Man_t *pAig, int fBalance, int fVerbose)
DECLARATIONS ///.
for(p=first;p->value< newval;p=p->next)
static int Aig_ManNodeNum(Aig_Man_t *p)
static void Bmc_ObjSetFrames(Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
Abc_Cex_t * Abc_CexMakeTriv(int nRegs, int nTruePis, int nTruePos, int iFrameOut)
int(* pFuncNodesAreEqual)(Aig_Obj_t *, Aig_Obj_t *)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Aig_ManCoNum(Aig_Man_t *p)
void Fra_BmcPerform(Fra_Man_t *p, int nPref, int nDepth)
#define Aig_ManForEachNode(p, pObj, i)
static Aig_Obj_t * Fra_ObjFraig(Aig_Obj_t *pObj, int i)
static Aig_Obj_t * Bmc_ObjFrames(Aig_Obj_t *pObj, int i)
int Fra_BmcNodeIsConst(Aig_Obj_t *pObj)
Fra_Man_t * Fra_LcrAigPrepare(Aig_Man_t *pAig)
static int Aig_ManCiNum(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
int(* pFuncNodeIsConst)(Aig_Obj_t *)
int Fra_FraigMiterAssertedOutput(Aig_Man_t *p)
void Fra_BmcPerformSimple(Aig_Man_t *pAig, int nFrames, int nBTLimit, int fRewrite, int fVerbose)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static int Aig_ManObjNumMax(Aig_Man_t *p)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
int Aig_ManLevelNum(Aig_Man_t *p)
static int Aig_ManRegNum(Aig_Man_t *p)
void Fra_BmcStop(Fra_Bmc_t *p)
static int Vec_IntSize(Vec_Int_t *p)
Fra_Bmc_t * Fra_BmcStart(Aig_Man_t *pAig, int nPref, int nDepth)
#define Aig_ManForEachObj(p, pObj, i)
static int Fra_ImpRight(int Imp)
int Fra_ClassesRefine(Fra_Cla_t *p)
int Fra_SmlNodesAreEqual(Aig_Obj_t *pObj0, Aig_Obj_t *pObj1)
#define Aig_ManForEachLoSeq(p, pObj, i)
static int Fra_ImpLeft(int Imp)
Aig_Obj_t ** pObjToFrames
int Fra_NodesAreImp(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew, int fComplL, int fComplR)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
#define Aig_ManForEachLiSeq(p, pObj, i)
static Aig_Obj_t * Bmc_ObjFraig(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
int Fra_BmcNodesAreEqual(Aig_Obj_t *pObj0, Aig_Obj_t *pObj1)
FUNCTION DEFINITIONS ///.
#define Aig_ManForEachPoSeq(p, pObj, i)
char * Abc_UtilStrsav(char *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
int Aig_ManCleanup(Aig_Man_t *p)
#define Aig_ManForEachPiSeq(p, pObj, i)
SEQUENTIAL ITERATORS ///.
static void Bmc_ObjSetFraig(Aig_Obj_t *pObj, Aig_Obj_t *pNode)