diff options
-rw-r--r-- | src/base/abci/abcTiming.c | 10 | ||||
-rw-r--r-- | src/map/mapper/mapperTime.c | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/base/abci/abcTiming.c b/src/base/abci/abcTiming.c index fe13b7ea..dc48b7e6 100644 --- a/src/base/abci/abcTiming.c +++ b/src/base/abci/abcTiming.c @@ -932,16 +932,16 @@ float Abc_NtkDelayTrace( Abc_Ntk_t * pNtk, Abc_Obj_t * pOut, Abc_Obj_t * pIn, in printf( "I/O time: (" ); Abc_ObjForEachFanin( pNode, pFanin, k ) printf( "%s%.1f", (k? ", ":""), Abc_NodeReadArrival(pFanin)->Worst ); - if ( Abc_NodeReadRequired(pNode)->Worst == -ABC_INFINITY ) - printf( " -> ?)" ); - else - printf( " -> %.1f)", Abc_NodeReadRequired(pNode)->Worst ); + printf( " -> %.1f)", Abc_NodeReadArrival(pNode)->Worst + Slack ); } printf( "\n" ); } printf( "Level %3d : ", Abc_ObjLevel(Abc_ObjFanin0(pOut)) + 1 ); printf( "Primary output \"%s\". ", Abc_ObjName(pOut) ); - printf( "Required time = %6.1f. ", Abc_NodeRequired(pOut)->Worst ); + if ( Abc_NodeRequired(pOut)->Worst == 0.0 ) + printf( "Required time = %6.1f. ", Abc_NodeReadArrival(Abc_ObjFanin0(pOut))->Worst ); + else + printf( "Required time = %6.1f. ", Abc_NodeRequired(pOut)->Worst ); printf( "Path slack = %6.1f.\n", Slack ); } Vec_PtrFree( vPath ); diff --git a/src/map/mapper/mapperTime.c b/src/map/mapper/mapperTime.c index 162e6f9a..414aa60c 100644 --- a/src/map/mapper/mapperTime.c +++ b/src/map/mapper/mapperTime.c @@ -253,7 +253,7 @@ void Map_TimeComputeRequired( Map_Man_t * p, float fRequired ) ptTimeA = Map_Regular(p->pOutputs[i])->tArrival + fPhase; // if external required time can be achieved, use it - if ( p->pOutputRequireds && p->pOutputRequireds[i].Worst > 0 && ptTimeA->Worst <= p->pOutputRequireds[i].Worst && p->pOutputRequireds[i].Worst <= fRequired ) + if ( p->pOutputRequireds && p->pOutputRequireds[i].Worst > 0 && ptTimeA->Worst <= p->pOutputRequireds[i].Worst )//&& p->pOutputRequireds[i].Worst <= fRequired ) ptTime->Rise = ptTime->Fall = ptTime->Worst = p->pOutputRequireds[i].Worst; // if external required cannot be achieved, set the earliest possible arrival time else if ( p->pOutputRequireds && p->pOutputRequireds[i].Worst > 0 && ptTimeA->Worst > p->pOutputRequireds[i].Worst ) |