From f8f37d261bfb513a804078bba396f7b040024ff7 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 15 Jul 2013 15:22:05 -0700 Subject: New technology mapper. --- src/base/abci/abc.c | 16 ++++++++++++++-- src/base/abci/abcMfs.c | 4 +++- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src/base/abci') diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c index d942e41b..73e96054 100644 --- a/src/base/abci/abc.c +++ b/src/base/abci/abc.c @@ -29522,7 +29522,7 @@ int Abc_CommandAbc9If2( Abc_Frame_t * pAbc, int argc, char ** argv ) // set defaults Mpm_ManSetParsDefault( pPars ); Extra_UtilGetoptReset(); - while ( ( c = Extra_UtilGetopt( argc, argv, "KDtmzrcuvwh" ) ) != EOF ) + while ( ( c = Extra_UtilGetopt( argc, argv, "KCDtmzrcuvwh" ) ) != EOF ) { switch ( c ) { @@ -29542,6 +29542,17 @@ int Abc_CommandAbc9If2( Abc_Frame_t * pAbc, int argc, char ** argv ) assert( pPars->pLib == NULL ); pPars->pLib = Mpm_LibLutSetSimple( nLutSize ); break; + case 'C': + if ( globalUtilOptind >= argc ) + { + Abc_Print( -1, "Command line switch \"-C\" should be followed by a positive integer.\n" ); + goto usage; + } + pPars->nNumCuts = atoi(argv[globalUtilOptind]); + globalUtilOptind++; + if ( pPars->nNumCuts < 0 ) + goto usage; + break; case 'D': if ( globalUtilOptind >= argc ) { @@ -29605,9 +29616,10 @@ usage: sprintf(Buffer, "best possible" ); else sprintf(Buffer, "%d", pPars->DelayTarget ); - Abc_Print( -2, "usage: &if2 [-KD num] [-tmzrcuvwh]\n" ); + Abc_Print( -2, "usage: &if2 [-KCD num] [-tmzrcuvwh]\n" ); Abc_Print( -2, "\t performs technology mapping of the network\n" ); Abc_Print( -2, "\t-K num : sets the LUT size for the mapping [default = %d]\n", nLutSize ); + Abc_Print( -2, "\t-C num : the max number of priority cuts (0 < num < 2^12) [default = %d]\n", pPars->nNumCuts ); Abc_Print( -2, "\t-D num : sets the delay constraint for the mapping [default = %s]\n", Buffer ); Abc_Print( -2, "\t-t : enables using AND/XOR/MUX nodes instead of simple AIG [default = %s]\n", pPars->fUseGates? "yes": "no" ); Abc_Print( -2, "\t-m : enables cut minimization by removing vacuous variables [default = %s]\n", pPars->fCutMin? "yes": "no" ); diff --git a/src/base/abci/abcMfs.c b/src/base/abci/abcMfs.c index dfd950dc..aa2a702e 100644 --- a/src/base/abci/abcMfs.c +++ b/src/base/abci/abcMfs.c @@ -232,7 +232,9 @@ int Abc_NtkPerformMfs( Abc_Ntk_t * pNtk, Sfm_Par_t * pPars ) nNodes = Sfm_NtkPerform( p, pPars ); // call the fast extract procedure if ( nNodes == 0 ) - Abc_Print( 1, "The network is not changed by \"mfs\".\n" ); + { +// Abc_Print( 1, "The network is not changed by \"mfs\".\n" ); + } else { Abc_NtkInsertMfs( pNtk, p ); -- cgit v1.2.3