21 #ifndef ABC__aig__ssw__sswInt_h
22 #define ABC__aig__ssw__sswInt_h
207 unsigned (*pFuncNodeHash)(
void *,
Aig_Obj_t *),
208 int (*pFuncNodeIsConst)(
void *,
Aig_Obj_t *),
void Ssw_SmlClean(Ssw_Sml_t *p)
void Ssw_ManStop(Ssw_Man_t *p)
unsigned Ssw_SmlObjHashWord(Ssw_Sml_t *p, Aig_Obj_t *pObj)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static Aig_Obj_t * Aig_ObjRepr(Aig_Man_t *p, Aig_Obj_t *pObj)
static void Vec_PtrSetEntry(Vec_Ptr_t *p, int i, void *Entry)
Vec_Ptr_t * Ssw_ClassesGetRefined(Ssw_Cla_t *p)
void Ssw_SmlStop(Ssw_Sml_t *p)
void Ssw_ManCleanup(Ssw_Man_t *p)
Ssw_Cla_t * Ssw_ClassesPrepareFromReprs(Aig_Man_t *pAig)
static Aig_Obj_t * Ssw_ObjChild0Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
int Ssw_ClassesPrepareRehash(Ssw_Cla_t *p, Vec_Ptr_t *vCands, int fConstCorr)
void Ssw_ClassesClearRefined(Ssw_Cla_t *p)
void Ssw_ManResimulateWord(Ssw_Man_t *p, Aig_Obj_t *pCand, Aig_Obj_t *pRepr, int f)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Ssw_ClassesCollectClass(Ssw_Cla_t *p, Aig_Obj_t *pRepr, Vec_Ptr_t *vClass)
Ssw_Cla_t * Ssw_ClassesPreparePairsSimple(Aig_Man_t *pMiter, Vec_Int_t *vPairs)
Vec_Ptr_t * vResimClasses
int Ssw_NodesAreConstrained(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
void Ssw_SatStop(Ssw_Sat_t *p)
int Ssw_ManSweepLatch(Ssw_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Pars_t_ Ssw_Pars_t
INCLUDES ///.
int Ssw_FilterUsingSemi(Ssw_Man_t *pMan, int fCheckTargets, int nConfMax, int fVerbose)
void Ssw_UniqueRegisterPairInfo(Ssw_Man_t *p)
DECLARATIONS ///.
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static void Ssw_ObjSetConst1Cand(Aig_Man_t *pAig, Aig_Obj_t *pObj)
static int Aig_IsComplement(Aig_Obj_t *p)
static void * Vec_PtrGetEntry(Vec_Ptr_t *p, int i)
static void Vec_IntSetEntry(Vec_Int_t *p, int i, int Entry)
Aig_Man_t * Ssw_SignalCorrespondenceRefine(Ssw_Man_t *p)
int Ssw_ManUniqueOne(Ssw_Man_t *p, Aig_Obj_t *pRepr, Aig_Obj_t *pObj, int fVerbose)
int Ssw_ClassesCand1Num(Ssw_Cla_t *p)
void Ssw_SmlObjSetWord(Ssw_Sml_t *p, Aig_Obj_t *pObj, unsigned Word, int iWord, int iFrame)
static int Vec_IntGetEntry(Vec_Int_t *p, int i)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Man_t_ Ssw_Man_t
INCLUDES ///.
void Ssw_SmlAssignDist1Plus(Ssw_Sml_t *p, unsigned *pPat)
static void Ssw_ObjSetFrame_(Ssw_Frm_t *p, Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
int Ssw_ManGetSatVarValue(Ssw_Man_t *p, Aig_Obj_t *pObj, int f)
DECLARATIONS ///.
int Ssw_ClassesRefine(Ssw_Cla_t *p, int fRecursive)
Ssw_Cla_t * Ssw_ClassesPrepareTargets(Aig_Man_t *pAig)
int Ssw_SmlObjIsConstWord(Ssw_Sml_t *p, Aig_Obj_t *pObj)
Aig_Obj_t ** Ssw_ClassesReadClass(Ssw_Cla_t *p, Aig_Obj_t *pRepr, int *pnSize)
static Aig_Obj_t * Ssw_ObjChild1Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
Aig_Man_t * Ssw_SpeculativeReduction(Ssw_Man_t *p)
Aig_Obj_t ** pNodeToFrames
int Ssw_SmlObjsAreEqualBit(void *p, Aig_Obj_t *pObj0, Aig_Obj_t *pObj1)
void Ssw_ClassesStop(Ssw_Cla_t *p)
Ssw_Cla_t * Ssw_ClassesPreparePairs(Aig_Man_t *pAig, Vec_Int_t **pvClasses)
void Ssw_CnfNodeAddToSolver(Ssw_Sat_t *p, Aig_Obj_t *pObj)
Ssw_Man_t * Ssw_ManCreate(Aig_Man_t *pAig, Ssw_Pars_t *pPars)
DECLARATIONS ///.
Ssw_Cla_t * Ssw_ClassesStart(Aig_Man_t *pAig)
static void Aig_ObjSetRepr(Aig_Man_t *p, Aig_Obj_t *pObj, Aig_Obj_t *pRepr)
int Ssw_ManSweep(Ssw_Man_t *p)
void Ssw_SmlAssignRandomFrame(Ssw_Sml_t *p, Aig_Obj_t *pObj, int iFrame)
Aig_Man_t * Ssw_ClassesReadAig(Ssw_Cla_t *p)
int Ssw_CnfGetNodeValue(Ssw_Sat_t *p, Aig_Obj_t *pObjFraig)
Ssw_Cla_t * Ssw_ClassesPrepare(Aig_Man_t *pAig, int nFramesK, int fLatchCorr, int fConstCorr, int fOutputCorr, int nMaxLevs, int fVerbose)
Ssw_Cla_t * Ssw_ClassesPrepareSimple(Aig_Man_t *pAig, int fLatchCorr, int nMaxLevs)
int Ssw_SmlObjsAreEqualWord(Ssw_Sml_t *p, Aig_Obj_t *pObj0, Aig_Obj_t *pObj1)
int Ssw_ClassesRefineOneClass(Ssw_Cla_t *p, Aig_Obj_t *pRepr, int fRecursive)
int Ssw_ManSweepNode(Ssw_Man_t *p, Aig_Obj_t *pObj, int f, int fBmc, Vec_Int_t *vPairs)
int Ssw_ManSweepDyn(Ssw_Man_t *p)
int Ssw_ManSweepBmc(Ssw_Man_t *p)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void Ssw_ClassesSetData(Ssw_Cla_t *p, void *pManData, unsigned(*pFuncNodeHash)(void *, Aig_Obj_t *), int(*pFuncNodeIsConst)(void *, Aig_Obj_t *), int(*pFuncNodesAreEqual)(void *, Aig_Obj_t *, Aig_Obj_t *))
#define ABC_NAMESPACE_HEADER_END
static Aig_Obj_t * Ssw_ObjFrame_(Ssw_Frm_t *p, Aig_Obj_t *pObj, int i)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static void Ssw_ObjSetSatNum(Ssw_Sat_t *p, Aig_Obj_t *pObj, int Num)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
int Ssw_ClassesRefineConst1Group(Ssw_Cla_t *p, Vec_Ptr_t *vRoots, int fRecursive)
void Ssw_ClassesCheck(Ssw_Cla_t *p)
int Ssw_SmlObjIsConstBit(void *p, Aig_Obj_t *pObj)
void Ssw_SmlSimulateOne(Ssw_Sml_t *p)
int Ssw_ManSweepBmcConstr(Ssw_Man_t *p)
Aig_Man_t * Ssw_FramesWithClasses(Ssw_Man_t *p)
int Ssw_NodeIsConstrained(Ssw_Man_t *p, Aig_Obj_t *pPoObj)
static void Ssw_ObjSetFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
Ssw_Frm_t * Ssw_FrmStart(Aig_Man_t *pAig)
FUNCTION DECLARATIONS ///.
int Ssw_ManUniqueAddConstraint(Ssw_Man_t *p, Vec_Ptr_t *vCommon, int f1, int f2)
void Ssw_ClassesPrint(Ssw_Cla_t *p, int fVeryVerbose)
int Ssw_ManSweepConstr(Ssw_Man_t *p)
int Ssw_ClassesRefineGroup(Ssw_Cla_t *p, Vec_Ptr_t *vReprs, int fRecursive)
int Ssw_ClassesClassNum(Ssw_Cla_t *p)
static int Ssw_ObjIsConst1Cand(Aig_Man_t *pAig, Aig_Obj_t *pObj)
int Ssw_ClassesRefineConst1(Ssw_Cla_t *p, int fRecursive)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
static int Ssw_ObjSatNum(Ssw_Sat_t *p, Aig_Obj_t *pObj)
MACRO DEFINITIONS ///.
Ssw_Sat_t * Ssw_SatStart(int fPolarFlip)
DECLARATIONS ///.
void Ssw_SmlResimulateSeq(Ssw_Sml_t *p)
static Aig_Obj_t * Ssw_ObjChild1Fra_(Ssw_Frm_t *p, Aig_Obj_t *pObj, int i)
static Aig_Obj_t * Ssw_ObjChild0Fra_(Ssw_Frm_t *p, Aig_Obj_t *pObj, int i)
void Ssw_ManLoadSolver(Ssw_Man_t *p, Aig_Obj_t *pRepr, Aig_Obj_t *pObj)
void Ssw_SmlSimulateOneDyn_rec(Ssw_Sml_t *p, Aig_Obj_t *pObj, int f, int *pVisited, int nVisCounter)
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_ClassesRemoveNode(Ssw_Cla_t *p, Aig_Obj_t *pObj)
void Ssw_ManRefineByConstrSim(Ssw_Man_t *p)
void Ssw_SmlSimulateOneFrame(Ssw_Sml_t *p)
int Ssw_ClassesLitNum(Ssw_Cla_t *p)
void Ssw_ManResimulateBit(Ssw_Man_t *p, Aig_Obj_t *pObj, Aig_Obj_t *pRepr)
DECLARATIONS ///.
void Ssw_FrmStop(Ssw_Frm_t *p)
Ssw_Sml_t * Ssw_SmlStart(Aig_Man_t *pAig, int nPref, int nFrames, int nWordsFrame)
void Ssw_SmlObjAssignConst(Ssw_Sml_t *p, Aig_Obj_t *pObj, int fConst1, int iFrame)
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)