summaryrefslogtreecommitdiffstats
path: root/src/aig/llb/llb1Reach.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2011-03-17 13:43:07 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2011-03-17 13:43:07 -0700
commitca5d7eef2f5fbaaf5b57f32bc0b4088682ec2323 (patch)
tree6aa5cc3cc60b4dc8a39e010bb38906bcf73128ae /src/aig/llb/llb1Reach.c
parent464fda3fa501bca89bdf413416222ca9dacc5871 (diff)
downloadabc-ca5d7eef2f5fbaaf5b57f32bc0b4088682ec2323.tar.gz
abc-ca5d7eef2f5fbaaf5b57f32bc0b4088682ec2323.tar.bz2
abc-ca5d7eef2f5fbaaf5b57f32bc0b4088682ec2323.zip
Fixing timeout in reachability engines.
Diffstat (limited to 'src/aig/llb/llb1Reach.c')
-rw-r--r--src/aig/llb/llb1Reach.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/aig/llb/llb1Reach.c b/src/aig/llb/llb1Reach.c
index 341ebd95..16b62850 100644
--- a/src/aig/llb/llb1Reach.c
+++ b/src/aig/llb/llb1Reach.c
@@ -629,6 +629,7 @@ int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, DdManager ** pddGlo
{
if ( !p->pPars->fSilent )
printf( "Reached timeout (%d seconds) during constructing the bad states.\n", p->pPars->TimeLimit );
+ p->pPars->iFrame = -1;
return -1;
}
Cudd_Ref( p->ddR->bFunc );
@@ -701,6 +702,7 @@ int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, DdManager ** pddGlo
printf( "Output ??? was asserted in frame %d (counter-example is not produced). ", nIters );
Abc_PrintTime( 1, "Time", clock() - clk );
}
+ p->pPars->iFrame = nIters - 1;
Cudd_RecursiveDeref( p->dd, bCurrent ); bCurrent = NULL;
Cudd_RecursiveDeref( p->dd, bConstrCs ); bConstrCs = NULL;
Cudd_RecursiveDeref( p->dd, bConstrNs ); bConstrNs = NULL;
@@ -850,7 +852,10 @@ int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, DdManager ** pddGlo
Cudd_RecursiveDeref( p->dd, bConstrCs ); bConstrCs = NULL;
Cudd_RecursiveDeref( p->dd, bConstrNs ); bConstrNs = NULL;
if ( bReached == NULL )
+ {
+ p->pPars->iFrame = nIters - 1;
return 0; // reachable
+ }
// assert( bCurrent == NULL );
if ( bCurrent )
Cudd_RecursiveDeref( p->dd, bCurrent );
@@ -869,6 +874,7 @@ int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, DdManager ** pddGlo
{
if ( !p->pPars->fSilent )
printf( "Verified only for states reachable in %d frames. ", nIters );
+ p->pPars->iFrame = p->pPars->nIterMax;
Cudd_RecursiveDeref( p->ddG, bReached );
return -1; // undecided
}