diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-05-20 16:23:48 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-05-20 16:23:48 -0700 |
commit | 3b62ee457544bcc8f6191746bff895f2f98cddf9 (patch) | |
tree | 6b65c271d83a8e3066a0238b8c1e566adbbd4ae7 /src/base/wlc | |
parent | 27c44fd644f7fa46a72e5b8b19465dc61752657d (diff) | |
download | abc-3b62ee457544bcc8f6191746bff895f2f98cddf9.tar.gz abc-3b62ee457544bcc8f6191746bff895f2f98cddf9.tar.bz2 abc-3b62ee457544bcc8f6191746bff895f2f98cddf9.zip |
Enabling AIGs without structural hashing.
Diffstat (limited to 'src/base/wlc')
-rw-r--r-- | src/base/wlc/wlcBlast.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c index adce0d57..65940176 100644 --- a/src/base/wlc/wlcBlast.c +++ b/src/base/wlc/wlcBlast.c @@ -274,10 +274,10 @@ void Wlc_BlastFullAdder( Gia_Man_t * pNew, int a, int b, int c, int * pc, int * { int And1 = Gia_ManHashAnd(pNew, a, b); int And1_= Gia_ManHashAnd(pNew, Abc_LitNot(a), Abc_LitNot(b)); - int Xor = Abc_LitNot(Gia_ManHashOr(pNew, And1, And1_)); + int Xor = Gia_ManHashAnd(pNew, Abc_LitNot(And1), Abc_LitNot(And1_)); int And2 = Gia_ManHashAnd(pNew, c, Xor); int And2_= Gia_ManHashAnd(pNew, Abc_LitNot(c), Abc_LitNot(Xor)); - *ps = Abc_LitNot(Gia_ManHashOr(pNew, And2, And2_)); + *ps = Gia_ManHashAnd(pNew, Abc_LitNot(And2), Abc_LitNot(And2_)); *pc = Gia_ManHashOr (pNew, And1, And2); } } @@ -1209,9 +1209,12 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Vec_Int_t * vBoxIds, int fGiaSimple assert( nFFins == nFFouts ); Gia_ManSetRegNum( pNew, nFFins ); // finalize AIG - pNew = Gia_ManCleanup( pTemp = pNew ); - Gia_ManDupRemapLiterals( vBits, pTemp ); - Gia_ManStop( pTemp ); + if ( !fGiaSimple ) + { + pNew = Gia_ManCleanup( pTemp = pNew ); + Gia_ManDupRemapLiterals( vBits, pTemp ); + Gia_ManStop( pTemp ); + } // transform AIG with init state if ( p->pInits ) { @@ -1222,7 +1225,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Vec_Int_t * vBoxIds, int fGiaSimple } else { - pNew = Gia_ManDupZeroUndc( pTemp = pNew, p->pInits, 1 ); + pNew = Gia_ManDupZeroUndc( pTemp = pNew, p->pInits, fGiaSimple, 1 ); Gia_ManDupRemapLiterals( vBits, pTemp ); Gia_ManStop( pTemp ); } |