summaryrefslogtreecommitdiffstats
path: root/src/base/abci
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2015-09-18 08:10:18 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2015-09-18 08:10:18 -0700
commit3b838b953d36c6293af51ddae55ec061e994b4c7 (patch)
treeaf8d6fdfbcdb53a1e3d5ae403d9e7523b1cbba45 /src/base/abci
parentc30a0af71c219dcdd42322c411b805bb674d14b7 (diff)
downloadabc-3b838b953d36c6293af51ddae55ec061e994b4c7.tar.gz
abc-3b838b953d36c6293af51ddae55ec061e994b4c7.tar.bz2
abc-3b838b953d36c6293af51ddae55ec061e994b4c7.zip
Tuning SAT solver for QBF instances.
Diffstat (limited to 'src/base/abci')
-rw-r--r--src/base/abci/abc.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index 809995c4..47da5723 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -21828,7 +21828,8 @@ int Abc_CommandDSat( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( argc == globalUtilOptind + 1 )
{
- extern int Cnf_DataSolveFromFile( char * pFileName, int nConfLimit, int fVerbose );
+ int * pModel = NULL;
+ extern int Cnf_DataSolveFromFile( char * pFileName, int nConfLimit, int nLearnedStart, int nLearnedDelta, int nLearnedPerce, int fVerbose, int ** ppModel );
// get the input file name
char * pFileName = argv[globalUtilOptind];
FILE * pFile = fopen( pFileName, "rb" );
@@ -21838,10 +21839,18 @@ int Abc_CommandDSat( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0;
}
fclose( pFile );
- Cnf_DataSolveFromFile( pFileName, nConfLimit, fVerbose );
+ Cnf_DataSolveFromFile( pFileName, nConfLimit, nLearnedStart, nLearnedDelta, nLearnedPerce, fVerbose, &pModel );
+ if ( pModel && pNtk )
+ {
+ int * pSimInfo = Abc_NtkVerifySimulatePattern( pNtk, pModel );
+ if ( pSimInfo[0] != 1 )
+ Abc_Print( 1, "ERROR in Abc_NtkMiterSat(): Generated counter example is invalid.\n" );
+ ABC_FREE( pSimInfo );
+ pAbc->pCex = Abc_CexCreate( 0, Abc_NtkPiNum(pNtk), pNtk->pModel, 0, 0, 0 );
+ }
+ ABC_FREE( pModel );
return 0;
}
-
if ( pNtk == NULL )
{
Abc_Print( -1, "Empty network.\n" );