diff options
Diffstat (limited to 'src/misc/tim/tim.h')
-rw-r--r-- | src/misc/tim/tim.h | 63 |
1 files changed, 34 insertions, 29 deletions
diff --git a/src/misc/tim/tim.h b/src/misc/tim/tim.h index 9a7667d5..1eb1de78 100644 --- a/src/misc/tim/tim.h +++ b/src/misc/tim/tim.h @@ -4,7 +4,7 @@ SystemName [ABC: Logic synthesis and verification system.] - PackageName [A timing manager.] + PackageName [Hierarchy/timing manager.] Synopsis [External declarations.] @@ -30,10 +30,7 @@ /// PARAMETERS /// //////////////////////////////////////////////////////////////////////// - - ABC_NAMESPACE_HEADER_START - //////////////////////////////////////////////////////////////////////// /// BASIC TYPES /// @@ -59,43 +56,51 @@ typedef struct Tim_Man_t_ Tim_Man_t; /// FUNCTION DECLARATIONS /// //////////////////////////////////////////////////////////////////////// -/*=== time.c ===========================================================*/ +/*=== timBox.c ===========================================================*/ +extern void Tim_ManCreateBox( Tim_Man_t * p, int firstIn, int nIns, int firstOut, int nOuts, int iDelayTable ); +extern int Tim_ManBoxForCi( Tim_Man_t * p, int iCo ); +extern int Tim_ManBoxForCo( Tim_Man_t * p, int iCi ); +extern int Tim_ManBoxInputFirst( Tim_Man_t * p, int iBox ); +extern int Tim_ManBoxOutputFirst( Tim_Man_t * p, int iBox ); +extern int Tim_ManBoxInputNum( Tim_Man_t * p, int iBox ); +extern int Tim_ManBoxOutputNum( Tim_Man_t * p, int iBox ); +extern float * Tim_ManBoxDelayTable( Tim_Man_t * p, int iBox ); +/*=== timDump.c ===========================================================*/ +extern Vec_Str_t * Tim_ManSave( Tim_Man_t * p ); +extern Tim_Man_t * Tim_ManLoad( Vec_Str_t * p ); +/*=== timMan.c ===========================================================*/ extern Tim_Man_t * Tim_ManStart( int nCis, int nCos ); -extern Tim_Man_t * Tim_ManDup( Tim_Man_t * p, int fDiscrete ); -extern Tim_Man_t * Tim_ManDupUnit( Tim_Man_t * p ); -extern Tim_Man_t * Tim_ManDupApprox( Tim_Man_t * p ); +extern Tim_Man_t * Tim_ManDup( Tim_Man_t * p, int fUnitDelay ); extern void Tim_ManStop( Tim_Man_t * p ); extern void Tim_ManStopP( Tim_Man_t ** p ); extern void Tim_ManPrint( Tim_Man_t * p ); +extern int Tim_ManCiNum( Tim_Man_t * p ); +extern int Tim_ManCoNum( Tim_Man_t * p ); +extern int Tim_ManPiNum( Tim_Man_t * p ); +extern int Tim_ManPoNum( Tim_Man_t * p ); +extern int Tim_ManBoxNum( Tim_Man_t * p ); +extern int Tim_ManDelayTableNum( Tim_Man_t * p ); +extern void Tim_ManSetDelayTables( Tim_Man_t * p, Vec_Ptr_t * vDelayTables ); extern void Tim_ManTravIdDisable( Tim_Man_t * p ); extern void Tim_ManTravIdEnable( Tim_Man_t * p ); +/*=== timTime.c ===========================================================*/ +extern void Tim_ManInitPiArrival( Tim_Man_t * p, int iPi, float Delay ); +extern void Tim_ManInitPoRequired( Tim_Man_t * p, int iPo, float Delay ); +extern void Tim_ManInitPiArrivalAll( Tim_Man_t * p, float Delay ); +extern void Tim_ManInitPoRequiredAll( Tim_Man_t * p, float Delay ); +extern void Tim_ManSetCoArrival( Tim_Man_t * p, int iCo, float Delay ); +extern void Tim_ManSetCiRequired( Tim_Man_t * p, int iCi, float Delay ); +extern void Tim_ManSetCoRequired( Tim_Man_t * p, int iCo, float Delay ); +extern float Tim_ManGetCiArrival( Tim_Man_t * p, int iCi ); +extern float Tim_ManGetCoRequired( Tim_Man_t * p, int iCo ); +/*=== timTrav.c ===========================================================*/ +extern void Tim_ManIncrementTravId( Tim_Man_t * p ); extern void Tim_ManSetCurrentTravIdBoxInputs( Tim_Man_t * p, int iBox ); extern void Tim_ManSetCurrentTravIdBoxOutputs( Tim_Man_t * p, int iBox ); extern void Tim_ManSetPreviousTravIdBoxInputs( Tim_Man_t * p, int iBox ); extern void Tim_ManSetPreviousTravIdBoxOutputs( Tim_Man_t * p, int iBox ); extern int Tim_ManIsCiTravIdCurrent( Tim_Man_t * p, int iCi ); extern int Tim_ManIsCoTravIdCurrent( Tim_Man_t * p, int iCo ); -extern void Tim_ManSetDelayTables( Tim_Man_t * p, Vec_Ptr_t * vDelayTables ); -extern void Tim_ManCreateBox( Tim_Man_t * p, int * pIns, int nIns, int * pOuts, int nOuts, float * pDelayTable ); -extern void Tim_ManCreateBoxFirst( Tim_Man_t * p, int firstIn, int nIns, int firstOut, int nOuts, float * pDelayTable ); -extern void Tim_ManIncrementTravId( Tim_Man_t * p ); -extern void Tim_ManInitCiArrival( Tim_Man_t * p, int iCi, float Delay ); -extern void Tim_ManInitCoRequired( Tim_Man_t * p, int iCo, float Delay ); -extern void Tim_ManSetCoArrival( Tim_Man_t * p, int iCo, float Delay ); -extern void Tim_ManSetCiRequired( Tim_Man_t * p, int iCi, float Delay ); -extern void Tim_ManSetCoRequired( Tim_Man_t * p, int iCo, float Delay ); -extern void Tim_ManSetCiArrivalAll( Tim_Man_t * p, float Delay ); -extern void Tim_ManSetCoRequiredAll( Tim_Man_t * p, float Delay ); -extern float Tim_ManGetCiArrival( Tim_Man_t * p, int iCi ); -extern float Tim_ManGetCoRequired( Tim_Man_t * p, int iCo ); -extern int Tim_ManBoxForCi( Tim_Man_t * p, int iCo ); -extern int Tim_ManBoxForCo( Tim_Man_t * p, int iCi ); -extern int Tim_ManBoxInputFirst( Tim_Man_t * p, int iBox ); -extern int Tim_ManBoxOutputFirst( Tim_Man_t * p, int iBox ); -extern int Tim_ManBoxInputNum( Tim_Man_t * p, int iBox ); -extern int Tim_ManBoxOutputNum( Tim_Man_t * p, int iBox ); -extern void Tim_ManChangeForAdders( Tim_Man_t * p ); - ABC_NAMESPACE_HEADER_END |