diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2015-09-18 08:10:18 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2015-09-18 08:10:18 -0700 |
commit | 3b838b953d36c6293af51ddae55ec061e994b4c7 (patch) | |
tree | af8d6fdfbcdb53a1e3d5ae403d9e7523b1cbba45 /src/base/abci/abc.c | |
parent | c30a0af71c219dcdd42322c411b805bb674d14b7 (diff) | |
download | abc-3b838b953d36c6293af51ddae55ec061e994b4c7.tar.gz abc-3b838b953d36c6293af51ddae55ec061e994b4c7.tar.bz2 abc-3b838b953d36c6293af51ddae55ec061e994b4c7.zip |
Tuning SAT solver for QBF instances.
Diffstat (limited to 'src/base/abci/abc.c')
-rw-r--r-- | src/base/abci/abc.c | 15 |
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" ); |