From 1ed823c67d5ba9681a0d5a52aec576edc9ed2de2 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 21 Jul 2013 01:01:53 -0700 Subject: Adding support for input slew and output capacitance to timer and gate-sizer. --- src/map/scl/sclMan.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/map/scl/sclMan.h') diff --git a/src/map/scl/sclMan.h b/src/map/scl/sclMan.h index 495c2b34..a6bdd806 100644 --- a/src/map/scl/sclMan.h +++ b/src/map/scl/sclMan.h @@ -193,9 +193,26 @@ static inline void Abc_SclManFree( SC_Man * p ) } static inline void Abc_SclManCleanTime( SC_Man * p ) { + Vec_Flt_t * vSlews; + Abc_Obj_t * pObj; + int i; + vSlews = Vec_FltAlloc( 2 * Abc_NtkPiNum(p->pNtk) ); + Abc_NtkForEachPi( p->pNtk, pObj, i ) + { + SC_Pair * pSlew = Abc_SclObjSlew( p, pObj ); + Vec_FltPush( vSlews, pSlew->rise ); + Vec_FltPush( vSlews, pSlew->fall ); + } memset( p->pDepts, 0, sizeof(SC_Pair) * p->nObjs ); memset( p->pTimes, 0, sizeof(SC_Pair) * p->nObjs ); memset( p->pSlews, 0, sizeof(SC_Pair) * p->nObjs ); + Abc_NtkForEachPi( p->pNtk, pObj, i ) + { + SC_Pair * pSlew = Abc_SclObjSlew( p, pObj ); + pSlew->rise = Vec_FltEntry( vSlews, 2 * i + 0 ); + pSlew->fall = Vec_FltEntry( vSlews, 2 * i + 1 ); + } + Vec_FltFree( vSlews ); } -- cgit v1.2.3