217 nCounter += !pFanin->
fMarkC;
286 Vec_Ptr_t * vStart, * vNext, * vCands1, * vCands2;
288 int i, k, nVertsMax, nCands;
318 printf(
"Node %6d : Fanins = %d. Fanouts = %3d. Cand1 = %3d. Cand2 = %3d.\n",
328 printf(
"Mergable LUTs = %6d. Total cands = %6d. ", p->
nVertsMax, nCands );
336 printf(
"GRAPH: Nodes = %6d. Edges = %6d. Pairs = %6d. ",
void Abc_NtkCollectCircle(Vec_Ptr_t *vStart, Vec_Ptr_t *vNext, int nFanMax)
void Nwk_ManGraphReportMemoryUsage(Nwk_Grf_t *p)
static unsigned Abc_ObjId(Abc_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static void Abc_NodeSetTravIdPrevious(Abc_Obj_t *p)
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
void Nwk_ManGraphFree(Nwk_Grf_t *p)
void Nwk_ManGraphSolve(Nwk_Grf_t *p)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static abctime Abc_Clock()
static int Vec_PtrSize(Vec_Ptr_t *p)
Vec_Int_t * Abc_NtkLutMerge(Abc_Ntk_t *pNtk, Nwk_LMPars_t *pPars)
void Abc_NtkCollectNonOverlapCands(Abc_Obj_t *pLut, Vec_Ptr_t *vStart, Vec_Ptr_t *vNext, Vec_Ptr_t *vCands, Nwk_LMPars_t *pPars)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
static int Abc_ObjLevel(Abc_Obj_t *pObj)
void Nwk_ManGraphHashEdge(Nwk_Grf_t *p, int iLut1, int iLut2)
int Abc_NtkCountTotalFanins(Abc_Obj_t *pLut, Abc_Obj_t *pCand)
ABC_NAMESPACE_IMPL_START Nwk_Grf_t * Nwk_ManGraphAlloc(int nVertsMax)
DECLARATIONS ///.
ABC_NAMESPACE_IMPL_START void Abc_NtkMarkFanins_rec(Abc_Obj_t *pLut, int nLevMin)
DECLARATIONS ///.
#define ABC_NAMESPACE_IMPL_END
static void Vec_PtrWriteEntry(Vec_Ptr_t *p, int i, void *Entry)
#define Abc_NtkForEachNode(pNtk, pNode, i)
#define ABC_NAMESPACE_IMPL_START
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
void Abc_NtkMarkFanouts_rec(Abc_Obj_t *pLut, int nLevMax, int nFanMax)
static int Vec_IntSize(Vec_Int_t *p)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Abc_ObjForEachFanin(pObj, pFanin, i)
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
static void Vec_PtrClear(Vec_Ptr_t *p)
void Abc_NtkCollectOverlapCands(Abc_Obj_t *pLut, Vec_Ptr_t *vCands, Nwk_LMPars_t *pPars)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static void Vec_PtrShrink(Vec_Ptr_t *p, int nSizeNew)
static void Abc_NodeSetTravIdCurrent(Abc_Obj_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)