61 for ( f = 0; f < nFrames; f++ )
124 (ABC_INT64_T)1000000, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
125 if ( RetValue ==
l_True && pvInits )
162 int i, f, iVar, RetValue, nRegs;
165 assert( p->nConstrs > 0 );
167 nRegs = p->nRegs; p->nRegs = 0;
180 for ( f = 0; f < nFrames; f++ )
193 (ABC_INT64_T)1000000, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
194 if ( RetValue ==
l_True && pvInits )
197 for ( f = 0; f < nFrames; f++ )
250 int f, i, iLits, RetValue1, RetValue2;
258 for ( f = 0; f < nFrames; f++ )
279 Abc_Print( 1,
"output %d failed in frame %d.\n", i, f );
284 Abc_Print( 1,
"constraint %d failed in frame %d.\n", i, f );
316 Aig_Obj_t * pObjRepr, * pObjFraig, * pObjFraig2, * pObjReprFraig;
320 if ( pObjRepr == NULL )
327 assert( pObjFraig != NULL && pObjReprFraig != NULL );
343 if ( RetValue == -1 )
354 Abc_Print( 1,
"Ssw_ManSweepNodeConstr(): Failed to refine representative.\n" );
392 assert( pObjNew != NULL );
410 Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
422 for ( f = 0; f < p->pPars->nFramesK; f++ )
451 if ( p->pPars->fVerbose )
453 for ( f = 0; f < p->pPars->nFramesK; f++ )
458 if ( p->pPars->fVerbose )
465 if ( f == p->pPars->nFramesK - 1 )
478 if ( p->pPars->fVerbose )
500 Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
513 for ( f = 0; f < p->pPars->nFramesK; f++ )
546 if ( f == p->pPars->nFramesK - 1 )
603 assert( pObjNew != NULL );
623 int nConstrPairs, i, f, iLits;
633 assert( (nConstrPairs & 1) == 0 );
634 for ( i = 0; i < nConstrPairs; i += 2 )
643 pObj =
Aig_ManCo( p->pFrames, nConstrPairs + i );
648 f = p->pPars->nFramesK;
662 for ( f = 0; f <= p->pPars->nFramesK; f++ )
681 f = p->pPars->nFramesK;
689 if ( p->pPars->fVerbose )
693 if ( p->pPars->fVerbose )
704 if ( p->pPars->fVerbose )
Aig_Obj_t * Aig_ObjCreateCo(Aig_Man_t *p, Aig_Obj_t *pDriver)
static int * Vec_IntArray(Vec_Int_t *p)
static Aig_Obj_t * Aig_ObjRepr(Aig_Man_t *p, Aig_Obj_t *pObj)
void Ssw_CnfNodeAddToSolver(Ssw_Sat_t *p, Aig_Obj_t *pObj)
static int Saig_ManPoNum(Aig_Man_t *p)
static int Saig_ObjIsLo(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Ssw_ObjChild0Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
Cnf_Dat_t * Cnf_Derive(Aig_Man_t *pAig, int nOutputs)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
static Aig_Obj_t * Aig_ObjChild0(Aig_Obj_t *pObj)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Aig_ManStop(Aig_Man_t *p)
#define Saig_ManForEachLiLo(p, pObjLi, pObjLo, i)
int Ssw_NodesAreConstrained(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
static Aig_Obj_t * Saig_ObjLoToLi(Aig_Man_t *p, Aig_Obj_t *pObj)
int sat_solver_solve(sat_solver *s, lit *begin, lit *end, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, ABC_INT64_T nConfLimitGlobal, ABC_INT64_T nInsLimitGlobal)
int Ssw_ManSweepNodeConstr(Ssw_Man_t *p, Aig_Obj_t *pObj, int f, int fBmc)
void sat_solver_delete(sat_solver *s)
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)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
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 Aig_ManForEachCo(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Man_t_ Ssw_Man_t
INCLUDES ///.
static Aig_Obj_t * Aig_Not(Aig_Obj_t *p)
int Ssw_ClassesRefine(Ssw_Cla_t *p, int fRecursive)
static abctime Abc_Clock()
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int sat_solver_var_value(sat_solver *s, int v)
int Ssw_ManSweepConstr(Ssw_Man_t *p)
static Aig_Obj_t * Ssw_ObjChild1Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
void Ssw_ClassesRemoveNode(Ssw_Cla_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static int Aig_ManCoNum(Aig_Man_t *p)
void Ssw_ClassesClearRefined(Ssw_Cla_t *p)
static int Saig_ManConstrNum(Aig_Man_t *p)
int Ssw_ManSweepBmcConstr(Ssw_Man_t *p)
static void Bar_ProgressUpdate(Bar_Progress_t *p, int nItemsCur, char *pString)
#define Aig_ManForEachNode(p, pObj, i)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Saig_ManForEachLi(p, pObj, i)
ABC_NAMESPACE_IMPL_START Aig_Man_t * Ssw_FramesWithConstraints(Aig_Man_t *p, int nFrames)
DECLARATIONS ///.
static lit toLitCond(int v, int c)
static int Vec_IntEntry(Vec_Int_t *p, int i)
static int Aig_ManCiNum(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
static Aig_Obj_t * Aig_ObjChild1Copy(Aig_Obj_t *pObj)
static int Aig_ObjPhaseReal(Aig_Obj_t *pObj)
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 void Abc_Print(int level, const char *format,...)
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)
static void Aig_ObjSetCopy(Aig_Obj_t *pObj, Aig_Obj_t *pCopy)
#define ABC_NAMESPACE_IMPL_START
static Aig_Obj_t * Aig_ManCo(Aig_Man_t *p, int i)
static Aig_Obj_t * Aig_ObjCopy(Aig_Obj_t *pObj)
static int Aig_ManRegNum(Aig_Man_t *p)
int sat_solver_simplify(sat_solver *s)
static int Vec_IntSize(Vec_Int_t *p)
void * Cnf_DataWriteIntoSolver(Cnf_Dat_t *p, int nFrames, int fInit)
#define Aig_ManForEachObj(p, pObj, i)
static void Ssw_ObjSetFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
static int Saig_ManPiNum(Aig_Man_t *p)
MACRO DEFINITIONS ///.
Aig_Man_t * Ssw_FramesWithClasses(Ssw_Man_t *p)
void Cnf_DataFree(Cnf_Dat_t *p)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
#define Saig_ManForEachPo(p, pObj, i)
static int Aig_ObjId(Aig_Obj_t *pObj)
int Ssw_ManSweepBmcConstr_old(Ssw_Man_t *p)
Aig_Obj_t * Ssw_ManSweepBmcConstr_rec(Ssw_Man_t *p, Aig_Obj_t *pObj, int f)
int Ssw_NodesAreEquiv(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
DECLARATIONS ///.
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
void Ssw_ManPrintPolarity(Aig_Man_t *p)
void Ssw_ManRefineByConstrSim(Ssw_Man_t *p)
static void Vec_IntFree(Vec_Int_t *p)
int Ssw_ManSetConstrPhases_(Aig_Man_t *p, int nFrames, Vec_Int_t **pvInits)
void Bar_ProgressStop(Bar_Progress_t *p)
void Ssw_ManResimulateBit(Ssw_Man_t *p, Aig_Obj_t *pObj, Aig_Obj_t *pRepr)
DECLARATIONS ///.
Aig_Obj_t * Ssw_FramesWithClasses_rec(Ssw_Man_t *p, Aig_Obj_t *pObj, int f)
static int Saig_ObjIsPi(Aig_Man_t *p, Aig_Obj_t *pObj)
int Aig_ManCleanup(Aig_Man_t *p)
int Ssw_ClassesRefineConst1(Ssw_Cla_t *p, int fRecursive)
Bar_Progress_t * Bar_ProgressStart(FILE *pFile, int nItemsTotal)
FUNCTION DEFINITIONS ///.
int Ssw_ManSetConstrPhases(Aig_Man_t *p, int nFrames, Vec_Int_t **pvInits)
#define Saig_ManForEachPi(p, pObj, i)
void Ssw_SmlSavePatternAig(Ssw_Man_t *p, int f)
static Aig_Obj_t * Ssw_ObjFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)