summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-05-11 22:13:40 +0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-05-11 22:13:40 +0700
commit954ab62ce68fdd225ac82301c4e037826013bd17 (patch)
tree80e4b01465e88a8ce9c4c77f6daca3fdb4404cf2 /src
parentaed898c8782d6335a21c4c5e5a4fddc5619f1e74 (diff)
downloadabc-954ab62ce68fdd225ac82301c4e037826013bd17.tar.gz
abc-954ab62ce68fdd225ac82301c4e037826013bd17.tar.bz2
abc-954ab62ce68fdd225ac82301c4e037826013bd17.zip
Bug fix in handling barrier buffers.
Diffstat (limited to 'src')
-rw-r--r--src/base/abc/abcBarBuf.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/base/abc/abcBarBuf.c b/src/base/abc/abcBarBuf.c
index 1345a5d6..2b9c692f 100644
--- a/src/base/abc/abcBarBuf.c
+++ b/src/base/abc/abcBarBuf.c
@@ -209,9 +209,15 @@ Abc_Ntk_t * Abc_NtkToBarBufs( Abc_Ntk_t * pNtk )
Abc_ObjAddFanin( pLatch, pObjLi );
Abc_ObjAddFanin( pObjLo, pLatch );
pLatch->pData = (void *)ABC_INIT_ZERO;
- sprintf( Buffer, "_%s_in", Abc_NtkName(Abc_ObjFanin0(pLiMap)->pNtk) );
+ pTemp = NULL;
+ if ( Abc_ObjFanin0(pLiMap)->pNtk != pNtk )
+ pTemp = Abc_ObjFanin0(pLiMap)->pNtk;
+ else if ( Abc_ObjFanout0(pLoMap)->pNtk != pNtk )
+ pTemp = Abc_ObjFanout0(pLoMap)->pNtk;
+ else assert( 0 );
+ sprintf( Buffer, "_%s_in", Abc_NtkName(pTemp) );
Abc_ObjAssignName( pObjLi, Abc_ObjName(Abc_ObjFanin0(pLiMap)), Buffer );
- sprintf( Buffer, "_%s_out", Abc_NtkName(Abc_ObjFanout0(pLoMap)->pNtk) );
+ sprintf( Buffer, "_%s_out", Abc_NtkName(pTemp) );
Abc_ObjAssignName( pObjLo, Abc_ObjName(Abc_ObjFanout0(pLoMap)), Buffer );
pLiMap->pCopy = pObjLi;
Abc_ObjFanout0(pLoMap)->pCopy = pObjLo;