summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-06-11 22:21:55 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-06-11 22:21:55 -0700
commit0d1a1c462459fd2be96caa027ad619376b66d658 (patch)
treeff570bfef5720df5e5ba6db7eb58c1c180ff2526
parenta3ae0afed0a380bfc028d815b1148b0e9df40656 (diff)
downloadabc-0d1a1c462459fd2be96caa027ad619376b66d658.tar.gz
abc-0d1a1c462459fd2be96caa027ad619376b66d658.tar.bz2
abc-0d1a1c462459fd2be96caa027ad619376b66d658.zip
Adding switch to &st to convert to larger gates.
-rw-r--r--src/base/abci/abc.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index db710590..dbd1fda4 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -25625,10 +25625,11 @@ usage:
int Abc_CommandAbc9Hash( Abc_Frame_t * pAbc, int argc, char ** argv )
{
Gia_Man_t * pTemp;
- int c, fCollapse = 0;
- int fAddStrash = 0;
+ int c, fAddStrash = 0;
+ int fCollapse = 0;
+ int fAddMuxes = 0;
Extra_UtilGetoptReset();
- while ( ( c = Extra_UtilGetopt( argc, argv, "ach" ) ) != EOF )
+ while ( ( c = Extra_UtilGetopt( argc, argv, "acmh" ) ) != EOF )
{
switch ( c )
{
@@ -25638,6 +25639,9 @@ int Abc_CommandAbc9Hash( Abc_Frame_t * pAbc, int argc, char ** argv )
case 'c':
fCollapse ^= 1;
break;
+ case 'm':
+ fAddMuxes ^= 1;
+ break;
case 'h':
goto usage;
default:
@@ -25649,7 +25653,9 @@ int Abc_CommandAbc9Hash( Abc_Frame_t * pAbc, int argc, char ** argv )
Abc_Print( -1, "Abc_CommandAbc9Hash(): There is no AIG.\n" );
return 1;
}
- if ( fCollapse && pAbc->pGia->pAigExtra )
+ if ( fAddMuxes )
+ pTemp = Gia_ManDupMuxes( pAbc->pGia );
+ else if ( fCollapse && pAbc->pGia->pAigExtra )
{
Gia_Man_t * pNew = Gia_ManDupUnnormalize( pAbc->pGia );
pNew->pManTime = pAbc->pGia->pManTime;
@@ -25663,10 +25669,11 @@ int Abc_CommandAbc9Hash( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0;
usage:
- Abc_Print( -2, "usage: &st [-ach]\n" );
+ Abc_Print( -2, "usage: &st [-acmh]\n" );
Abc_Print( -2, "\t performs structural hashing\n" );
Abc_Print( -2, "\t-a : toggle additional hashing [default = %s]\n", fAddStrash? "yes": "no" );
Abc_Print( -2, "\t-c : toggle collapsing hierarchical AIG [default = %s]\n", fCollapse? "yes": "no" );
+ Abc_Print( -2, "\t-m : toggle converting to larger gates [default = %s]\n", fAddMuxes? "yes": "no" );
Abc_Print( -2, "\t-h : print the command usage\n");
return 1;
}