summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-04-06 12:52:26 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-04-06 12:52:26 -0700
commit5de8e60b9f4a13bcf76922d94eda65985dc3741b (patch)
treed9e948db89532736c3063a2387c39cb135a94f89
parent8c1513dfbcb5976ebc7ed37fa648fc8ac23417e8 (diff)
downloadabc-5de8e60b9f4a13bcf76922d94eda65985dc3741b.tar.gz
abc-5de8e60b9f4a13bcf76922d94eda65985dc3741b.tar.bz2
abc-5de8e60b9f4a13bcf76922d94eda65985dc3741b.zip
Improving printouts of critical path.
-rw-r--r--src/base/abci/abcTiming.c10
-rw-r--r--src/map/mapper/mapperTime.c2
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 )