summaryrefslogtreecommitdiffstats
path: root/src/map/mpm
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-07-14 23:21:46 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-07-14 23:21:46 -0700
commita06234e87a32b9a33c1b95abb95aa4601f2b7920 (patch)
tree7d3a7eb1495a89ee42f6cc81fdebc0258e0a45f9 /src/map/mpm
parentdd29ca30a6afe0ba384a8985957a5bbead031911 (diff)
downloadabc-a06234e87a32b9a33c1b95abb95aa4601f2b7920.tar.gz
abc-a06234e87a32b9a33c1b95abb95aa4601f2b7920.tar.bz2
abc-a06234e87a32b9a33c1b95abb95aa4601f2b7920.zip
New technology mapper.
Diffstat (limited to 'src/map/mpm')
-rw-r--r--src/map/mpm/mpmCore.c6
-rw-r--r--src/map/mpm/mpmMan.c4
-rw-r--r--src/map/mpm/mpmMap.c4
3 files changed, 10 insertions, 4 deletions
diff --git a/src/map/mpm/mpmCore.c b/src/map/mpm/mpmCore.c
index ff36cfb9..99badbe2 100644
--- a/src/map/mpm/mpmCore.c
+++ b/src/map/mpm/mpmCore.c
@@ -76,10 +76,12 @@ Gia_Man_t * Mpm_ManPerformTest( Mig_Man_t * pMig, Mpm_Par_t * pPars )
Gia_Man_t * pNew;
Mpm_Man_t * p;
p = Mpm_ManStart( pMig, pPars );
- Mpm_ManPrintStatsInit( p );
+ if ( p->pPars->fVerbose )
+ Mpm_ManPrintStatsInit( p );
Mpm_ManPrepare( p );
Mpm_ManPerform( p );
- Mpm_ManPrintStats( p );
+ if ( p->pPars->fVerbose )
+ Mpm_ManPrintStats( p );
pNew = (Gia_Man_t *)Mpm_ManFromIfLogic( p );
Mpm_ManStop( p );
return pNew;
diff --git a/src/map/mpm/mpmMan.c b/src/map/mpm/mpmMan.c
index 224d837c..7e74e98e 100644
--- a/src/map/mpm/mpmMan.c
+++ b/src/map/mpm/mpmMan.c
@@ -113,7 +113,7 @@ Mpm_Man_t * Mpm_ManStart( Mig_Man_t * pMig, Mpm_Par_t * pPars )
***********************************************************************/
void Mpm_ManStop( Mpm_Man_t * p )
{
- if ( p->pPars->fUseTruth )
+ if ( p->pPars->fUseTruth && p->pPars->fVeryVerbose )
{
char * pFileName = "truths.txt";
FILE * pFile = fopen( pFileName, "wb" );
@@ -123,7 +123,7 @@ void Mpm_ManStop( Mpm_Man_t * p )
Vec_MemEntryNum(p->vTtMem), p->nLutSize, pFileName,
(16.0 * p->nTruWords + 1.0) * Vec_MemEntryNum(p->vTtMem) / (1 << 20) );
}
- if ( p->pPars->fUseDsd )
+ if ( p->pPars->fUseDsd && p->pPars->fVerbose )
Mpm_ManPrintDsdStats( p );
if ( p->vTtMem )
{
diff --git a/src/map/mpm/mpmMap.c b/src/map/mpm/mpmMap.c
index 077cfaeb..3aae666e 100644
--- a/src/map/mpm/mpmMap.c
+++ b/src/map/mpm/mpmMap.c
@@ -808,11 +808,15 @@ void Mpm_ManPerformRound( Mpm_Man_t * p )
Mpm_ManDeriveCuts( p, pObj );
assert( Mig_ManCandNum(p->pMig) == p->pManCuts->nEntries );
Mpm_ManFinalizeRound( p );
+ // report results
+ if ( p->pPars->fVerbose )
+ {
printf( "Del =%5d. Ar =%8d. Edge =%8d. Cut =%10d. Max =%8d. Tru =%8d. Small =%6d. ",
p->GloRequired, p->GloArea, p->GloEdge,
p->nCutsMerged, p->pManCuts->nEntriesMax,
p->vTtMem ? p->vTtMem->nEntries : 0, p->nSmallSupp );
Abc_PrintTime( 1, "Time", Abc_Clock() - clk );
+ }
}
void Mpm_ManPerform( Mpm_Man_t * p )
{