diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-10-09 23:25:03 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-10-09 23:25:03 -0700 |
commit | c9fbac5f2e72b8259c28e135dafb6b21a3819c54 (patch) | |
tree | 2e63519b1fec875055635dc10a9fbdc6b510f8e9 /src/map/scl/sclMan.h | |
parent | 1e7ea2ca459184461c1461fb13e7fd54e0a467b8 (diff) | |
download | abc-c9fbac5f2e72b8259c28e135dafb6b21a3819c54.tar.gz abc-c9fbac5f2e72b8259c28e135dafb6b21a3819c54.tar.bz2 abc-c9fbac5f2e72b8259c28e135dafb6b21a3819c54.zip |
Improvements to gate sizing.
Diffstat (limited to 'src/map/scl/sclMan.h')
-rw-r--r-- | src/map/scl/sclMan.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/map/scl/sclMan.h b/src/map/scl/sclMan.h index 155dccc4..3a2daff7 100644 --- a/src/map/scl/sclMan.h +++ b/src/map/scl/sclMan.h @@ -108,7 +108,8 @@ static inline SC_Pair * Abc_SclObjSlew2( SC_Man * p, Abc_Obj_t * 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 float Abc_SclObjDepthMax( SC_Man * p, Abc_Obj_t * pObj ) { return Abc_MaxFloat(Abc_SclObjDept(p, pObj)->rise, Abc_SclObjDept(p, pObj)->fall); } -static inline float Abc_SclObjSlack( SC_Man * p, Abc_Obj_t * pObj, float D ) { return D - Abc_MaxFloat(Abc_SclObjTime(p, pObj)->rise + Abc_SclObjDept(p, pObj)->rise, Abc_SclObjTime(p, pObj)->fall + Abc_SclObjDept(p, pObj)->fall); } +static inline float Abc_SclObjGetSlack( SC_Man * p, Abc_Obj_t * pObj, float D ) { return D - Abc_MaxFloat(Abc_SclObjTime(p, pObj)->rise + Abc_SclObjDept(p, pObj)->rise, Abc_SclObjTime(p, pObj)->fall + Abc_SclObjDept(p, pObj)->fall); } +static inline float Abc_SclObjSlack( SC_Man * p, Abc_Obj_t * pObj ) { return p->pSlack[Abc_ObjId(pObj)]; } 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); } |