summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-04-19 22:37:17 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-04-19 22:37:17 -0700
commited2f0ef34f3d5aa2490e037892d3feeeeddb2e61 (patch)
tree72d3dc995cf42b0b883351b801545016f7c9d26d
parent606fed3b847bc2029a9eb4622f0e23eae3c3bb1c (diff)
downloadabc-ed2f0ef34f3d5aa2490e037892d3feeeeddb2e61.tar.gz
abc-ed2f0ef34f3d5aa2490e037892d3feeeeddb2e61.tar.bz2
abc-ed2f0ef34f3d5aa2490e037892d3feeeeddb2e61.zip
Adding color to sizing stats.
-rw-r--r--src/map/scl/sclSize.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/map/scl/sclSize.c b/src/map/scl/sclSize.c
index f3fac8f6..ea7c552d 100644
--- a/src/map/scl/sclSize.c
+++ b/src/map/scl/sclSize.c
@@ -23,6 +23,10 @@
#include "misc/vec/vecWec.h"
#include "base/main/main.h"
+#ifdef WIN32
+#include <windows.h>
+#endif
+
ABC_NAMESPACE_IMPL_START
@@ -137,16 +141,38 @@ void Abc_SclTimeNtkPrint( SC_Man * p, int fShowAll, int fPrintPath )
float maxDelay = Abc_SclObjTimeOne( p, pPivot, fRise );
p->ReportDelay = maxDelay;
+#ifdef WIN32
printf( "WireLoad = \"%s\" ", p->pWLoadUsed ? p->pWLoadUsed->pName : "none" );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 14 ); // yellow
printf( "Gates =%7d ", Abc_NtkNodeNum(p->pNtk) );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 7 ); // normal
printf( "(%5.1f %%) ", 100.0 * Abc_SclGetBufInvCount(p->pNtk) / Abc_NtkNodeNum(p->pNtk) );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 10 ); // green
printf( "Cap =%5.1f ff ", p->EstLoadAve );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 7 ); // normal
printf( "(%5.1f %%) ", Abc_SclGetAverageSize(p->pNtk) );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 11 ); // blue
printf( "Area =%12.2f ", Abc_SclGetTotalArea(p->pNtk) );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 7 ); // normal
printf( "(%5.1f %%) ", 100.0 * Abc_SclCountMinSize(p->pLib, p->pNtk, 0) / Abc_NtkNodeNum(p->pNtk) );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 13 ); // magenta
printf( "Delay =%9.2f ps ", maxDelay );
+ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), 7 ); // normal
printf( "(%5.1f %%) ", 100.0 * Abc_SclCountNearCriticalNodes(p) / Abc_NtkNodeNum(p->pNtk) );
printf( " \n" );
+#else
+ Abc_Print( 1, "WireLoad = \"%s\" ", p->pWLoadUsed ? p->pWLoadUsed->pName : "none" );
+ Abc_Print( 1, "%sGates =%7d%s ", "\033[1;33m", Abc_NtkNodeNum(p->pNtk), "\033[1;36m" ); // yellow
+ Abc_Print( 1, "(%5.1f %%) ", 100.0 * Abc_SclGetBufInvCount(p->pNtk) / Abc_NtkNodeNum(p->pNtk) );
+ Abc_Print( 1, "%sCap =%5.1f ff%s ", "\033[1;32m", p->EstLoadAve, "\033[1;36m" ); // green
+ Abc_Print( 1, "(%5.1f %%) ", Abc_SclGetAverageSize(p->pNtk) );
+ Abc_Print( 1, "%sArea =%12.2f%s ", "\033[1;36m", Abc_SclGetTotalArea(p->pNtk), "\033[1;35m" ); // blue
+ Abc_Print( 1, "(%5.1f %%) ", 100.0 * Abc_SclCountMinSize(p->pLib, p->pNtk, 0) / Abc_NtkNodeNum(p->pNtk) );
+ Abc_Print( 1, "%sDelay =%9.2f ps%s ", "\033[1;35m", maxDelay, "\033[1;35m" ); // magenta
+ Abc_Print( 1, "(%5.1f %%) ", 100.0 * Abc_SclCountNearCriticalNodes(p) / Abc_NtkNodeNum(p->pNtk) );
+ Abc_Print( 1, " \n" );
+#endif
+
if ( fShowAll )
{
// printf( "Timing information for all nodes: \n" );