From ed2f0ef34f3d5aa2490e037892d3feeeeddb2e61 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 19 Apr 2014 22:37:17 -0700 Subject: Adding color to sizing stats. --- src/map/scl/sclSize.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src') 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 +#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" ); -- cgit v1.2.3