summaryrefslogtreecommitdiffstats
path: root/src/sat/bmc/bmcCexCare.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2018-03-25 16:46:09 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2018-03-25 16:46:09 -0700
commite639e8fd1ba990f782385b294a6cb5a21844f688 (patch)
treeac483596ac285dbdaa2492b03712565f455ec341 /src/sat/bmc/bmcCexCare.c
parentc618cee66d9f82a8bf65de3f4b22a3c4b0c901d0 (diff)
downloadabc-e639e8fd1ba990f782385b294a6cb5a21844f688.tar.gz
abc-e639e8fd1ba990f782385b294a6cb5a21844f688.tar.bz2
abc-e639e8fd1ba990f782385b294a6cb5a21844f688.zip
Integrating SAT-based CEX minimization.
Diffstat (limited to 'src/sat/bmc/bmcCexCare.c')
-rw-r--r--src/sat/bmc/bmcCexCare.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/sat/bmc/bmcCexCare.c b/src/sat/bmc/bmcCexCare.c
index cc3e85ea..8db92444 100644
--- a/src/sat/bmc/bmcCexCare.c
+++ b/src/sat/bmc/bmcCexCare.c
@@ -430,6 +430,23 @@ Abc_Cex_t * Bmc_CexCareMinimize( Aig_Man_t * p, int nRealPis, Abc_Cex_t * pCex,
Gia_ManStop( pGia );
return pCexMin;
}
+Abc_Cex_t * Bmc_CexCareSatBasedMinimize( Aig_Man_t * p, int nRealPis, Abc_Cex_t * pCex, int fHighEffort, int fCheck, int fVerbose )
+{
+ Gia_Man_t * pGia = Gia_ManFromAigSimple( p );
+ Abc_Cex_t * pCexMin = Bmc_CexCareSatBasedMinimizeAig( pGia, pCex, fHighEffort, fVerbose );
+ if ( pCexMin == NULL )
+ {
+ Gia_ManStop( pGia );
+ return NULL;
+ }
+ // verify and return
+ if ( !Bmc_CexVerify( pGia, pCex, pCexMin ) )
+ printf( "Counter-example verification has failed.\n" );
+ else if ( fCheck )
+ printf( "Counter-example verification succeeded.\n" );
+ Gia_ManStop( pGia );
+ return pCexMin;
+}
/**Function*************************************************************