From 9b02fe59bdf1437c6de99c7dad348f3e18a19f10 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 28 Aug 2012 19:24:13 -0700 Subject: Added buffering based on combinational merging. --- src/map/scl/sclTime.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/map/scl/sclTime.c') diff --git a/src/map/scl/sclTime.c b/src/map/scl/sclTime.c index 45eb4ee5..160478c2 100644 --- a/src/map/scl/sclTime.c +++ b/src/map/scl/sclTime.c @@ -259,6 +259,23 @@ Abc_Obj_t * Abc_SclFindMostCritical( SC_Man * p, int * pfRise, Vec_Ptr_t * vNode assert( pPivot != NULL ); return pPivot; } +Abc_Obj_t * Abc_SclFindMostCriticalFanin( SC_Man * p, int * pfRise, Abc_Obj_t * pNode ) +{ + Abc_Obj_t * pObj, * pPivot = NULL; + float fMaxArr = 0; + int i; + Abc_ObjForEachFanin( pNode, pObj, i ) + { + SC_Pair * pArr = Abc_SclObjArr( p, pObj ); + if ( fMaxArr < pArr->rise ) fMaxArr = pArr->rise, *pfRise = 1, pPivot = pObj; + if ( fMaxArr < pArr->fall ) fMaxArr = pArr->fall, *pfRise = 0, pPivot = pObj; + } + assert( pPivot != NULL ); + return pPivot; +} +void Abc_SclCriticalPathPrint( SC_Man * p, Vec_Ptr_t * vNodes ) +{ +} void Abc_SclTimeNtkPrint( SC_Man * p, Vec_Ptr_t * vNodes ) { /* @@ -385,6 +402,7 @@ void Abc_SclTimeNtk( SC_Man * p ) Vec_PtrFree( vNodes ); } + /**Function************************************************************* Synopsis [] @@ -399,6 +417,7 @@ void Abc_SclTimeNtk( SC_Man * p ) void Abc_SclTimePerform( SC_Lib * pLib, void * pNtk ) { SC_Man * p; + p = Abc_SclManAlloc( pLib, (Abc_Ntk_t *)pNtk ); Abc_SclTimeNtk( p ); Abc_SclManFree( p ); -- cgit v1.2.3