52 for ( f = 0; f < p->nFrames; f++ )
111 if ( pObj->
Id > p->nSRMiterMaxId )
123 assert( p->pFrames->pFanData != NULL );
146 int i, iConstr, RetValue;
152 assert( pReprFrames != pObjFrames );
183 pObj0 =
Aig_ManCo( p->pFrames, 2*iConstr );
184 pObj1 =
Aig_ManCo( p->pFrames, 2*iConstr+1 );
193 if ( p->pMSat->pSat->qtail != p->pMSat->pSat->qhead )
232 for ( f = 1; f < p->nFrames; f++ )
245 for ( ; f < nFrames; f++ )
265 int RetValue1, RetValue2;
281 return RetValue1 > 0 || RetValue2 > 0;
298 int i, k, nSize, RetValue1, RetValue2;
308 for ( i = p->iNodeStart; i < p->iNodeLast + p->pPars->nResimDelta; i++ )
341 for ( k = 0; k < nSize; k++ )
359 return RetValue1 > 0 || RetValue2 > 0;
388 f = p->pPars->nFramesK;
398 assert( p->vSimInfo == NULL );
405 if ( p->pPars->fVerbose )
410 if ( p->iNodeStart == 0 )
412 if ( p->pPars->fVerbose )
423 if ( p->pMSat->pSat == NULL ||
424 (p->pPars->nSatVarMax2 &&
425 p->pMSat->nSatVars > p->pPars->nSatVarMax2 &&
426 p->nRecycleCalls > p->pPars->nRecycleCalls2) )
429 if ( p->nPatterns > 0 )
432 if ( p->pPars->fLocalSim )
447 p->nVarsMax =
Abc_MaxInt( p->nVarsMax, p->pMSat->nSatVars );
448 p->nCallsMax =
Abc_MaxInt( p->nCallsMax, p->pMSat->nSolverCalls );
452 p->nRecycleCalls = 0;
455 assert( p->nPatterns == 0 );
458 if ( p->nPatterns == 32 )
461 if ( p->pPars->fLocalSim )
469 if ( p->nPatterns > 0 )
472 if ( p->pPars->fLocalSim )
478 if ( p->pPars->fVerbose )
#define Aig_ObjForEachFanout(p, pObj, pFanout, iFan, i)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Ssw_ManCollectPos_rec(Ssw_Man_t *p, Aig_Obj_t *pObj, Vec_Int_t *vNewPos)
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)
ABC_NAMESPACE_IMPL_START Ssw_Sat_t * Ssw_SatStart(int fPolarFlip)
DECLARATIONS ///.
static int Saig_ObjIsLo(Aig_Man_t *p, Aig_Obj_t *pObj)
int Ssw_ManSweepResimulateDynLocal(Ssw_Man_t *p, int f)
static Aig_Obj_t * Ssw_ObjChild0Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
void Ssw_ManCollectPis_rec(Aig_Obj_t *pObj, Vec_Ptr_t *vNewPis)
static Aig_Obj_t * Aig_ObjChild0(Aig_Obj_t *pObj)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
int Ssw_NodesAreConstrained(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
int Ssw_ClassesRefineConst1Group(Ssw_Cla_t *p, Vec_Ptr_t *vRoots, int fRecursive)
static int Aig_IsComplement(Aig_Obj_t *p)
static void Vec_PtrCleanSimInfo(Vec_Ptr_t *vInfo, int iWord, int nWords)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
int Ssw_SmlNumFrames(Ssw_Sml_t *p)
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
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)
static Aig_Obj_t * Aig_ManObj(Aig_Man_t *p, int i)
void Ssw_SmlObjSetWord(Ssw_Sml_t *p, Aig_Obj_t *pObj, unsigned Word, int iWord, int iFrame)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Man_t_ Ssw_Man_t
INCLUDES ///.
int Ssw_ClassesRefine(Ssw_Cla_t *p, int fRecursive)
static abctime Abc_Clock()
static int Abc_MaxInt(int a, int b)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
int Ssw_ManSweepDyn(Ssw_Man_t *p)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
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 Aig_ManFanoutStart(Aig_Man_t *p)
FUNCTION DEFINITIONS ///.
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
void Ssw_ManSweepTransferDyn(Ssw_Man_t *p)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static int Aig_ManCoNum(Aig_Man_t *p)
void Ssw_ClassesClearRefined(Ssw_Cla_t *p)
static void Bar_ProgressUpdate(Bar_Progress_t *p, int nItemsCur, char *pString)
void Ssw_SmlAssignRandomFrame(Ssw_Sml_t *p, Aig_Obj_t *pObj, int iFrame)
ABC_NAMESPACE_IMPL_START void Ssw_ManLabelPiNodes(Ssw_Man_t *p)
DECLARATIONS ///.
int Ssw_ClassesRefineOneClass(Ssw_Cla_t *p, Aig_Obj_t *pReprOld, int fRecursive)
static int Aig_ManCiNum(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
int Ssw_ManSweepNode(Ssw_Man_t *p, Aig_Obj_t *pObj, int f, int fBmc, Vec_Int_t *vPairs)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
void Aig_ManSetCioIds(Aig_Man_t *p)
static int Aig_ManObjNumMax(Aig_Man_t *p)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
void Ssw_ManLoadSolver(Ssw_Man_t *p, Aig_Obj_t *pRepr, Aig_Obj_t *pObj)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static Aig_Obj_t * Aig_ManCo(Aig_Man_t *p, int i)
static int Aig_ManRegNum(Aig_Man_t *p)
int sat_solver_simplify(sat_solver *s)
void Ssw_SmlSimulateOne(Ssw_Sml_t *p)
Aig_Obj_t ** Ssw_ClassesReadClass(Ssw_Cla_t *p, Aig_Obj_t *pRepr, int *pnSize)
#define Aig_ManForEachObj(p, pObj, i)
static void Ssw_ObjSetFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
void Aig_ManCleanMarkAB(Aig_Man_t *p)
static int Ssw_ObjIsConst1Cand(Aig_Man_t *pAig, Aig_Obj_t *pObj)
Aig_Man_t * Ssw_FramesWithClasses(Ssw_Man_t *p)
static void Vec_PtrClear(Vec_Ptr_t *p)
void Ssw_SmlSimulateOneDyn_rec(Ssw_Sml_t *p, Aig_Obj_t *pObj, int f, int *pVisited, int nVisCounter)
void Ssw_SatStop(Ssw_Sat_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static int Aig_ObjIsCi(Aig_Obj_t *pObj)
static void Vec_IntClear(Vec_Int_t *p)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
void Bar_ProgressStop(Bar_Progress_t *p)
static int Aig_ObjIsCo(Aig_Obj_t *pObj)
int Ssw_ManSweepResimulateDyn(Ssw_Man_t *p, int f)
int Ssw_ClassesRefineConst1(Ssw_Cla_t *p, int fRecursive)
Bar_Progress_t * Bar_ProgressStart(FILE *pFile, int nItemsTotal)
FUNCTION DEFINITIONS ///.
static int Aig_ObjCioId(Aig_Obj_t *pObj)
static Vec_Ptr_t * Vec_PtrAllocSimInfo(int nEntries, int nWords)
void Ssw_SmlObjAssignConst(Ssw_Sml_t *p, Aig_Obj_t *pObj, int fConst1, int iFrame)
#define Saig_ManForEachPi(p, pObj, i)
static Aig_Obj_t * Ssw_ObjFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)