From 70a236379bb647ed6ada8b9381d182fab1d74d84 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 27 Aug 2014 23:17:33 -0700 Subject: Tuning LUT mapping flow. --- src/aig/gia/giaSopb.c | 8 +++++--- src/base/abci/abc.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/aig/gia/giaSopb.c b/src/aig/gia/giaSopb.c index 96a28e56..36c9d725 100644 --- a/src/aig/gia/giaSopb.c +++ b/src/aig/gia/giaSopb.c @@ -348,7 +348,7 @@ void Gia_ManPerformMap( int nAnds, int nLutSize, int nCutNum, int fVerbose ) printf( "Mapping with &lf:\n" ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "&ps" ); } - if ( nAnds < 100000 ) + if ( (nLutSize == 4 && nAnds < 100000) || (nLutSize == 6 && nAnds < 2000) ) { sprintf( Command, "&unmap; &if -sz -S %d%d -K %d -C %d", nLutSize, nLutSize, 2*nLutSize-1, 2*nCutNum ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), Command ); @@ -375,26 +375,28 @@ void Gia_ManPerformRound( int fIsMapped, int nAnds, int nLevels, int nLutSize, i if ( nAnds < 50000 ) { Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "" ); - sprintf( Command, "&dsdb; &dch -f; &if -K %d -C %d; &save; &st", nLutSize, nCutNum ); + sprintf( Command, "&dsdb; &dch -f; &if -K %d -C %d; &save", nLutSize, nCutNum ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), Command ); if ( fVerbose ) { printf( "Mapping with &dch -f; &if -K %d -C %d:\n", nLutSize, nCutNum ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "&ps" ); } + Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "&st" ); } // perform AIG-based synthesis if ( nAnds < 20000 ) { Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "" ); - sprintf( Command, "&dsdb; &dch -f; &if -K %d -C %d; &save; &st", nLutSize, nCutNum ); + sprintf( Command, "&dsdb; &dch -f; &if -K %d -C %d; &save", nLutSize, nCutNum ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), Command ); if ( fVerbose ) { printf( "Mapping with &dch -f; &if -K %d -C %d:\n", nLutSize, nCutNum ); Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "&ps" ); } + Cmd_CommandExecute( Abc_FrameGetGlobalFrame(), "&st" ); } // perform first round of mapping diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 713e3104..44246a2f 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -25552,7 +25552,7 @@ int Abc_CommandAbc9Save( Abc_Frame_t * pAbc, int argc, char ** argv ) } if ( !Gia_ManHasMapping(pAbc->pGia) ) { - Abc_Print( -1, "GIA has not mapping.\n" ); + Abc_Print( -1, "GIA has no mapping.\n" ); return 1; } if ( !Gia_ManCompareWithBest( pAbc->pGiaBest, pAbc->pGia, &pAbc->nBestLuts, &pAbc->nBestEdges, &pAbc->nBestLevels ) ) -- cgit v1.2.3