From d5234332fb29b7b50220df6a09d913d6832a425c Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Fri, 24 May 2013 22:35:22 -0700 Subject: New MFS package. --- src/base/abci/abcMfs.c | 9 +++++++-- src/base/io/io.c | 8 ++++---- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src/base') diff --git a/src/base/abci/abcMfs.c b/src/base/abci/abcMfs.c index ddc91467..5259ea03 100644 --- a/src/base/abci/abcMfs.c +++ b/src/base/abci/abcMfs.c @@ -134,6 +134,11 @@ void Abc_NtkInsertMfs( Abc_Ntk_t * pNtk, Sfm_Ntk_t * p ) if ( pNode->iTemp > 0 && !Sfm_NodeReadFixed(p, pNode->iTemp) ) { vArray = Sfm_NodeReadFanins( p, pNode->iTemp ); + if ( Vec_IntSize(vArray) == 0 ) + { + Abc_NtkDeleteObj( pNode ); + continue; + } Vec_IntForEachEntry( vArray, Fanin, k ) Abc_ObjAddFanin( pNode, Abc_NtkObj(pNtk, Vec_IntEntry(vMap, Fanin)) ); pNode->pData = Abc_SopCreateFromTruth( (Mem_Flex_t *)pNtk->pManFunc, Vec_IntSize(vArray), (unsigned *)Sfm_NodeReadTruth(p, pNode->iTemp) ); @@ -170,11 +175,11 @@ int Abc_NtkPerformMfs( Abc_Ntk_t * pNtk, Sfm_Par_t * pPars ) nNodes = Sfm_NtkPerform( p, pPars ); // call the fast extract procedure if ( nNodes == 0 ) - Abc_Print( 1, "The networks is not changed by \"mfs\".\n" ); + Abc_Print( 1, "The network is not changed by \"mfs\".\n" ); else { Abc_NtkInsertMfs( pNtk, p ); - Abc_Print( 1, "The networks has %d nodes changed by \"mfs\".\n", nNodes ); + Abc_Print( 1, "The network has %d nodes changed by \"mfs\".\n", nNodes ); } Sfm_NtkFree( p ); return 1; diff --git a/src/base/io/io.c b/src/base/io/io.c index 9dee37a7..b472dac5 100644 --- a/src/base/io/io.c +++ b/src/base/io/io.c @@ -2663,22 +2663,22 @@ int IoCommandWriteTruth( Abc_Frame_t * pAbc, int argc, char **argv ) } if ( pAbc->pNtkCur == NULL ) { - printf( "Current networks is not available.\n" ); + printf( "Current network is not available.\n" ); return 0; } if ( !Abc_NtkIsLogic(pNtk) ) { - printf( "Current networks should not an AIG. Run \"logic\".\n" ); + printf( "Current network should not an AIG. Run \"logic\".\n" ); return 0; } if ( Abc_NtkPoNum(pNtk) != 1 ) { - printf( "Current networks should have exactly one primary output.\n" ); + printf( "Current network should have exactly one primary output.\n" ); return 0; } if ( Abc_NtkNodeNum(pNtk) != 1 ) { - printf( "Current networks should have exactly one node.\n" ); + printf( "Current network should have exactly one node.\n" ); return 0; } pNode = Abc_ObjFanin0( Abc_NtkPo(pNtk, 0) ); -- cgit v1.2.3