diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2008-07-01 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2008-07-01 08:01:00 -0700 |
commit | 4a9789e58d27ecaba541ba3fcb0565a334dcd54b (patch) | |
tree | 1784dcf05dd78b0acddb7d52764f1e3fd6ef2d49 /src/aig/ntl/ntlFraig.c | |
parent | d0341836ddb38ccc087bdac3df4e8b2ff7fe7a8f (diff) | |
download | abc-4a9789e58d27ecaba541ba3fcb0565a334dcd54b.tar.gz abc-4a9789e58d27ecaba541ba3fcb0565a334dcd54b.tar.bz2 abc-4a9789e58d27ecaba541ba3fcb0565a334dcd54b.zip |
Version abc80701
Diffstat (limited to 'src/aig/ntl/ntlFraig.c')
-rw-r--r-- | src/aig/ntl/ntlFraig.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/aig/ntl/ntlFraig.c b/src/aig/ntl/ntlFraig.c index 6dce3645..6449cc33 100644 --- a/src/aig/ntl/ntlFraig.c +++ b/src/aig/ntl/ntlFraig.c @@ -148,6 +148,9 @@ void Ntl_ManReduce( Ntl_Man_t * p, Aig_Man_t * pAig ) // do not reduce the net if it is driven by a multi-output box if ( Ntl_ObjIsBox(pNet->pDriver) && Ntl_ObjFanoutNum(pNet->pDriver) > 1 ) continue; + // do not reduce the net if it has no-merge attribute + if ( Ntl_ObjIsBox(pNet->pDriver) && pNet->pDriver->pImplem->attrNoMerge ) + continue; pNetRepr = pObjRepr->pData; if ( pNetRepr == NULL ) { @@ -311,7 +314,7 @@ Ntl_Man_t * Ntl_ManScl( Ntl_Man_t * p, int fLatchConst, int fLatchEqual, int fVe // collapse the AIG pAig = Ntl_ManExtract( p ); pNew = Ntl_ManInsertAig( p, pAig ); - pAigCol = Ntl_ManCollapseSeq( pNew ); + pAigCol = Ntl_ManCollapseSeq( pNew, 0 ); //Saig_ManDumpBlif( pAigCol, "1s.blif" ); // perform SCL for the given design @@ -345,7 +348,7 @@ Ntl_Man_t * Ntl_ManLcorr( Ntl_Man_t * p, int nConfMax, int fVerbose ) // collapse the AIG pAig = Ntl_ManExtract( p ); pNew = Ntl_ManInsertAig( p, pAig ); - pAigCol = Ntl_ManCollapseSeq( pNew ); + pAigCol = Ntl_ManCollapseSeq( pNew, 0 ); // perform SCL for the given design pTemp = Fra_FraigLatchCorrespondence( pAigCol, 0, nConfMax, 0, fVerbose, NULL, 0 ); @@ -378,7 +381,7 @@ Ntl_Man_t * Ntl_ManSsw( Ntl_Man_t * p, Fra_Ssw_t * pPars ) // collapse the AIG pAig = Ntl_ManExtract( p ); pNew = Ntl_ManInsertAig( p, pAig ); - pAigCol = Ntl_ManCollapseSeq( pNew ); + pAigCol = Ntl_ManCollapseSeq( pNew, pPars->nMinDomSize ); // perform SCL for the given design pTemp = Fra_FraigInduction( pAigCol, pPars ); @@ -554,7 +557,7 @@ Ntl_Man_t * Ntl_ManSsw2( Ntl_Man_t * p, Fra_Ssw_t * pPars ) Ntl_Man_t * pNew; Aig_Man_t * pAigRed, * pAigCol; // collapse the AIG - pAigCol = Ntl_ManCollapseSeq( p ); + pAigCol = Ntl_ManCollapseSeq( p, pPars->nMinDomSize ); // transform the collapsed AIG pAigRed = Fra_FraigInduction( pAigCol, pPars ); Aig_ManStop( pAigRed ); |