summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-10-10 13:46:58 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-10-10 13:46:58 -0700
commit01e1b6345e38206c7e66b4c492acabb1fec5825f (patch)
tree85223f83f867746950e1d60a56dc5e10d77a6ae8 /src
parent5a4592ee69c41dcecb4227a1474216e299f572e2 (diff)
downloadabc-01e1b6345e38206c7e66b4c492acabb1fec5825f.tar.gz
abc-01e1b6345e38206c7e66b4c492acabb1fec5825f.tar.bz2
abc-01e1b6345e38206c7e66b4c492acabb1fec5825f.zip
Bug fix in the bit-blaster.
Diffstat (limited to 'src')
-rw-r--r--src/base/wlc/wlcBlast.c6
-rw-r--r--src/misc/util/utilIsop.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c
index c8631227..24b653c8 100644
--- a/src/base/wlc/wlcBlast.c
+++ b/src/base/wlc/wlcBlast.c
@@ -454,9 +454,9 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p )
int nRangeMax = Abc_MaxInt( nRange, nRange0 );
int * pArg0 = Wlc_VecLoadFanins( vTemp0, pFans0, nRange0, nRangeMax, Wlc_ObjFanin0(p, pObj)->Signed );
if ( pObj->Type == WLC_OBJ_SHIFT_R || pObj->Type == WLC_OBJ_SHIFT_RA )
- Wlc_BlastShiftRight( pNew, pArg0, nRangeMax, pFans1, nRange1, pObj->Type == WLC_OBJ_SHIFT_RA, vRes );
+ Wlc_BlastShiftRight( pNew, pArg0, nRangeMax, pFans1, nRange1, Wlc_ObjFanin0(p, pObj)->Signed && pObj->Type == WLC_OBJ_SHIFT_RA, vRes );
else
- Wlc_BlastShiftLeft( pNew, pArg0, nRangeMax, pFans1, nRange1, pObj->Type == WLC_OBJ_SHIFT_LA, vRes );
+ Wlc_BlastShiftLeft( pNew, pArg0, nRangeMax, pFans1, nRange1, 0, vRes );
Vec_IntShrink( vRes, nRange );
}
else if ( pObj->Type == WLC_OBJ_ROTATE_R )
@@ -622,7 +622,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p )
else
Wlc_BlastDivider( pNew, pArg0, nRangeMax, pArg1, nRangeMax, pObj->Type == WLC_OBJ_ARI_DIVIDE, vRes );
Vec_IntShrink( vRes, nRange );
-// Wlc_BlastZeroCondition( pNew, pFans1, nRange1, vRes );
+ Wlc_BlastZeroCondition( pNew, pFans1, nRange1, vRes );
}
else if ( pObj->Type == WLC_OBJ_ARI_MINUS )
{
diff --git a/src/misc/util/utilIsop.c b/src/misc/util/utilIsop.c
index ea03c027..292faf61 100644
--- a/src/misc/util/utilIsop.c
+++ b/src/misc/util/utilIsop.c
@@ -1102,7 +1102,7 @@ int Abc_IsopTest( word * pFunc, int nVars, Vec_Int_t * vCover )
TotalCost[4] += Abc_CostCubes(Cost);
TotalTime[4] += Abc_Clock() - clk;
*/
-
+/*
// try old computation
clk = Abc_Clock();
Cost = Kit_TruthIsop( (unsigned *)pFunc, nVars, vCover, 1 );
@@ -1112,7 +1112,7 @@ int Abc_IsopTest( word * pFunc, int nVars, Vec_Int_t * vCover )
printf( "%5d %7d ", Vec_IntSize(vCover), Abc_IsopCountLits(vCover, nVars) );
TotalCost[4] += Vec_IntSize(vCover);
TotalTime[4] += Abc_Clock() - clk;
-
+*/
clk = Abc_Clock();
Cost = Abc_Isop( pFunc, nVars, ABC_ISOP_MAX_CUBE, vCover, 1 );