diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2006-04-07 08:01:00 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2006-04-07 08:01:00 -0700 |
commit | 3f4fc5e4507f7fb9df431fc116529b4c209ab97c (patch) | |
tree | d468f472a10aa98499f98c639447b7838e495476 /src/sat/csat | |
parent | 8e5398c501a873dffcb562a11bc19e630872c931 (diff) | |
download | abc-3f4fc5e4507f7fb9df431fc116529b4c209ab97c.tar.gz abc-3f4fc5e4507f7fb9df431fc116529b4c209ab97c.tar.bz2 abc-3f4fc5e4507f7fb9df431fc116529b4c209ab97c.zip |
Version abc60407
Diffstat (limited to 'src/sat/csat')
-rw-r--r-- | src/sat/csat/csat_apis.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/sat/csat/csat_apis.c b/src/sat/csat/csat_apis.c index 2129bfb0..9184cab9 100644 --- a/src/sat/csat/csat_apis.c +++ b/src/sat/csat/csat_apis.c @@ -17,6 +17,7 @@ ***********************************************************************/ #include "abc.h" +#include "fraig.h" #include "csat_apis.h" //////////////////////////////////////////////////////////////////////// @@ -105,6 +106,8 @@ ABC_Manager ABC_InitManager() ***********************************************************************/ void ABC_ReleaseManager( ABC_Manager mng ) { + CSAT_Target_ResultT * p_res = ABC_Get_Target_Result( mng,0 ); + ABC_TargetResFree(p_res); if ( mng->tNode2Name ) stmm_free_table( mng->tNode2Name ); if ( mng->tName2Node ) stmm_free_table( mng->tName2Node ); if ( mng->pMmNames ) Extra_MmFlexStop( mng->pMmNames, 0 ); @@ -536,6 +539,7 @@ void ABC_AnalyzeTargets( ABC_Manager mng ) ***********************************************************************/ enum CSAT_StatusT ABC_Solve( ABC_Manager mng ) { + Prove_Params_t Params, * pParams = &Params; int RetValue, i; // check if the target network is available @@ -544,9 +548,16 @@ enum CSAT_StatusT ABC_Solve( ABC_Manager mng ) // try to prove the miter using a number of techniques if ( mng->mode ) - RetValue = Abc_NtkMiterSat( mng->pTarget, mng->nConfLimit, mng->nImpLimit, 0 ); + RetValue = Abc_NtkMiterSat( mng->pTarget, mng->nConfLimit, mng->nImpLimit, 0, 0 ); else - RetValue = Abc_NtkMiterProve( &mng->pTarget, mng->nConfLimit, mng->nImpLimit, 1, 1, 0 ); + { + // set default parameters for CEC + Prove_ParamsSetDefault( pParams ); + // set infinite resource limit for the final mitering + pParams->nMiteringLimitLast = ABC_INFINITY; + // call the checker + RetValue = Abc_NtkMiterProve( &mng->pTarget, pParams ); + } // analyze the result mng->pResult = ABC_TargetResAlloc( Abc_NtkCiNum(mng->pTarget) ); @@ -658,6 +669,14 @@ void ABC_TargetResFree( CSAT_Target_ResultT * p ) { if ( p == NULL ) return; + if( p->names ) + { + int i = 0; + for ( i = 0; i < p->no_sig; i++ ) + { + FREE(p->names[i]); + } + } FREE( p->names ); FREE( p->values ); free( p ); |