From 9842e82326b8e0a6605460888ae56757cb9a9a0f Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 4 Mar 2019 13:39:38 -0800 Subject: Bug in handling reverse ranges in blasting. --- src/base/wlc/wlcBlast.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src/base/wlc') diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c index e6d19e87..9af2f54d 100644 --- a/src/base/wlc/wlcBlast.c +++ b/src/base/wlc/wlcBlast.c @@ -2110,8 +2110,9 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesIn, Abc_UtilStrsav(Buffer) ); + printf( "Writing %s\n", Buffer ); } } if ( p->pInits ) @@ -2140,7 +2141,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesIn, Abc_UtilStrsav(Buffer) ); } } @@ -2158,7 +2159,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s_fo[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s_fo[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesIn, Abc_UtilStrsav(Buffer) ); } } @@ -2172,7 +2173,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesIn, Abc_UtilStrsav(Buffer) ); } } @@ -2207,7 +2208,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesIn, Abc_UtilStrsav(Buffer) ); } } @@ -2229,7 +2230,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) { char Buffer[1000]; Wlc_Obj_t * pFanin = Wlc_NtkObj(p, iFanin); - sprintf( Buffer, "%s[%d]", pName, pFanin->Beg < pFanin->End ? pFanin->Beg+k : pFanin->End+k ); + sprintf( Buffer, "%s[%d]", pName, pFanin->Beg < pFanin->End ? pFanin->Beg+k : pFanin->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } if ( b == 3 ) @@ -2248,7 +2249,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s_in[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s_in[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } @@ -2267,7 +2268,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) { char Buffer[1000]; Wlc_Obj_t * pFanin = Wlc_NtkObj(p, iFanin); - sprintf( Buffer, "%s[%d]", pName, pFanin->Beg < pFanin->End ? pFanin->Beg+k : pFanin->End+k ); + sprintf( Buffer, "%s[%d]", pName, pFanin->Beg < pFanin->End ? pFanin->Beg+k : pFanin->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } @@ -2288,9 +2289,9 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); - sprintf( Buffer, "%s[%d]", pName2, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName2, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } @@ -2302,7 +2303,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } @@ -2320,7 +2321,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } @@ -2344,7 +2345,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s_fi[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s_fi[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } @@ -2362,7 +2363,7 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn ) for ( k = 0; k < nRange; k++ ) { char Buffer[1000]; - sprintf( Buffer, "%s_fi[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->End+k ); + sprintf( Buffer, "%s_fi[%d]", pName, pObj->Beg < pObj->End ? pObj->Beg+k : pObj->Beg-k ); Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) ); } } -- cgit v1.2.3