diff options
Diffstat (limited to 'src/base/abci')
-rw-r--r-- | src/base/abci/abc.c | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index 01bffece..b7c9e0cd 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -5676,41 +5676,41 @@ int Abc_CommandMfse( Abc_Frame_t * pAbc, int argc, char ** argv ) Acb_Par_t Pars, * pPars = &Pars; int c; Acb_ParSetDefault( pPars ); Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "MDOFLCavwh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "IOWFLCadvwh" ) ) != EOF ) { switch ( c ) { - case 'M': + case 'I': if ( globalUtilOptind >= argc ) { - Abc_Print( -1, "Command line switch \"-M\" should be followed by an integer.\n" ); + Abc_Print( -1, "Command line switch \"-I\" should be followed by an integer.\n" ); goto usage; } - pPars->nTabooMax = atoi(argv[globalUtilOptind]); + pPars->nTfiLevMax = atoi(argv[globalUtilOptind]); globalUtilOptind++; - if ( pPars->nTabooMax < 0 ) + if ( pPars->nTfiLevMax < 0 ) goto usage; break; - case 'D': + case 'O': if ( globalUtilOptind >= argc ) { - Abc_Print( -1, "Command line switch \"-D\" should be followed by an integer.\n" ); + Abc_Print( -1, "Command line switch \"-O\" should be followed by an integer.\n" ); goto usage; } - pPars->nDivMax = atoi(argv[globalUtilOptind]); + pPars->nTfoLevMax = atoi(argv[globalUtilOptind]); globalUtilOptind++; - if ( pPars->nDivMax < 0 ) + if ( pPars->nTfoLevMax < 0 ) goto usage; break; - case 'O': + case 'W': if ( globalUtilOptind >= argc ) { - Abc_Print( -1, "Command line switch \"-O\" should be followed by an integer.\n" ); + Abc_Print( -1, "Command line switch \"-W\" should be followed by an integer.\n" ); goto usage; } - pPars->nTfoLevMax = atoi(argv[globalUtilOptind]); + pPars->nWinNodeMax = atoi(argv[globalUtilOptind]); globalUtilOptind++; - if ( pPars->nTfoLevMax < 0 ) + if ( pPars->nWinNodeMax < 0 ) goto usage; break; case 'F': @@ -5749,6 +5749,9 @@ int Abc_CommandMfse( Abc_Frame_t * pAbc, int argc, char ** argv ) case 'a': pPars->fArea ^= 1; break; + case 'd': + pPars->fUseAshen ^= 1; + break; case 'v': pPars->fVerbose ^= 1; break; @@ -5777,6 +5780,7 @@ int Abc_CommandMfse( Abc_Frame_t * pAbc, int argc, char ** argv ) Abc_Print( -1, "Command is only applicable to LUT size no more than 6.\n" ); return 1; } + Abc_NtkToSop( pNtk, -1, ABC_INFINITY ); pNtkNew = Abc_NtkOptMfse( pNtk, pPars ); if ( pNtkNew == NULL ) { @@ -5787,15 +5791,16 @@ int Abc_CommandMfse( Abc_Frame_t * pAbc, int argc, char ** argv ) return 0; usage: - Abc_Print( -2, "usage: mfse [-MDOFLC <num>] [-avwh]\n" ); + Abc_Print( -2, "usage: mfse [-IOWFLC <num>] [-advwh]\n" ); Abc_Print( -2, "\t performs don't-care-based optimization of logic networks\n" ); - Abc_Print( -2, "\t-M <num> : the max number of fanin nodes to skip (num >= 1) [default = %d]\n", pPars->nTabooMax ); - Abc_Print( -2, "\t-D <num> : the max number of divisors [default = %d]\n", pPars->nDivMax ); + Abc_Print( -2, "\t-I <num> : the number of levels in the TFI cone (2 <= num) [default = %d]\n", pPars->nTfiLevMax ); Abc_Print( -2, "\t-O <num> : the number of levels in the TFO cone (0 <= num) [default = %d]\n", pPars->nTfoLevMax ); + Abc_Print( -2, "\t-W <num> : the max number of nodes in the window (1 <= num) [default = %d]\n", pPars->nWinNodeMax ); Abc_Print( -2, "\t-F <num> : the max number of fanouts to skip (1 <= num) [default = %d]\n", pPars->nFanoutMax ); Abc_Print( -2, "\t-L <num> : the max increase in node level after resynthesis (0 <= num) [default = %d]\n", pPars->nGrowthLevel ); Abc_Print( -2, "\t-C <num> : the max number of conflicts in one SAT run (0 = no limit) [default = %d]\n", pPars->nBTLimit ); Abc_Print( -2, "\t-a : toggle minimizing area [default = %s]\n", pPars->fArea? "area": "delay" ); + Abc_Print( -2, "\t-d : toggle using Ashenhurst decomposition [default = %s]\n", pPars->fUseAshen? "yes": "no" ); Abc_Print( -2, "\t-v : toggle printing optimization summary [default = %s]\n", pPars->fVerbose? "yes": "no" ); Abc_Print( -2, "\t-w : toggle printing detailed stats for each node [default = %s]\n", pPars->fVeryVerbose? "yes": "no" ); Abc_Print( -2, "\t-h : print the command usage\n"); @@ -12379,6 +12384,7 @@ int Abc_CommandTest( Abc_Frame_t * pAbc, int argc, char ** argv ) // extern void Cba_PrsReadBlifTest(); // Cba_PrsReadBlifTest(); } +// Abc_NtkComputePaths( Abc_FrameReadNtk(pAbc) ); return 0; usage: Abc_Print( -2, "usage: test [-CKDNM] [-aovwh] <file_name>\n" ); @@ -43485,7 +43491,7 @@ int Abc_CommandAbc9Test( Abc_Frame_t * pAbc, int argc, char ** argv ) // extern void Gia_ManCheckFalseTest( Gia_Man_t * p, int nSlackMax ); // extern void Gia_ParTest( Gia_Man_t * p, int nWords, int nProcs ); // extern void Gia_ManTisTest( Gia_Man_t * pInit ); - extern void Gia_Iso3Test( Gia_Man_t * p ); + extern void Gia_StoComputeCuts( Gia_Man_t * p ); Extra_UtilGetoptReset(); while ( ( c = Extra_UtilGetopt( argc, argv, "WPFsvh" ) ) != EOF ) @@ -43589,7 +43595,7 @@ int Abc_CommandAbc9Test( Abc_Frame_t * pAbc, int argc, char ** argv ) // Jf_ManTestCnf( pAbc->pGia ); // Gia_ManCheckFalseTest( pAbc->pGia, nFrames ); // Gia_ParTest( pAbc->pGia, nWords, nProcs ); -//Cec2_ManSimulateTest( pAbc->pGia ); + Gia_StoComputeCuts( pAbc->pGia ); // printf( "\nThis command is currently disabled.\n\n" ); return 0; usage: |