summaryrefslogtreecommitdiffstats
path: root/src/base/wlc
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2015-06-12 23:02:11 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2015-06-12 23:02:11 -0700
commit17c32289e1e8f3b3e9c7f638e21887c6a897054c (patch)
tree82ad58ec10f43d0c6ea19d1286b64bd3d6f57f6b /src/base/wlc
parent8452f5cff36f82625858f5cf9cbf3c40f76699e9 (diff)
downloadabc-17c32289e1e8f3b3e9c7f638e21887c6a897054c.tar.gz
abc-17c32289e1e8f3b3e9c7f638e21887c6a897054c.tar.bz2
abc-17c32289e1e8f3b3e9c7f638e21887c6a897054c.zip
Bug with in signed MUX.
Diffstat (limited to 'src/base/wlc')
-rw-r--r--src/base/wlc/wlcBlast.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c
index c15c0fa8..5a374303 100644
--- a/src/base/wlc/wlcBlast.c
+++ b/src/base/wlc/wlcBlast.c
@@ -549,8 +549,10 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Vec_Int_t * vBoxIds )
{
if ( !k ) continue;
//assert( nRange == Wlc_ObjRange(Wlc_NtkObj(p, iFanin)) );
- pFans1 = Vec_IntEntryP( vBits, Wlc_ObjCopy(p, iFanin) );
- Vec_IntPush( vTemp0, b < Wlc_ObjRange(Wlc_NtkObj(p, iFanin)) ? pFans1[b] : 0 );
+ pPrev = Wlc_NtkObj(p, iFanin);
+ nRange1 = Wlc_ObjRange(pPrev);
+ pFans1 = Vec_IntEntryP( vBits, Wlc_ObjCopy(p, iFanin) );
+ Vec_IntPush( vTemp0, b < nRange1 ? pFans1[b] : (pPrev->Signed? pFans1[nRange1-1] : 0) );
}
Vec_IntPush( vRes, Wlc_NtkMuxTree_rec(pNew, pFans0, nRange0, vTemp0, 0) );
}