From 3bdce84c5bae9aedcc6e6e982d72841a5dea82e0 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 3 Jun 2011 17:54:12 -0700 Subject: Bug fix in 'swappos'. --- src/base/abc/abcNtk.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/base') diff --git a/src/base/abc/abcNtk.c b/src/base/abc/abcNtk.c index 3ec261a8..1b59a295 100644 --- a/src/base/abc/abcNtk.c +++ b/src/base/abc/abcNtk.c @@ -1495,6 +1495,15 @@ void Abc_NtkSwapOneOutput( Abc_Ntk_t * pNtk, int iOutput ) return; pObj1 = Abc_NtkPo( pNtk, 0 ); pObj2 = Abc_NtkPo( pNtk, iOutput ); + if ( Abc_ObjFanin0(pObj1) == Abc_ObjFanin0(pObj2) ) + { + if ( Abc_ObjFaninC0(pObj1) ^ Abc_ObjFaninC0(pObj2) ) + { + Abc_ObjXorFaninC( pObj1, 0 ); + Abc_ObjXorFaninC( pObj2, 0 ); + } + return; + } pChild1Old = Abc_ObjChild0( pObj1 ); pChild2Old = Abc_ObjChild0( pObj2 ); pChild1 = Abc_ObjNotCond( pChild1Old, Abc_ObjFaninC0(pObj2) ); -- cgit v1.2.3