summaryrefslogtreecommitdiffstats
path: root/src/aig/saig
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-03-22 10:10:09 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2018-03-22 10:10:09 -0700
commit53e7d1f9ef0b13e63f2b316c6f1de253fec6f42e (patch)
treefae493f9f59332dcac5f4d0da188b93700a106dc /src/aig/saig
parent69416b7ca181fc93f653be067c4c4a1523d1ca30 (diff)
downloadabc-53e7d1f9ef0b13e63f2b316c6f1de253fec6f42e.tar.gz
abc-53e7d1f9ef0b13e63f2b316c6f1de253fec6f42e.tar.bz2
abc-53e7d1f9ef0b13e63f2b316c6f1de253fec6f42e.zip
Adding switch 'scorr -f' to dump inductive invariant as an AIG.
Diffstat (limited to 'src/aig/saig')
-rw-r--r--src/aig/saig/saig.h2
-rw-r--r--src/aig/saig/saigDup.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/aig/saig/saig.h b/src/aig/saig/saig.h
index 380af64b..16e7fb44 100644
--- a/src/aig/saig/saig.h
+++ b/src/aig/saig/saig.h
@@ -126,7 +126,7 @@ extern Aig_Man_t * Saig_ManDupDual( Aig_Man_t * pAig, Vec_Int_t * vDcFlops
extern void Saig_ManBlockPo( Aig_Man_t * pAig, int nCycles );
/*=== saigDup.c ==========================================================*/
extern Aig_Man_t * Saig_ManDupOrpos( Aig_Man_t * p );
-extern Aig_Man_t * Saig_ManCreateEquivMiter( Aig_Man_t * pAig, Vec_Int_t * vPairs );
+extern Aig_Man_t * Saig_ManCreateEquivMiter( Aig_Man_t * pAig, Vec_Int_t * vPairs, int fAddOuts );
extern Aig_Man_t * Saig_ManDupAbstraction( Aig_Man_t * pAig, Vec_Int_t * vFlops );
extern int Saig_ManVerifyCex( Aig_Man_t * pAig, Abc_Cex_t * p );
extern Abc_Cex_t * Saig_ManExtendCex( Aig_Man_t * pAig, Abc_Cex_t * p );
diff --git a/src/aig/saig/saigDup.c b/src/aig/saig/saigDup.c
index b16e3c3b..17dfcc40 100644
--- a/src/aig/saig/saigDup.c
+++ b/src/aig/saig/saigDup.c
@@ -88,7 +88,7 @@ Aig_Man_t * Saig_ManDupOrpos( Aig_Man_t * pAig )
SeeAlso []
***********************************************************************/
-Aig_Man_t * Saig_ManCreateEquivMiter( Aig_Man_t * pAig, Vec_Int_t * vPairs )
+Aig_Man_t * Saig_ManCreateEquivMiter( Aig_Man_t * pAig, Vec_Int_t * vPairs, int fAddOuts )
{
Aig_Man_t * pAigNew;
Aig_Obj_t * pObj, * pObj2, * pMiter;
@@ -120,9 +120,11 @@ Aig_Man_t * Saig_ManCreateEquivMiter( Aig_Man_t * pAig, Vec_Int_t * vPairs )
Aig_ObjCreateCo( pAigNew, pMiter );
}
// transfer to register outputs
+ if ( fAddOuts )
Saig_ManForEachLi( pAig, pObj, i )
Aig_ObjCreateCo( pAigNew, Aig_ObjChild0Copy(pObj) );
Aig_ManCleanup( pAigNew );
+ if ( fAddOuts )
Aig_ManSetRegNum( pAigNew, Aig_ManRegNum(pAig) );
return pAigNew;
}