From b9abf9c00c02feb52a2c796199343acebe20d8ef Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 9 Dec 2006 08:01:00 -0800 Subject: Version abc61209 --- src/map/if/ifCore.c | 49 ++++--------------------------------------------- 1 file changed, 4 insertions(+), 45 deletions(-) (limited to 'src/map/if/ifCore.c') diff --git a/src/map/if/ifCore.c b/src/map/if/ifCore.c index c5000dbe..c40ed893 100644 --- a/src/map/if/ifCore.c +++ b/src/map/if/ifCore.c @@ -43,7 +43,7 @@ int If_ManPerformMapping( If_Man_t * p ) { If_Obj_t * pObj; int nItersFlow = 1; - int nItersArea = 1; + int nItersArea = 2; int clkTotal = clock(); int i; // set arrival times and trivial cuts at const 1 and PIs @@ -57,21 +57,21 @@ int If_ManPerformMapping( If_Man_t * p ) if ( p->pPars->fPreprocess && !p->pPars->fArea && p->pPars->nCutsMax >= 4 ) If_ManPerformMappingPreprocess( p ); else - If_ManPerformMappingRound( p, p->pPars->nCutsMax, 0, 1 ); + If_ManPerformMappingRound( p, p->pPars->nCutsMax, 0, 1, "Delay" ); // try to improve area by expanding and reducing the cuts if ( p->pPars->fExpRed && !p->pPars->fTruth ) If_ManImproveMapping( p ); // area flow oriented mapping for ( i = 0; i < nItersFlow; i++ ) { - If_ManPerformMappingRound( p, p->pPars->nCutsMax, 1, 1 ); + If_ManPerformMappingRound( p, p->pPars->nCutsMax, 1, 1, "Flow" ); if ( p->pPars->fExpRed && !p->pPars->fTruth ) If_ManImproveMapping( p ); } // area oriented mapping for ( i = 0; i < nItersArea; i++ ) { - If_ManPerformMappingRound( p, p->pPars->nCutsMax, 2, 1 ); + If_ManPerformMappingRound( p, p->pPars->nCutsMax, 2, 1, "Area" ); if ( p->pPars->fExpRed && !p->pPars->fTruth ) If_ManImproveMapping( p ); } @@ -82,47 +82,6 @@ int If_ManPerformMapping( If_Man_t * p ) return 1; } -/**Function************************************************************* - - Synopsis [] - - Description [] - - SideEffects [] - - SeeAlso [] - -***********************************************************************/ -int If_ManPerformMappingRound( If_Man_t * p, int nCutsUsed, int Mode, int fRequired ) -{ - If_Obj_t * pObj; - int i, clk = clock(); - assert( Mode >= 0 && Mode <= 2 ); - // set the cut number - p->nCutsUsed = nCutsUsed; - p->nCutsMerged = 0; - p->nCutsMax = 0; - // map the internal nodes - If_ManForEachNode( p, pObj, i ) - If_ObjPerformMapping( p, pObj, Mode ); - // compute required times and stats - if ( fRequired ) - { - If_ManComputeRequired( p, Mode==0 ); - if ( p->pPars->fVerbose ) - { - char Symb = (Mode == 0)? 'D' : ((Mode == 1)? 'F' : 'A'); - printf( "%c: Del = %6.2f. Area = %8.2f. Cuts = %6d. Lim = %2d. Ave = %5.2f. ", - Symb, p->RequiredGlo, p->AreaGlo, p->nCutsMerged, p->nCutsUsed, 1.0 * p->nCutsMerged / If_ManAndNum(p) ); - PRT( "T", clock() - clk ); -// printf( "Max number of cuts = %d. Average number of cuts = %5.2f.\n", -// p->nCutsMax, 1.0 * p->nCutsMerged / If_ManAndNum(p) ); - } - } - return 1; -} - - //////////////////////////////////////////////////////////////////////// /// END OF FILE /// //////////////////////////////////////////////////////////////////////// -- cgit v1.2.3