summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-05-10 18:55:46 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2018-05-10 18:55:46 -0700
commit03b17916f88c728ec79adabe504a6f6f2625c752 (patch)
tree2864a4d3e17444953fc97ee2422a85e5de1adfc0
parentcd159976a12ae472aca0d5b34db46a0a5ccdea83 (diff)
downloadabc-03b17916f88c728ec79adabe504a6f6f2625c752.tar.gz
abc-03b17916f88c728ec79adabe504a6f6f2625c752.tar.bz2
abc-03b17916f88c728ec79adabe504a6f6f2625c752.zip
Bug fix in the naming of outputs in %blast -d.
-rw-r--r--src/base/wlc/wlcBlast.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/base/wlc/wlcBlast.c b/src/base/wlc/wlcBlast.c
index 9246264e..af11fcd4 100644
--- a/src/base/wlc/wlcBlast.c
+++ b/src/base/wlc/wlcBlast.c
@@ -1701,15 +1701,33 @@ Gia_Man_t * Wlc_NtkBitBlast( Wlc_Ntk_t * p, Wlc_BstPar_t * pParIn )
{
char * pName = Wlc_ObjName(p, Wlc_ObjId(p, pObj));
nRange = Wlc_ObjRange( pObj );
- if ( fSkipBitRange && nRange == 1 )
- Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(pName) );
- else
+ if ( pPar->fCreateMiter && nRange > 1 )
+ {
+ Wlc_Obj_t * pObj2 = Wlc_NtkCo( p, ++i );
+ char * pName2 = Wlc_ObjName(p, Wlc_ObjId(p, pObj2));
+ int nRange1 = Wlc_ObjRange( pObj );
+ assert( nRange == nRange1 );
for ( k = 0; k < nRange; k++ )
{
char Buffer[1000];
sprintf( Buffer, "%s[%d]", pName, k );
Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) );
+ sprintf( Buffer, "%s[%d]", pName2, k );
+ Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) );
}
+ }
+ else
+ {
+ if ( fSkipBitRange && nRange == 1 )
+ Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(pName) );
+ else
+ for ( k = 0; k < nRange; k++ )
+ {
+ char Buffer[1000];
+ sprintf( Buffer, "%s[%d]", pName, k );
+ Vec_PtrPush( pNew->vNamesOut, Abc_UtilStrsav(Buffer) );
+ }
+ }
}
if ( vAddObjs )
{