summaryrefslogtreecommitdiffstats
path: root/src/aig/ntl/ntlFraig.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-09-10 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2008-09-10 08:01:00 -0700
commit4db86550728b9c5ffeed4a158faf19afd6518b42 (patch)
tree68dbf6c0deb06f30ee68cbd78e5df3dd5c1cfd65 /src/aig/ntl/ntlFraig.c
parenta30c08bbe55d624ec3269577bf16f2f09215be12 (diff)
downloadabc-4db86550728b9c5ffeed4a158faf19afd6518b42.tar.gz
abc-4db86550728b9c5ffeed4a158faf19afd6518b42.tar.bz2
abc-4db86550728b9c5ffeed4a158faf19afd6518b42.zip
Version abc80910
Diffstat (limited to 'src/aig/ntl/ntlFraig.c')
-rw-r--r--src/aig/ntl/ntlFraig.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/aig/ntl/ntlFraig.c b/src/aig/ntl/ntlFraig.c
index 0a991fff..b1239e47 100644
--- a/src/aig/ntl/ntlFraig.c
+++ b/src/aig/ntl/ntlFraig.c
@@ -20,6 +20,7 @@
#include "ntl.h"
#include "fra.h"
+#include "ssw.h"
////////////////////////////////////////////////////////////////////////
/// DECLARATIONS ///
@@ -494,7 +495,43 @@ Ntl_Man_t * Ntl_ManSsw( Ntl_Man_t * p, Fra_Ssw_t * pPars )
return pNew;
}
+/**Function*************************************************************
+
+ Synopsis [Returns AIG with WB after fraiging.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Ntl_Man_t * Ntl_ManScorr( Ntl_Man_t * p, Ssw_Pars_t * pPars )
+{
+ Ntl_Man_t * pNew, * pAux;
+ Aig_Man_t * pAig, * pAigCol, * pTemp;
+
+ // collapse the AIG
+ pAig = Ntl_ManExtract( p );
+ pNew = Ntl_ManInsertAig( p, pAig );
+ pAigCol = Ntl_ManCollapseSeq( pNew, pPars->nMinDomSize );
+ if ( pAigCol == NULL )
+ {
+ Aig_ManStop( pAig );
+ return pNew;
+ }
+ // perform SCL for the given design
+ pTemp = Ssw_SignalCorrespondence( pAigCol, pPars );
+ Aig_ManStop( pTemp );
+
+ // finalize the transformation
+ pNew = Ntl_ManFinalize( pAux = pNew, pAig, pAigCol, pPars->fVerbose );
+ Ntl_ManFree( pAux );
+ Aig_ManStop( pAig );
+ Aig_ManStop( pAigCol );
+ return pNew;
+}
/**Function*************************************************************