diff options
-rw-r--r-- | src/base/abci/abcCollapse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/base/abci/abcCollapse.c b/src/base/abci/abcCollapse.c index cc610998..6c401fd2 100644 --- a/src/base/abci/abcCollapse.c +++ b/src/base/abci/abcCollapse.c @@ -404,8 +404,9 @@ Abc_Obj_t * Abc_NtkFromSopsOne( Abc_Ntk_t * pNtkNew, Abc_Ntk_t * pNtk, int iCo, // create a new node pNodeNew = Abc_NtkCreateNode( pNtkNew ); // add fanins - Vec_IntForEachEntry( vSupp, iCi, i ) - Abc_ObjAddFanin( pNodeNew, Abc_NtkCi(pNtkNew, iCi) ); + if ( Vec_StrSize(vSop) > 4 ) // non-constant SOP + Vec_IntForEachEntry( vSupp, iCi, i ) + Abc_ObjAddFanin( pNodeNew, Abc_NtkCi(pNtkNew, iCi) ); // transfer the function pNodeNew->pData = Abc_SopRegister( (Mem_Flex_t *)pNtkNew->pManFunc, Vec_StrArray(vSop) ); Vec_StrFree( vSop ); |