summaryrefslogtreecommitdiffstats
path: root/src/map
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-03-30 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2008-03-30 08:01:00 -0700
commit2c7f6e39b84d29db096388459db7583c01b79b01 (patch)
tree7fd628f0ac0391c45d2f8c95483887a984b8789c /src/map
parent93c3f16066b69c840dc636f827f5f3ca18749906 (diff)
downloadabc-2c7f6e39b84d29db096388459db7583c01b79b01.tar.gz
abc-2c7f6e39b84d29db096388459db7583c01b79b01.tar.bz2
abc-2c7f6e39b84d29db096388459db7583c01b79b01.zip
Version abc80330
Diffstat (limited to 'src/map')
-rw-r--r--src/map/if/if.h9
-rw-r--r--src/map/if/ifLib.c32
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 ///
////////////////////////////////////////////////////////////////////////