diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2008-03-30 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2008-03-30 08:01:00 -0700 |
commit | 2c7f6e39b84d29db096388459db7583c01b79b01 (patch) | |
tree | 7fd628f0ac0391c45d2f8c95483887a984b8789c /src/map/if | |
parent | 93c3f16066b69c840dc636f827f5f3ca18749906 (diff) | |
download | abc-2c7f6e39b84d29db096388459db7583c01b79b01.tar.gz abc-2c7f6e39b84d29db096388459db7583c01b79b01.tar.bz2 abc-2c7f6e39b84d29db096388459db7583c01b79b01.zip |
Version abc80330
Diffstat (limited to 'src/map/if')
-rw-r--r-- | src/map/if/if.h | 9 | ||||
-rw-r--r-- | src/map/if/ifLib.c | 32 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/map/if/if.h b/src/map/if/if.h index d97a1154..61f81622 100644 --- a/src/map/if/if.h +++ b/src/map/if/if.h @@ -357,6 +357,15 @@ extern float If_CutEdgeDeref( If_Man_t * p, If_Cut_t * pCut ); extern float If_CutEdgeRef( If_Man_t * p, If_Cut_t * pCut ); extern float If_CutEdgeDerefed( If_Man_t * p, If_Cut_t * pCut ); extern float If_CutEdgeRefed( If_Man_t * p, If_Cut_t * pCut ); +/*=== ifLib.c =============================================================*/ +extern If_Lib_t * If_LutLibRead( char * FileName ); +extern If_Lib_t * If_LutLibDup( If_Lib_t * p ); +extern void If_LutLibFree( If_Lib_t * pLutLib ); +extern void If_LutLibPrint( If_Lib_t * pLutLib ); +extern int If_LutLibDelaysAreDiscrete( If_Lib_t * pLutLib ); +extern If_Lib_t * If_SetSimpleLutLib( int nLutSize ); +extern float If_LutLibFastestPinDelay( If_Lib_t * p ); +extern float If_LutLibSlowestPinDelay( If_Lib_t * p ); /*=== ifMan.c =============================================================*/ extern If_Man_t * If_ManStart( If_Par_t * pPars ); extern void If_ManRestart( If_Man_t * p ); diff --git a/src/map/if/ifLib.c b/src/map/if/ifLib.c index 2089ca3c..c5353e19 100644 --- a/src/map/if/ifLib.c +++ b/src/map/if/ifLib.c @@ -266,6 +266,38 @@ If_Lib_t * If_SetSimpleLutLib( int nLutSize ) return If_LutLibDup(pLutLib); } +/**Function************************************************************* + + Synopsis [Gets the delay of the fastest pin.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +float If_LutLibFastestPinDelay( If_Lib_t * p ) +{ + return !p? 1.0 : p->pLutDelays[p->LutMax][0]; +} + +/**Function************************************************************* + + Synopsis [Gets the delay of the slowest pin.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +float If_LutLibSlowestPinDelay( If_Lib_t * p ) +{ + return !p? 1.0 : (p->fVarPinDelays? p->pLutDelays[p->LutMax][p->LutMax-1]: p->pLutDelays[p->LutMax][0]); +} + //////////////////////////////////////////////////////////////////////// /// END OF FILE /// //////////////////////////////////////////////////////////////////////// |