mirror of https://github.com/YosysHQ/abc.git
Bug fix and warning print.
This commit is contained in:
parent
054caacb3c
commit
038f296453
|
|
@ -156,6 +156,46 @@ ABC_PRT( "Total runtime", Abc_Clock() - clkTotal );
|
||||||
return pNtkNew;
|
return pNtkNew;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**Function*************************************************************
|
||||||
|
|
||||||
|
Synopsis [Load the network into manager.]
|
||||||
|
|
||||||
|
Description []
|
||||||
|
|
||||||
|
SideEffects []
|
||||||
|
|
||||||
|
SeeAlso []
|
||||||
|
|
||||||
|
***********************************************************************/
|
||||||
|
Map_Time_t * Abc_NtkMapCopyCiArrival( Abc_Ntk_t * pNtk, Abc_Time_t * ppTimes )
|
||||||
|
{
|
||||||
|
Map_Time_t * p;
|
||||||
|
int i;
|
||||||
|
p = ABC_CALLOC( Map_Time_t, Abc_NtkCiNum(pNtk) );
|
||||||
|
for ( i = 0; i < Abc_NtkCiNum(pNtk); i++ )
|
||||||
|
{
|
||||||
|
p->Fall = ppTimes[i].Fall;
|
||||||
|
p->Rise = ppTimes[i].Rise;
|
||||||
|
p->Worst = Abc_MaxFloat( p->Fall, p->Rise );
|
||||||
|
}
|
||||||
|
ABC_FREE( ppTimes );
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
Map_Time_t * Abc_NtkMapCopyCoRequired( Abc_Ntk_t * pNtk, Abc_Time_t * ppTimes )
|
||||||
|
{
|
||||||
|
Map_Time_t * p;
|
||||||
|
int i;
|
||||||
|
p = ABC_CALLOC( Map_Time_t, Abc_NtkCoNum(pNtk) );
|
||||||
|
for ( i = 0; i < Abc_NtkCoNum(pNtk); i++ )
|
||||||
|
{
|
||||||
|
p->Fall = ppTimes[i].Fall;
|
||||||
|
p->Rise = ppTimes[i].Rise;
|
||||||
|
p->Worst = Abc_MaxFloat( p->Fall, p->Rise );
|
||||||
|
}
|
||||||
|
ABC_FREE( ppTimes );
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
/**Function*************************************************************
|
/**Function*************************************************************
|
||||||
|
|
||||||
Synopsis [Load the network into manager.]
|
Synopsis [Load the network into manager.]
|
||||||
|
|
@ -185,8 +225,8 @@ Map_Man_t * Abc_NtkToMap( Abc_Ntk_t * pNtk, double DelayTarget, int fRecovery, f
|
||||||
Map_ManSetAreaRecovery( pMan, fRecovery );
|
Map_ManSetAreaRecovery( pMan, fRecovery );
|
||||||
Map_ManSetOutputNames( pMan, Abc_NtkCollectCioNames(pNtk, 1) );
|
Map_ManSetOutputNames( pMan, Abc_NtkCollectCioNames(pNtk, 1) );
|
||||||
Map_ManSetDelayTarget( pMan, (float)DelayTarget );
|
Map_ManSetDelayTarget( pMan, (float)DelayTarget );
|
||||||
Map_ManSetInputArrivals( pMan, (Map_Time_t *)Abc_NtkGetCiArrivalTimes(pNtk) );
|
Map_ManSetInputArrivals( pMan, Abc_NtkMapCopyCiArrival(pNtk, Abc_NtkGetCiArrivalTimes(pNtk)) );
|
||||||
Map_ManSetOutputRequireds( pMan, (Map_Time_t *)Abc_NtkGetCoRequiredTimes(pNtk) );
|
Map_ManSetOutputRequireds( pMan, Abc_NtkMapCopyCoRequired(pNtk, Abc_NtkGetCoRequiredTimes(pNtk)) );
|
||||||
|
|
||||||
// create PIs and remember them in the old nodes
|
// create PIs and remember them in the old nodes
|
||||||
Abc_NtkCleanCopy( pNtk );
|
Abc_NtkCleanCopy( pNtk );
|
||||||
|
|
|
||||||
|
|
@ -992,7 +992,6 @@ usage:
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
int Scl_CommandDumpGen( Abc_Frame_t * pAbc, int argc, char **argv )
|
int Scl_CommandDumpGen( Abc_Frame_t * pAbc, int argc, char **argv )
|
||||||
{
|
{
|
||||||
Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc);
|
|
||||||
char * pFileName;
|
char * pFileName;
|
||||||
float Slew = 100;
|
float Slew = 100;
|
||||||
float Gain = 2;
|
float Gain = 2;
|
||||||
|
|
|
||||||
|
|
@ -63,15 +63,19 @@ Vec_Int_t * Abc_SclManFindGates( SC_Lib * pLib, Abc_Ntk_t * p )
|
||||||
void Abc_SclManSetGates( SC_Lib * pLib, Abc_Ntk_t * p, Vec_Int_t * vGates )
|
void Abc_SclManSetGates( SC_Lib * pLib, Abc_Ntk_t * p, Vec_Int_t * vGates )
|
||||||
{
|
{
|
||||||
Abc_Obj_t * pObj;
|
Abc_Obj_t * pObj;
|
||||||
int i;
|
int i, Counter = 0, CounterAll = 0;
|
||||||
Abc_NtkForEachNode1( p, pObj, i )
|
Abc_NtkForEachNode1( p, pObj, i )
|
||||||
{
|
{
|
||||||
SC_Cell * pCell = SC_LibCell( pLib, Vec_IntEntry(vGates, Abc_ObjId(pObj)) );
|
SC_Cell * pCell = SC_LibCell( pLib, Vec_IntEntry(vGates, Abc_ObjId(pObj)) );
|
||||||
assert( pCell->n_inputs == Abc_ObjFaninNum(pObj) );
|
assert( pCell->n_inputs == Abc_ObjFaninNum(pObj) );
|
||||||
pObj->pData = Mio_LibraryReadGateByName( (Mio_Library_t *)p->pManFunc, pCell->pName, NULL );
|
pObj->pData = Mio_LibraryReadGateByName( (Mio_Library_t *)p->pManFunc, pCell->pName, NULL );
|
||||||
|
Counter += (pObj->pData == NULL);
|
||||||
assert( pObj->fMarkA == 0 && pObj->fMarkB == 0 );
|
assert( pObj->fMarkA == 0 && pObj->fMarkB == 0 );
|
||||||
|
CounterAll++;
|
||||||
//printf( "Found gate %s\n", pCell->name );
|
//printf( "Found gate %s\n", pCell->name );
|
||||||
}
|
}
|
||||||
|
if ( Counter )
|
||||||
|
printf( "Could not find %d (out of %d) gates in the current library.\n", Counter, CounterAll );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**Function*************************************************************
|
/**Function*************************************************************
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue