summaryrefslogtreecommitdiffstats
path: root/src/base/abci/abcDec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/abci/abcDec.c')
-rw-r--r--src/base/abci/abcDec.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/base/abci/abcDec.c b/src/base/abci/abcDec.c
index 94b4ef07..61d71dfb 100644
--- a/src/base/abci/abcDec.c
+++ b/src/base/abci/abcDec.c
@@ -24,6 +24,7 @@
#include "bool/bdc/bdc.h"
#include "bool/dec/dec.h"
#include "bool/kit/kit.h"
+#include "opt/dau/dau.h"
ABC_NAMESPACE_IMPL_START
@@ -541,20 +542,15 @@ void Abc_TruthDecPerform( Abc_TtStore_t * p, int DecType, int fVerbose )
}
else if ( DecType == 4 )
{
-// extern void Dau_DsdTestOne( word t, int i );
- if ( p->nVars != 6 )
- {
- printf( "Currently only works for 6 variables.\n" );
- return;
- }
- // perform disjoint-support decomposition and count AIG nodes
- // (non-DSD blocks are decomposed into 2:1 MUXes, each counting as 3 AIG nodes)
- assert( p->nVars == 6 );
+ char pDsd[DAU_MAX_STR];
for ( i = 0; i < p->nFuncs; i++ )
{
if ( fVerbose )
printf( "%7d : ", i );
-// Dau_DsdTestOne( *p->pFuncs[i], i );
+ Dau_DsdDecompose( p->pFuncs[i], p->nVars, 0, pDsd );
+ if ( fVerbose )
+ printf( "%s\n", pDsd );
+ nNodes += Dau_DsdCountAnds( pDsd );
}
}
else assert( 0 );