30 #define IFIF_MAX_LEAVES 6
104 ppNodes[k++] = pFanin;
107 for ( a = k-1; a > 0; a-- )
158 int i, fVeryVerbose = 0;
161 float Delay1, DelayNew;
175 printf(
"Fanin %d : ", i );
204 if ( i < p->pPars->nDegree )
230 float Delay0 = 0, DelayNew;
232 assert( d >= 0 && d <= p->pPars->nDegree );
237 if ( i == 0 && d > 0 )
261 float Delay, Delay10, DegreeFinal;
273 printf(
"Running mapper into LUT structures with the following parameters:\n" );
274 printf(
"Pin+Wire: {" );
278 printf(
"Wire %3.2f Degree %d Type: %s\n",
295 for ( d = 0; d <= pPars->
nDegree; d++ )
315 for ( d = 0; d <= DegreeFinal; d++ )
326 Delay10 = 0.9 * Delay;
334 printf(
"Critical delay %5.2f. Critical outputs %5.2f %%\n", Delay, 100.0 * Count10 /
Abc_NtkCoNum(pNtk) );
static unsigned Abc_ObjId(Abc_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static float Abc_MinFloat(float a, float b)
static int Abc_ObjIsCi(Abc_Obj_t *pObj)
static int Abc_NtkObjNumMax(Abc_Ntk_t *pNtk)
Abc_IffMan_t * Abc_NtkIfifStart(Abc_Ntk_t *pNtk, Ifif_Par_t *pPars)
FUNCTION DEFINITIONS ///.
static int Abc_ObjFaninNum(Abc_Obj_t *pObj)
float Abc_ObjDelay0(Abc_IffMan_t *p, Abc_Obj_t *pObj)
#define Abc_NtkForEachCo(pNtk, pCo, i)
#define IFIF_MAX_LEAVES
DECLARATIONS ///.
ABC_DLL Vec_Ptr_t * Abc_NtkDfs(Abc_Ntk_t *pNtk, int fCollectAll)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
static float Abc_MaxFloat(float a, float b)
static int Abc_NtkCoNum(Abc_Ntk_t *pNtk)
#define ABC_SWAP(Type, a, b)
void Abc_NtkIfifStop(Abc_IffMan_t *p)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
float Abc_ObjDelayDegree(Abc_IffMan_t *p, Abc_Obj_t *pObj, int d)
float Delay[IFIF_MAX_LEAVES+1]
static int Abc_ObjLevel(Abc_Obj_t *pObj)
float Abc_ObjDelay1(Abc_IffMan_t *p, Abc_Obj_t *pObj)
void Abc_ObjSortByDelay(Abc_IffMan_t *p, Abc_Obj_t *pObj, int fDelay1, Abc_Obj_t **ppNodes)
#define ABC_NAMESPACE_IMPL_END
static Abc_IffObj_t * Abc_IffObj(Abc_IffMan_t *p, int i)
#define ABC_NAMESPACE_IMPL_START
#define Abc_ObjForEachFanin(pObj, pFanin, i)
void Abc_NtkPerformIfif(Abc_Ntk_t *pNtk, Ifif_Par_t *pPars)
#define ABC_CALLOC(type, num)
ABC_DLL int Abc_NtkToAig(Abc_Ntk_t *pNtk)
float pLutDelays[IF_MAX_LUTSIZE]
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
ABC_DLL int Abc_NtkLevel(Abc_Ntk_t *pNtk)
static float Abc_IffDelay(Abc_IffMan_t *p, Abc_Obj_t *pObj, int fDelay1)
static void Vec_PtrFree(Vec_Ptr_t *p)