Commit 0509440a by Alan Mishchenko

Improving printouts of critical path.

parent e908ff1c
...@@ -2322,7 +2322,7 @@ int Abc_CommandPrintDelay( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -2322,7 +2322,7 @@ int Abc_CommandPrintDelay( Abc_Frame_t * pAbc, int argc, char ** argv )
pObjOut = Abc_NtkObj( pNtk, Num ); pObjOut = Abc_NtkObj( pNtk, Num );
if ( pObjOut == NULL ) if ( pObjOut == NULL )
{ {
Abc_Print( -1, "Cannot find combinational output \"%s\".\n", argv[globalUtilOptind] ); Abc_Print( 1, "Cannot find combinational output \"%s\".\n", argv[globalUtilOptind] );
return 1; return 1;
} }
} }
...@@ -2336,7 +2336,7 @@ int Abc_CommandPrintDelay( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -2336,7 +2336,7 @@ int Abc_CommandPrintDelay( Abc_Frame_t * pAbc, int argc, char ** argv )
pObjIn = Abc_NtkObj( pNtk, Num ); pObjIn = Abc_NtkObj( pNtk, Num );
if ( pObjIn == NULL ) if ( pObjIn == NULL )
{ {
Abc_Print( -1, "Cannot find combinational input \"%s\".\n", argv[globalUtilOptind+1] ); Abc_Print( 1, "Cannot find combinational input \"%s\".\n", argv[globalUtilOptind+1] );
return 1; return 1;
} }
} }
......
...@@ -634,7 +634,7 @@ Vec_Int_t * Abc_NtkDelayTraceSlackStart( Abc_Ntk_t * pNtk ) ...@@ -634,7 +634,7 @@ Vec_Int_t * Abc_NtkDelayTraceSlackStart( Abc_Ntk_t * pNtk )
for ( k = 0; k < Abc_ObjFaninNum(pObj); k++ ) for ( k = 0; k < Abc_ObjFaninNum(pObj); k++ )
Vec_IntPush( vSlacks, -1 ); Vec_IntPush( vSlacks, -1 );
} }
assert( Vec_IntSize(vSlacks) == Vec_IntCap(vSlacks) ); // assert( Abc_MaxInt(16, Vec_IntSize(vSlacks)) == Vec_IntCap(vSlacks) );
return vSlacks; return vSlacks;
} }
...@@ -893,7 +893,7 @@ float Abc_NtkDelayTrace( Abc_Ntk_t * pNtk, Abc_Obj_t * pOut, Abc_Obj_t * pIn, in ...@@ -893,7 +893,7 @@ float Abc_NtkDelayTrace( Abc_Ntk_t * pNtk, Abc_Obj_t * pOut, Abc_Obj_t * pIn, in
int k, iFanin, Length = 0; int k, iFanin, Length = 0;
Abc_Obj_t * pFanin; Abc_Obj_t * pFanin;
// check the additional slack // check the additional slack
SlackAdd = (Abc_NodeRequired(pOut)->Worst == 0.0) ? 0.0 : Abc_NodeRequired(pOut)->Worst - Abc_NodeArrival(Abc_ObjFanin0(pOut))->Worst; SlackAdd = Abc_MaxFloat( 0.0, Abc_NodeRequired(pOut)->Worst - Abc_NodeArrival(Abc_ObjFanin0(pOut))->Worst );
// collect the critical path // collect the critical path
Abc_NtkDelayTraceCritPathCollect_rec( vSlacks, Abc_ObjFanin0(pOut), vBest, vPath ); Abc_NtkDelayTraceCritPathCollect_rec( vSlacks, Abc_ObjFanin0(pOut), vBest, vPath );
if ( pIn == NULL ) if ( pIn == NULL )
...@@ -941,7 +941,7 @@ float Abc_NtkDelayTrace( Abc_Ntk_t * pNtk, Abc_Obj_t * pOut, Abc_Obj_t * pIn, in ...@@ -941,7 +941,7 @@ float Abc_NtkDelayTrace( Abc_Ntk_t * pNtk, Abc_Obj_t * pOut, Abc_Obj_t * pIn, in
} }
printf( "Level %3d : ", Abc_ObjLevel(Abc_ObjFanin0(pOut)) + 1 ); printf( "Level %3d : ", Abc_ObjLevel(Abc_ObjFanin0(pOut)) + 1 );
printf( "Primary output \"%s\". ", Abc_ObjName(pOut) ); printf( "Primary output \"%s\". ", Abc_ObjName(pOut) );
if ( Abc_NodeRequired(pOut)->Worst == 0.0 ) if ( Abc_NodeRequired(pOut)->Worst - Abc_NodeArrival(Abc_ObjFanin0(pOut))->Worst <= 0.0 )
printf( "Required time = %6.1f. ", Abc_NodeReadArrival(Abc_ObjFanin0(pOut))->Worst ); printf( "Required time = %6.1f. ", Abc_NodeReadArrival(Abc_ObjFanin0(pOut))->Worst );
else else
printf( "Required time = %6.1f. ", Abc_NodeRequired(pOut)->Worst ); printf( "Required time = %6.1f. ", Abc_NodeRequired(pOut)->Worst );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment