21 #ifndef ABC__aig__fra__fra_h
22 #define ABC__aig__fra__fra_h
277 static inline int Fra_ImpCreate(
int Left,
int Right ) {
return (Right << 16) | Left; }
288 extern int Fra_FraigSat(
Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit,
int nLearnedStart,
int nLearnedDelta,
int nLearnedPerce,
int fFlipBits,
int fAndOuts,
int fNewSolver,
int fVerbose );
int Fra_ImpRefineUsingCex(Fra_Man_t *p, Vec_Int_t *vImps)
int Fra_ClassesRefine1(Fra_Cla_t *p, int fRefineNewClass, int *pSkipped)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
int Fra_ClassesCountPairs(Fra_Cla_t *p)
Aig_Obj_t ** pMemClassesFree
Aig_Man_t * Fra_ClassesDeriveAig(Fra_Cla_t *p, int nFramesK)
int Fra_SmlNodeIsConst(Aig_Obj_t *pObj)
ABC_INT64_T nInsLimitGlobal
void Fra_ManFinalizeComb(Fra_Man_t *p)
void Fra_ImpCompactArray(Vec_Int_t *vImps)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
void Fra_OneHotEstimateCoverage(Fra_Man_t *p, Vec_Int_t *vOneHots)
Fra_Man_t * Fra_ManStart(Aig_Man_t *pManAig, Fra_Par_t *pParams)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Fra_Sml_t * Fra_SmlSimulateSeq(Aig_Man_t *pAig, int nPref, int nFrames, int nWords, int fCheckMiter)
Fra_Cla_t * Fra_ClassesStart(Aig_Man_t *pAig)
FUNCTION DEFINITIONS ///.
Aig_Man_t * Fra_FraigEquivence(Aig_Man_t *pManAig, int nConfMax, int fProve)
int Fra_ImpVerifyUsingSimulation(Fra_Man_t *p)
int Fra_ClassesCountLits(Fra_Cla_t *p)
Aig_Man_t * Fra_FraigLatchCorrespondence(Aig_Man_t *pAig, int nFramesP, int nConfMax, int fProve, int fVerbose, int *pnIter, float TimeLimit)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static int Aig_IsComplement(Aig_Obj_t *p)
static void Fra_ObjSetFaninVec(Aig_Obj_t *pObj, Vec_Ptr_t *vFanins)
ABC_INT64_T nBTLimitGlobal
static Aig_Obj_t * Fra_ObjChild0Fra(Aig_Obj_t *pObj, int i)
void Fra_SecSetDefaultParams(Fra_Sec_t *p)
DECLARATIONS ///.
void Fra_BmcPerformSimple(Aig_Man_t *pAig, int nFrames, int nBTLimit, int fRewrite, int fVerbose)
unsigned Aig_ManRandom(int fReset)
Abc_Cex_t * Fra_SmlCopyCounterExample(Aig_Man_t *pAig, Aig_Man_t *pFrames, int *pModel)
Vec_Int_t * Fra_ImpDerive(Fra_Man_t *p, int nImpMaxLimit, int nImpUseLimit, int fLatchCorr)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
void Fra_ManClean(Fra_Man_t *p, int nNodesMax)
static void Fra_ObjSetFraig(Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
void Fra_ParamsDefaultSeq(Fra_Par_t *pParams)
void Fra_ClassesLatchCorr(Fra_Man_t *p)
Vec_Int_t * Fra_OneHotCompute(Fra_Man_t *p, Fra_Sml_t *pSim)
int Fra_NodeIsConst(Fra_Man_t *p, Aig_Obj_t *pNew)
Fra_Sml_t * Fra_SmlStart(Aig_Man_t *pAig, int nPref, int nFrames, int nWordsFrame)
int Fra_BmcNodesAreEqual(Aig_Obj_t *pObj0, Aig_Obj_t *pObj1)
FUNCTION DEFINITIONS ///.
int Fra_SmlNodeCountOnes(Fra_Sml_t *p, Aig_Obj_t *pObj)
void Fra_CnfNodeAddToSolver(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
static unsigned * Fra_ObjSim(Fra_Sml_t *p, int Id)
MACRO DEFINITIONS ///.
Aig_Man_t * Fra_FraigChoice(Aig_Man_t *pManAig, int nConfMax, int nLevelMax)
int(* pFuncNodesAreEqual)(Aig_Obj_t *, Aig_Obj_t *)
void Fra_ClassesPostprocess(Fra_Cla_t *p)
void Fra_ClassesPrepare(Fra_Cla_t *p, int fLatchCorr, int nMaxLevs)
Abc_Cex_t * Fra_SmlGetCounterExample(Fra_Sml_t *p)
void Fra_ParamsDefault(Fra_Par_t *pParams)
DECLARATIONS ///.
void Fra_FraigSweep(Fra_Man_t *pManAig)
static unsigned Fra_ObjRandomSim()
Aig_Man_t * Fra_ManPrepareComb(Fra_Man_t *p)
int Fra_NodesAreClause(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew, int fComplL, int fComplR)
static Aig_Obj_t * Fra_ObjFraig(Aig_Obj_t *pObj, int i)
int Fra_FraigCecPartitioned(Aig_Man_t *pMan1, Aig_Man_t *pMan2, int nConfLimit, int nPartSize, int fSmart, int fVerbose)
void Fra_ClassesPrint(Fra_Cla_t *p, int fVeryVerbose)
Fra_Sml_t * Fra_SmlSimulateComb(Aig_Man_t *pAig, int nWords, int fCheckMiter)
static void Fra_ObjSetSatNum(Aig_Obj_t *pObj, int Num)
int Fra_ImpCheckForNode(Fra_Man_t *p, Vec_Int_t *vImps, Aig_Obj_t *pNode, int Pos)
void Fra_BmcPerform(Fra_Man_t *p, int nPref, int nDepth)
int Fra_OneHotRefineUsingCex(Fra_Man_t *p, Vec_Int_t *vOneHots)
void Fra_ImpAddToSolver(Fra_Man_t *p, Vec_Int_t *vImps, int *pSatVarNums)
int Fra_BmcNodeIsConst(Aig_Obj_t *pObj)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void Fra_ClassesStop(Fra_Cla_t *p)
int(* pFuncNodeIsConst)(Aig_Obj_t *)
int Fra_FraigMiterAssertedOutput(Aig_Man_t *p)
double Fra_ImpComputeStateSpaceRatio(Fra_Man_t *p)
Fra_Sml_t * Fra_SmlSimulateCombGiven(Aig_Man_t *pAig, char *pFileName, int fCheckMiter, int fVerbose)
#define ABC_NAMESPACE_HEADER_END
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
void Fra_ManPrint(Fra_Man_t *p)
static void Fra_ClassObjSetRepr(Aig_Obj_t *pObj, Aig_Obj_t *pNode)
int Fra_FraigSec(Aig_Man_t *p, Fra_Sec_t *pParSec, Aig_Man_t **ppResult)
int Fra_SmlNodeHash(Aig_Obj_t *pObj, int nTableSize)
DECLARATIONS ///.
void Fra_SmlSimulate(Fra_Man_t *p, int fInit)
void Fra_ClassesSelectRepr(Fra_Cla_t *p)
void Fra_SmlResimulate(Fra_Man_t *p)
Aig_Man_t * Fra_FraigInduction(Aig_Man_t *p, Fra_Ssw_t *pPars)
typedefABC_NAMESPACE_HEADER_START struct Fra_Par_t_ Fra_Par_t
INCLUDES ///.
static int Fra_ImpRight(int Imp)
static Aig_Obj_t * Fra_ClassObjRepr(Aig_Obj_t *pObj)
void Fra_ManStop(Fra_Man_t *p)
int Fra_ClassesRefine(Fra_Cla_t *p)
int Fra_OneHotCount(Fra_Man_t *p, Vec_Int_t *vOneHots)
void Fra_ClassesCopyReprs(Fra_Cla_t *p, Vec_Ptr_t *vFailed)
static int Fra_ImpCreate(int Left, int Right)
int Fra_SmlNodeNotEquWeight(Fra_Sml_t *p, int Left, int Right)
int Fra_SmlNodesAreEqual(Aig_Obj_t *pObj0, Aig_Obj_t *pObj1)
static int Fra_ImpLeft(int Imp)
int Fra_NodesAreEquiv(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
FUNCTION DEFINITIONS ///.
void Fra_ImpRecordInManager(Fra_Man_t *p, Aig_Man_t *pNew)
Aig_Man_t * Fra_FraigPerform(Aig_Man_t *pManAig, Fra_Par_t *pPars)
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)
int Fra_FraigCec(Aig_Man_t **ppAig, int nConfLimit, int fVerbose)
static int Fra_ObjSatNum(Aig_Obj_t *pObj)
void Fra_OneHotCheck(Fra_Man_t *p, Vec_Int_t *vOneHots)
static Aig_Obj_t * Fra_ObjChild1Fra(Aig_Obj_t *pObj, int i)
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
int Fra_FraigMiterStatus(Aig_Man_t *p)
DECLARATIONS ///.
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
Aig_Man_t * Fra_OneHotCreateExdc(Fra_Man_t *p, Vec_Int_t *vOneHots)
int Fra_SmlCheckOutput(Fra_Man_t *p)
int(* pFuncNodeHash)(Aig_Obj_t *, int)
void Fra_OneHotAddKnownConstraint(Fra_Man_t *p, Vec_Ptr_t *vOnehots)
void Fra_BmcStop(Fra_Bmc_t *p)
static Vec_Ptr_t * Fra_ObjFaninVec(Aig_Obj_t *pObj)
int Fra_InvariantVerify(Aig_Man_t *p, int nFrames, Vec_Int_t *vClauses, Vec_Int_t *vLits)
DECLARATIONS ///.
void Fra_SmlSavePattern(Fra_Man_t *p)
int Fra_FraigSat(Aig_Man_t *pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int nLearnedStart, int nLearnedDelta, int nLearnedPerce, int fFlipBits, int fAndOuts, int fNewSolver, int fVerbose)
ITERATORS ///.
void Fra_SmlStop(Fra_Sml_t *p)
void Fra_ClassesTest(Fra_Cla_t *p, int Id1, int Id2)
void Fra_OneHotAssume(Fra_Man_t *p, Vec_Int_t *vOneHots)