diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-08-27 23:17:33 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-08-27 23:17:33 -0700 |
commit | 70a236379bb647ed6ada8b9381d182fab1d74d84 (patch) | |
tree | 5c839775b6668747719f5dcfd5b43197f2dbe69c | |
parent | 17343bf144fc1f4e0f291883fe3cef7e89947747 (diff) | |
download | abc-70a236379bb647ed6ada8b9381d182fab1d74d84.tar.gz abc-70a236379bb647ed6ada8b9381d182fab1d74d84.tar.bz2 abc-70a236379bb647ed6ada8b9381d182fab1d74d84.zip |
Tuning LUT mapping flow.
-rw-r--r-- | src/aig/gia/giaSopb.c | 8 | ||||
-rw-r--r-- | 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 ) ) |