diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-07-21 01:01:53 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-07-21 01:01:53 -0700 |
commit | 1ed823c67d5ba9681a0d5a52aec576edc9ed2de2 (patch) | |
tree | 1fd5e7c8de97f0219b7c6db6d10b23fe8dcbeca6 /src/map/scl/sclMan.h | |
parent | ab84c73eb022b145faa040575d0e507e410035de (diff) | |
download | abc-1ed823c67d5ba9681a0d5a52aec576edc9ed2de2.tar.gz abc-1ed823c67d5ba9681a0d5a52aec576edc9ed2de2.tar.bz2 abc-1ed823c67d5ba9681a0d5a52aec576edc9ed2de2.zip |
Adding support for input slew and output capacitance to timer and gate-sizer.
Diffstat (limited to 'src/map/scl/sclMan.h')
-rw-r--r-- | src/map/scl/sclMan.h | 17 |
1 files changed, 17 insertions, 0 deletions
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 ); } |