48 int i, k, iBox, iTerm1, nTerms;
58 printf(
"Node %d has fanin %d that is not in a topological order.\n", pObj->Id, pNext->Id );
72 for ( k = 0; k < nTerms; k++ )
77 printf(
"Box %d has input %d that is not in a topological order.\n", iBox, pNext->Id );
106 int i, k, LevelMax, Level;
162 Tim_Man_t * pManTime = pObj->pMan->pManTime;
164 int i, iBox, iTerm1, nTerms, LevelMax = 0;
177 for ( i = 0; i < nTerms; i++ )
179 pNext =
Nwk_ManCo(pObj->pMan, iTerm1 + i);
387 for ( i = 0; i < nNodes; i++ )
409 int i, iBox, iTerm1, nTerms;
415 if ( pObj->pMan->pManTime )
422 for ( i = 0; i < nTerms; i++ )
424 pNext =
Nwk_ManCi(pObj->pMan, iTerm1 + i);
519 for ( i = 0; i < nNodes; i++ )
542 int i, nTotalSupps = 0;
549 printf(
"Total supports = %d.\n", nTotalSupps );
572 assert( pFanin->nFanouts > 0 );
573 if ( --pFanin->nFanouts == 0 )
598 if ( pFanin->nFanouts++ == 0 )
620 if ( !fTopmost && (
Nwk_ObjIsCi(pNode) || pNode->nFanouts > 0) )
654 assert( Count1 == Count2 );
int Tim_ManBoxOutputFirst(Tim_Man_t *p, int iBox)
int Tim_ManBoxForCi(Tim_Man_t *p, int iCo)
static Nwk_Obj_t * Nwk_ManCo(Nwk_Man_t *p, int i)
static int Nwk_ObjIsCi(Nwk_Obj_t *p)
static Nwk_Obj_t * Nwk_ManCi(Nwk_Man_t *p, int i)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Nwk_ManLevel_rec(Nwk_Obj_t *pObj)
static void Vec_VecPush(Vec_Vec_t *p, int Level, void *Entry)
ABC_DLL int Nwk_ManVerifyLevel(Nwk_Man_t *pNtk)
#define Nwk_ManForEachCo(p, pObj, i)
void Tim_ManIncrementTravId(Tim_Man_t *p)
DECLARATIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct Nwk_Obj_t_ Nwk_Obj_t
INCLUDES ///.
void Nwk_ObjMffcLabel_rec(Nwk_Obj_t *pNode, int fTopmost)
int Nwk_ManLevelMax(Nwk_Man_t *pNtk)
void Nwk_ManSupportNodes_rec(Nwk_Obj_t *pNode, Vec_Ptr_t *vNodes)
int Tim_ManBoxForCo(Tim_Man_t *p, int iCi)
#define Nwk_ManForEachCi(p, pObj, i)
ITERATORS ///.
void Tim_ManSetCoArrival(Tim_Man_t *p, int iCo, float Delay)
#define Nwk_ObjForEachFanout(pObj, pFanout, i)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
void Nwk_ManSupportSum(Nwk_Man_t *pNtk)
int Tim_ManBoxOutputNum(Tim_Man_t *p, int iBox)
Vec_Ptr_t * Nwk_ManSupportNodes(Nwk_Man_t *pNtk, Nwk_Obj_t **ppNodes, int nNodes)
static int Vec_PtrSize(Vec_Ptr_t *p)
int Nwk_ObjDeref_rec(Nwk_Obj_t *pNode)
#define Nwk_ManForEachPi(p, pObj, i)
int Nwk_ObjRef_rec(Nwk_Obj_t *pNode)
static int Nwk_ObjFaninNum(Nwk_Obj_t *p)
void Nwk_ManDfsNodes_rec(Nwk_Obj_t *pObj, Vec_Ptr_t *vNodes)
static void Nwk_ObjSetTravIdCurrent(Nwk_Obj_t *pObj)
static int Nwk_ObjIsCo(Nwk_Obj_t *p)
static int Nwk_ObjIsTravIdCurrent(Nwk_Obj_t *pObj)
void Nwk_ManDfs_rec(Nwk_Obj_t *pObj, Vec_Ptr_t *vNodes)
#define ABC_NAMESPACE_IMPL_END
#define Nwk_ManForEachPo(p, pObj, i)
Tim_Man_t * Tim_ManDup(Tim_Man_t *p, int fUnitDelay)
ABC_DLL void Nwk_ManIncrementTravId(Nwk_Man_t *pNtk)
DECLARATIONS ///.
Vec_Ptr_t * Nwk_ManDfs(Nwk_Man_t *pNtk)
void Tim_ManStop(Tim_Man_t *p)
static Vec_Vec_t * Vec_VecStart(int nSize)
int Nwk_ManLevelBackup(Nwk_Man_t *pNtk)
ABC_NAMESPACE_IMPL_START int Nwk_ManVerifyTopoOrder(Nwk_Man_t *pNtk)
DECLARATIONS ///.
int Tim_ManBoxInputNum(Tim_Man_t *p, int iBox)
static int Nwk_ObjIsNode(Nwk_Obj_t *p)
#define ABC_NAMESPACE_IMPL_START
Vec_Ptr_t * Nwk_ManDfsNodes(Nwk_Man_t *pNtk, Nwk_Obj_t **ppNodes, int nNodes)
void Nwk_ManDfsReverse_rec(Nwk_Obj_t *pObj, Vec_Ptr_t *vNodes)
static void Nwk_ObjSetLevel(Nwk_Obj_t *pObj, int Level)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Nwk_ObjForEachFanin(pObj, pFanin, i)
int Nwk_ManLevel(Nwk_Man_t *pNtk)
#define Nwk_ManForEachObj(p, pObj, i)
static Nwk_Obj_t * Nwk_ObjFanin0(Nwk_Obj_t *p)
Vec_Vec_t * Nwk_ManLevelize(Nwk_Man_t *pNtk)
static int Nwk_ObjLevel(Nwk_Obj_t *pObj)
Vec_Ptr_t * Nwk_ManDfsReverse(Nwk_Man_t *pNtk)
typedefABC_NAMESPACE_HEADER_START struct Tim_Man_t_ Tim_Man_t
INCLUDES ///.
int Tim_ManBoxInputFirst(Tim_Man_t *p, int iBox)
int Nwk_ObjMffcLabel(Nwk_Obj_t *pNode)
float Tim_ManGetCiArrival(Tim_Man_t *p, int iCi)
static void Vec_PtrFree(Vec_Ptr_t *p)
#define Nwk_ManForEachNode(p, pObj, i)