mirror of https://github.com/YosysHQ/abc.git
Adding APIs to specified input/output arrival/required times.
This commit is contained in:
parent
48e04c8f22
commit
61ce18e1ef
|
|
@ -53,6 +53,10 @@ extern int Cmd_CommandExecute( void * pAbc, char * pCommandLine );
|
|||
extern void Abc_NtkInputMiniAig( void * pAbc, void * pMiniAig );
|
||||
extern void * Abc_NtkOutputMiniAig( void * pAbc );
|
||||
|
||||
// procedures to set CI/CO arrival/required times
|
||||
extern void Abc_NtkSetCiArrivalTime( void * pAbc, int iCi, float Rise, float Fall );
|
||||
extern void Abc_NtkSetCoRequiredTime( void * pAbc, int iCo, float Rise, float Fall );
|
||||
|
||||
// procedures to return the mapped network
|
||||
extern int * Abc_NtkOutputMiniMapping( void * pAbc );
|
||||
extern void Abc_NtkPrintMiniMapping( int * pArray );
|
||||
|
|
|
|||
|
|
@ -927,6 +927,47 @@ void Abc_NtkTestMiniMapping( Abc_Ntk_t * p )
|
|||
Vec_IntFree( vMapping );
|
||||
}
|
||||
|
||||
/**Function*************************************************************
|
||||
|
||||
Synopsis [These APIs set arriva/required times of CIs/COs.]
|
||||
|
||||
Description []
|
||||
|
||||
SideEffects []
|
||||
|
||||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
void Abc_NtkSetCiArrivalTime( void * pAbc0, int iCi, float Rise, float Fall )
|
||||
{
|
||||
Abc_Frame_t * pAbc = (Abc_Frame_t *)pAbc0;
|
||||
Abc_Ntk_t * pNtk;
|
||||
Abc_Obj_t * pNode;
|
||||
if ( pAbc == NULL )
|
||||
printf( "ABC framework is not initialized by calling Abc_Start()\n" );
|
||||
pNtk = Abc_FrameReadNtk( pAbc );
|
||||
if ( pNtk == NULL )
|
||||
printf( "Current network in ABC framework is not defined.\n" );
|
||||
if ( iCi < 0 || iCi >= Abc_NtkCiNum(pNtk) )
|
||||
printf( "CI index is not valid.\n" );
|
||||
pNode = Abc_NtkCi( pNtk, iCi );
|
||||
Abc_NtkTimeSetArrival( pNtk, Abc_ObjId(pNode), Rise, Fall );
|
||||
}
|
||||
void Abc_NtkSetCoRequiredTime( void * pAbc0, int iCo, float Rise, float Fall )
|
||||
{
|
||||
Abc_Frame_t * pAbc = (Abc_Frame_t *)pAbc0;
|
||||
Abc_Ntk_t * pNtk;
|
||||
Abc_Obj_t * pNode;
|
||||
if ( pAbc == NULL )
|
||||
printf( "ABC framework is not initialized by calling Abc_Start()\n" );
|
||||
pNtk = Abc_FrameReadNtk( pAbc );
|
||||
if ( pNtk == NULL )
|
||||
printf( "Current network in ABC framework is not defined.\n" );
|
||||
if ( iCo < 0 || iCo >= Abc_NtkCoNum(pNtk) )
|
||||
printf( "CO index is not valid.\n" );
|
||||
pNode = Abc_NtkCo( pNtk, iCo );
|
||||
Abc_NtkTimeSetRequired( pNtk, Abc_ObjId(pNode), Rise, Fall );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
/// END OF FILE ///
|
||||
|
|
|
|||
Loading…
Reference in New Issue