diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-05-27 09:49:13 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-05-27 09:49:13 -0700 |
commit | 0cad45fa900133942fedc7ea22bc4802e57d9ca0 (patch) | |
tree | 95fa3328c6962997f1233146fb696f30560a08ab /src/base | |
parent | fb6eaaf5d9e26d7b0ac326fa17a8c7379b24df68 (diff) | |
download | abc-0cad45fa900133942fedc7ea22bc4802e57d9ca0.tar.gz abc-0cad45fa900133942fedc7ea22bc4802e57d9ca0.tar.bz2 abc-0cad45fa900133942fedc7ea22bc4802e57d9ca0.zip |
New MFS package.
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/abci/abcMfs.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/base/abci/abcMfs.c b/src/base/abci/abcMfs.c index 2371e49a..76dfb162 100644 --- a/src/base/abci/abcMfs.c +++ b/src/base/abci/abcMfs.c @@ -126,10 +126,13 @@ Sfm_Ntk_t * Abc_NtkExtractMfs( Abc_Ntk_t * pNtk, int nFirstFixed ) Vec_IntPush( vArray, pFanin->iTemp ); } Vec_PtrFree( vNodes ); - // update fixed - assert( nFirstFixed >= 0 && nFirstFixed < Abc_NtkNodeNum(pNtk) ); for ( i = Abc_NtkCiNum(pNtk); i < Abc_NtkCiNum(pNtk) + nFirstFixed; i++ ) Vec_StrWriteEntry( vFixed, i, (char)1 ); + // update fixed + assert( nFirstFixed >= 0 && nFirstFixed < Abc_NtkNodeNum(pNtk) ); +// for ( i = Abc_NtkCiNum(pNtk); i + Abc_NtkCoNum(pNtk) < Abc_NtkObjNum(pNtk); i++ ) +// if ( rand() % 10 == 0 ) +// Vec_StrWriteEntry( vFixed, i, (char)1 ); return Sfm_NtkConstruct( vFanins, Abc_NtkCiNum(pNtk), Abc_NtkCoNum(pNtk), vFixed, vTruths ); } @@ -159,7 +162,8 @@ void Abc_NtkInsertMfs( Abc_Ntk_t * pNtk, Sfm_Ntk_t * p ) Vec_IntWriteEntry( vMap, pNode->iTemp, Abc_ObjId(pNode) ); // remove old fanins Abc_NtkForEachNode( pNtk, pNode, i ) - Abc_ObjRemoveFanins( pNode ); + if ( !Sfm_NodeReadFixed(p, pNode->iTemp) ) + Abc_ObjRemoveFanins( pNode ); // create new fanins vCover = Vec_IntAlloc( 1 << 16 ); Abc_NtkForEachNode( pNtk, pNode, i ) |