summaryrefslogtreecommitdiffstats
path: root/src/base/abci
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-07-15 15:22:05 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-07-15 15:22:05 -0700
commitf8f37d261bfb513a804078bba396f7b040024ff7 (patch)
treed76d9d2ca3df6d81f30b75bdf4483520de7897b5 /src/base/abci
parenta06234e87a32b9a33c1b95abb95aa4601f2b7920 (diff)
downloadabc-f8f37d261bfb513a804078bba396f7b040024ff7.tar.gz
abc-f8f37d261bfb513a804078bba396f7b040024ff7.tar.bz2
abc-f8f37d261bfb513a804078bba396f7b040024ff7.zip
New technology mapper.
Diffstat (limited to 'src/base/abci')
-rw-r--r--src/base/abci/abc.c16
-rw-r--r--src/base/abci/abcMfs.c4
2 files changed, 17 insertions, 3 deletions
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 );