diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/aig/gia/gia.h | 4 | ||||
-rw-r--r-- | src/aig/gia/giaIf.c | 7 | ||||
-rw-r--r-- | src/aig/gia/giaMan.c | 2 | ||||
-rw-r--r-- | src/base/abci/abc.c | 30 |
4 files changed, 24 insertions, 19 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index addf27f3..f8668224 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -195,7 +195,7 @@ struct Gps_Par_t_ int fCut; int fNpn; int fLutProf; - int fDumpFile; + char * pDumpFile; }; typedef struct Emb_Par_t_ Emb_Par_t; @@ -1089,7 +1089,7 @@ extern void Gia_ManHashProfile( Gia_Man_t * p ); extern int Gia_ManHashLookup( Gia_Man_t * p, Gia_Obj_t * p0, Gia_Obj_t * p1 ); extern int Gia_ManHashAndMulti( Gia_Man_t * p, Vec_Int_t * vLits ); /*=== giaIf.c ===========================================================*/ -extern void Gia_ManPrintMappingStats( Gia_Man_t * p, int fDumpFile ); +extern void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile ); extern void Gia_ManPrintPackingStats( Gia_Man_t * p ); extern void Gia_ManPrintLutStats( Gia_Man_t * p ); extern int Gia_ManLutFaninCount( Gia_Man_t * p ); diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c index b267e7f3..d665b4cb 100644 --- a/src/aig/gia/giaIf.c +++ b/src/aig/gia/giaIf.c @@ -305,7 +305,7 @@ int Gia_ManComputeOverlap( Gia_Man_t * p ) SeeAlso [] ***********************************************************************/ -void Gia_ManPrintMappingStats( Gia_Man_t * p, int fDumpFile ) +void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile ) { int * pLevels; int i, k, iFan, nLutSize = 0, nLuts = 0, nFanins = 0, LevelMax = 0; @@ -331,12 +331,11 @@ void Gia_ManPrintMappingStats( Gia_Man_t * p, int fDumpFile ) Abc_Print( 1, "mem =%5.2f MB", 4.0*(Gia_ManObjNum(p) + 2*nLuts + nFanins)/(1<<20) ); Abc_Print( 1, "\n" ); - if ( fDumpFile ) + if ( pDumpFile ) { - char * pFileName = "stats_map.txt"; static char FileNameOld[1000] = {0}; static abctime clk = 0; - FILE * pTable = fopen( pFileName, "a+" ); + FILE * pTable = fopen( pDumpFile, "a+" ); if ( strcmp( FileNameOld, p->pName ) ) { sprintf( FileNameOld, "%s", p->pName ); diff --git a/src/aig/gia/giaMan.c b/src/aig/gia/giaMan.c index 00ab594e..805ab4f9 100644 --- a/src/aig/gia/giaMan.c +++ b/src/aig/gia/giaMan.c @@ -369,7 +369,7 @@ void Gia_ManPrintStats( Gia_Man_t * p, Gps_Par_t * pPars ) if ( p->pSibls ) Gia_ManPrintChoiceStats( p ); if ( Gia_ManHasMapping(p) ) - Gia_ManPrintMappingStats( p, pPars && pPars->fDumpFile ); + Gia_ManPrintMappingStats( p, pPars ? pPars->pDumpFile : NULL ); if ( pPars && pPars->fNpn && Gia_ManHasMapping(p) && Gia_ManLutSizeMax(p) <= 4 ) Gia_ManPrintNpnClasses( p ); if ( p->vPacking ) diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index b4910092..a0772184 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -25083,7 +25083,7 @@ int Abc_CommandAbc9Ps( Abc_Frame_t * pAbc, int argc, char ** argv ) int c; memset( pPars, 0, sizeof(Gps_Par_t) ); Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "tpcnldh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "Dtpcnlh" ) ) != EOF ) { switch ( c ) { @@ -25102,8 +25102,14 @@ int Abc_CommandAbc9Ps( Abc_Frame_t * pAbc, int argc, char ** argv ) case 'l': pPars->fLutProf ^= 1; break; - case 'd': - pPars->fDumpFile ^= 1; + case 'D': + if ( globalUtilOptind >= argc ) + { + Abc_Print( -1, "Command line switch \"-D\" should be followed by a file name.\n" ); + goto usage; + } + pPars->pDumpFile = argv[globalUtilOptind]; + globalUtilOptind++; break; case 'h': goto usage; @@ -25120,15 +25126,15 @@ int Abc_CommandAbc9Ps( Abc_Frame_t * pAbc, int argc, char ** argv ) return 0; usage: - Abc_Print( -2, "usage: &ps [-tpcnldh]\n" ); - Abc_Print( -2, "\t prints stats of the current AIG\n" ); - Abc_Print( -2, "\t-t : toggle printing BMC tents [default = %s]\n", pPars->fTents? "yes": "no" ); - Abc_Print( -2, "\t-p : toggle printing switching activity [default = %s]\n", pPars->fSwitch? "yes": "no" ); - Abc_Print( -2, "\t-c : toggle printing the size of frontier cut [default = %s]\n", pPars->fCut? "yes": "no" ); - Abc_Print( -2, "\t-n : toggle printing NPN classes of functions [default = %s]\n", pPars->fNpn? "yes": "no" ); - Abc_Print( -2, "\t-l : toggle printing LUT size profile [default = %s]\n", pPars->fLutProf? "yes": "no" ); - Abc_Print( -2, "\t-d : toggle dumping statistics into a file [default = %s]\n", pPars->fDumpFile? "yes": "no" ); - Abc_Print( -2, "\t-h : print the command usage\n"); + Abc_Print( -2, "usage: &ps [-tpcnlh] [-D file]\n" ); + Abc_Print( -2, "\t prints stats of the current AIG\n" ); + Abc_Print( -2, "\t-t : toggle printing BMC tents [default = %s]\n", pPars->fTents? "yes": "no" ); + Abc_Print( -2, "\t-p : toggle printing switching activity [default = %s]\n", pPars->fSwitch? "yes": "no" ); + Abc_Print( -2, "\t-c : toggle printing the size of frontier cut [default = %s]\n", pPars->fCut? "yes": "no" ); + Abc_Print( -2, "\t-n : toggle printing NPN classes of functions [default = %s]\n", pPars->fNpn? "yes": "no" ); + Abc_Print( -2, "\t-l : toggle printing LUT size profile [default = %s]\n", pPars->fLutProf? "yes": "no" ); + Abc_Print( -2, "\t-D file : file name to dump statistics [default = none]\n" ); + Abc_Print( -2, "\t-h : print the command usage\n"); return 1; } |