diff options
Diffstat (limited to 'src/base/abc/abcNtk.c')
-rw-r--r-- | src/base/abc/abcNtk.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/base/abc/abcNtk.c b/src/base/abc/abcNtk.c index 5c199141..b21d16fc 100644 --- a/src/base/abc/abcNtk.c +++ b/src/base/abc/abcNtk.c @@ -19,6 +19,7 @@ ***********************************************************************/ #include "abc.h" +#include "abcInt.h" #include "main.h" #include "mio.h" @@ -26,8 +27,6 @@ /// DECLARATIONS /// //////////////////////////////////////////////////////////////////////// -#define ABC_NUM_STEPS 10 - //////////////////////////////////////////////////////////////////////// /// FUNCTION DEFITIONS /// //////////////////////////////////////////////////////////////////////// @@ -400,7 +399,10 @@ Abc_Ntk_t * Abc_NtkCreateCone( Abc_Ntk_t * pNtk, Vec_Ptr_t * vRoots, Vec_Int_t * pFinal = Abc_AigConst1( pNtkNew->pManFunc ); Vec_PtrForEachEntry( vRoots, pObj, i ) { - pOther = pObj->pCopy; + if ( Abc_ObjIsCo(pObj) ) + pOther = Abc_ObjFanin0(pObj)->pCopy; + else + pOther = pObj->pCopy; if ( Vec_IntEntry(vValues, i) == 0 ) pOther = Abc_ObjNot(pOther); pFinal = Abc_AigAnd( pNtkNew->pManFunc, pFinal, pOther ); @@ -477,7 +479,8 @@ void Abc_NtkDelete( Abc_Ntk_t * pNtk ) // free large fanout arrays if ( pObj->vFanouts.nCap * 4 > LargePiece ) FREE( pObj->vFanouts.pArray ); - // check that the other things are okay + // these flags should be always zero + // if this is not true, something is wrong somewhere assert( pObj->fMarkA == 0 ); assert( pObj->fMarkB == 0 ); assert( pObj->fMarkC == 0 ); |