summaryrefslogtreecommitdiffstats
path: root/src/map/scl/sclMan.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-08-30 11:10:02 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-08-30 11:10:02 -0700
commit6dd270d41f8ac2d0bb56e099fa296b4d0b242811 (patch)
tree1f6d42fa3402fa9ec32f55c6292155d06f4c4e23 /src/map/scl/sclMan.h
parentc84f26c9b1c769f80749f6a1e1e499f7a27c3f95 (diff)
downloadabc-6dd270d41f8ac2d0bb56e099fa296b4d0b242811.tar.gz
abc-6dd270d41f8ac2d0bb56e099fa296b4d0b242811.tar.bz2
abc-6dd270d41f8ac2d0bb56e099fa296b4d0b242811.zip
Improvements to gate-sizing.
Diffstat (limited to 'src/map/scl/sclMan.h')
-rw-r--r--src/map/scl/sclMan.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/map/scl/sclMan.h b/src/map/scl/sclMan.h
index 7d49c773..3257430b 100644
--- a/src/map/scl/sclMan.h
+++ b/src/map/scl/sclMan.h
@@ -80,6 +80,8 @@ static inline SC_Pair * Abc_SclObjSlew( SC_Man * p, Abc_Obj_t * pObj ) { re
static inline SC_Pair * Abc_SclObjTime2( SC_Man * p, Abc_Obj_t * pObj ) { return p->pTimes2 + Abc_ObjId(pObj); }
static inline SC_Pair * Abc_SclObjSlew2( SC_Man * p, Abc_Obj_t * pObj ) { return p->pSlews2 + Abc_ObjId(pObj); }
+static inline float Abc_SclObjTimeMax( SC_Man * p, Abc_Obj_t * pObj ) { return Abc_MaxFloat(Abc_SclObjTime(p, pObj)->rise, Abc_SclObjTime(p, pObj)->fall); }
+
static inline void Abc_SclObjDupFanin( SC_Man * p, Abc_Obj_t * pObj ) { assert( Abc_ObjIsCo(pObj) ); *Abc_SclObjTime(p, pObj) = *Abc_SclObjTime(p, Abc_ObjFanin0(pObj)); }
static inline float Abc_SclObjGain( SC_Man * p, Abc_Obj_t * pObj ) { return (Abc_SclObjTime2(p, pObj)->rise - Abc_SclObjTime(p, pObj)->rise) + (Abc_SclObjTime2(p, pObj)->fall - Abc_SclObjTime(p, pObj)->fall); }
@@ -200,8 +202,8 @@ static inline float Abc_SclGetMaxDelay( SC_Man * p )
/*=== sclTime.c =============================================================*/
-extern Vec_Int_t * Abc_SclFindCriticalPath( SC_Man * p );
extern Abc_Obj_t * Abc_SclFindCriticalCo( SC_Man * p, int * pfRise );
+extern Abc_Obj_t * Abc_SclFindMostCriticalFanin( SC_Man * p, int * pfRise, Abc_Obj_t * pNode );
extern void Abc_SclTimeNtkPrint( SC_Man * p, int fShowAll );
extern SC_Man * Abc_SclManStart( SC_Lib * pLib, Abc_Ntk_t * pNtk );
extern void Abc_SclTimeCone( SC_Man * p, Vec_Int_t * vCone );