summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2015-07-09 11:50:24 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2015-07-09 11:50:24 -0700
commit10e0f3c58dbe344ea8f22e66e2658bda75b40d03 (patch)
treee5b63ce519910a6a40f8e21e0b7f7b5f13b38d0f /src
parentf4d72b2af23afccaf8f69d28adad5cecd9afc5da (diff)
downloadabc-10e0f3c58dbe344ea8f22e66e2658bda75b40d03.tar.gz
abc-10e0f3c58dbe344ea8f22e66e2658bda75b40d03.tar.bz2
abc-10e0f3c58dbe344ea8f22e66e2658bda75b40d03.zip
Small changes to enable collecting results using &ps -D file.
Diffstat (limited to 'src')
-rw-r--r--src/aig/gia/gia.h2
-rw-r--r--src/aig/gia/giaIf.c21
-rw-r--r--src/map/if/if.h1
-rw-r--r--src/map/if/ifCore.c1
4 files changed, 18 insertions, 7 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h
index db8be236..5f135a10 100644
--- a/src/aig/gia/gia.h
+++ b/src/aig/gia/gia.h
@@ -176,6 +176,8 @@ struct Gia_Man_t_
int iData2; // various user data
int nAnd2Delay; // AND2 delay scaled to match delay numbers used
int fVerbose; // verbose reports
+ int MappedArea; // area after mapping
+ int MappedDelay; // delay after mapping
// bit-parallel simulation
int iPatsPi;
Vec_Wrd_t * vSims;
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c
index 3ba43803..7a66410b 100644
--- a/src/aig/gia/giaIf.c
+++ b/src/aig/gia/giaIf.c
@@ -499,7 +499,7 @@ void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile )
if ( nMuxF )
Gia_ManCountDupLut( p );
- return;
+ //return;
if ( pDumpFile )
{
static char FileNameOld[1000] = {0};
@@ -513,19 +513,24 @@ void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile )
// fprintf( pTable, "%d ", Gia_ManCiNum(p) );
// fprintf( pTable, "%d ", Gia_ManCoNum(p) );
// fprintf( pTable, "%d ", Gia_ManAndNum(p) );
- fprintf( pTable, "%d ", Gia_ManPiNum(p) - Gia_ManBoxCiNum(p) - Gia_ManRegBoxNum(p) );
- fprintf( pTable, "%d ", Gia_ManPoNum(p) - Gia_ManBoxCoNum(p) - Gia_ManRegBoxNum(p) );
- fprintf( pTable, "%d ", Gia_ManClockDomainNum(p) );
+// fprintf( pTable, "%d ", Gia_ManPiNum(p) - Gia_ManBoxCiNum(p) - Gia_ManRegBoxNum(p) );
+// fprintf( pTable, "%d ", Gia_ManPoNum(p) - Gia_ManBoxCoNum(p) - Gia_ManRegBoxNum(p) );
+// fprintf( pTable, "%d ", Gia_ManClockDomainNum(p) );
fprintf( pTable, " " );
- fprintf( pTable, "%d ", nLuts );
+ fprintf( pTable, "%d ", p->MappedDelay );
+ fprintf( pTable, "%d ", p->MappedArea );
+ fprintf( pTable, "%d ", nFanins );
fprintf( pTable, "%d ", LevelMax );
- fprintf( pTable, "%d ", Gia_ManRegBoxNum(p) );
- fprintf( pTable, "%d ", Gia_ManNonRegBoxNum(p) );
+ fprintf( pTable, "%d ", nLuts );
+// fprintf( pTable, "%d ", Gia_ManRegBoxNum(p) );
+// fprintf( pTable, "%d ", Gia_ManNonRegBoxNum(p) );
clk = Abc_Clock();
}
else
{
+ printf( "This part of the code is currently not used.\n" );
+ assert( 0 );
fprintf( pTable, " " );
fprintf( pTable, "%d ", nLuts );
fprintf( pTable, "%d ", LevelMax );
@@ -2153,6 +2158,8 @@ Gia_Man_t * Gia_ManPerformMapping( Gia_Man_t * p, void * pp )
pNew = Gia_ManPerformMappingInt( p, (If_Par_t *)pp );
Gia_ManTransferTiming( pNew, p );
}
+ pNew->MappedDelay = (int)((If_Par_t *)pp)->FinalDelay;
+ pNew->MappedArea = (int)((If_Par_t *)pp)->FinalArea;
return pNew;
}
diff --git a/src/map/if/if.h b/src/map/if/if.h
index 8616783b..9c891c3d 100644
--- a/src/map/if/if.h
+++ b/src/map/if/if.h
@@ -159,6 +159,7 @@ struct If_Par_t_
int fUseCoAttrs; // use CO attributes
float DelayTargetNew;// new delay target
float FinalDelay; // final delay after mapping
+ float FinalArea; // final area after mapping
If_LibLut_t * pLutLib; // the LUT library
float * pTimesArr; // arrival times
float * pTimesReq; // required times
diff --git a/src/map/if/ifCore.c b/src/map/if/ifCore.c
index b7eb7bc0..0c9287a1 100644
--- a/src/map/if/ifCore.c
+++ b/src/map/if/ifCore.c
@@ -187,6 +187,7 @@ int If_ManPerformMappingComb( If_Man_t * p )
}
*/
p->pPars->FinalDelay = p->RequiredGlo;
+ p->pPars->FinalArea = p->AreaGlo;
return 1;
}