Commit 5f3ba152 by Alan Mishchenko

Fixed several problems when CEX is detected by &vta/&gla.

parent 8dc61f1f
...@@ -1925,6 +1925,8 @@ int Gia_GlaPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars, int fStartVta ) ...@@ -1925,6 +1925,8 @@ int Gia_GlaPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars, int fStartVta )
if ( p->pPars->fVerbose ) if ( p->pPars->fVerbose )
Gla_ManAbsPrintFrame( p, -1, f+1, sat_solver2_nconflicts(p->pSat)-nConflsBeg, i, clock() - clk ); Gla_ManAbsPrintFrame( p, -1, f+1, sat_solver2_nconflicts(p->pSat)-nConflsBeg, i, clock() - clk );
} }
if ( pCex != NULL )
break;
assert( Status == 1 ); assert( Status == 1 );
// valid core is obtained // valid core is obtained
nCoreSize = Vec_IntSize( vCore ); nCoreSize = Vec_IntSize( vCore );
...@@ -2022,12 +2024,13 @@ finish: ...@@ -2022,12 +2024,13 @@ finish:
} }
else else
{ {
ABC_FREE( p->pGia->pCexSeq ); ABC_FREE( pAig->pCexSeq );
p->pGia->pCexSeq = pCex; pAig->pCexSeq = pCex;
if ( !Gia_ManVerifyCex( p->pGia, pCex, 0 ) ) if ( !Gia_ManVerifyCex( pAig, pCex, 0 ) )
Abc_Print( 1, " Gia_GlaPerform(): CEX verification has failed!\n" ); Abc_Print( 1, " Gia_GlaPerform(): CEX verification has failed!\n" );
Abc_Print( 1, "Counter-example detected in frame %d. ", f ); Abc_Print( 1, "Counter-example detected in frame %d. ", f );
p->pPars->iFrame = pCex->iFrame - 1; p->pPars->iFrame = pCex->iFrame - 1;
Vec_IntFreeP( &pAig->vGateClasses );
} }
Abc_PrintTime( 1, "Time", clock() - clk ); Abc_PrintTime( 1, "Time", clock() - clk );
if ( p->pPars->fVerbose ) if ( p->pPars->fVerbose )
......
...@@ -1777,6 +1777,7 @@ finish: ...@@ -1777,6 +1777,7 @@ finish:
Abc_Print( 1, " Gia_VtaPerform(): CEX verification has failed!\n" ); Abc_Print( 1, " Gia_VtaPerform(): CEX verification has failed!\n" );
Abc_Print( 1, "Counter-example detected in frame %d. ", f ); Abc_Print( 1, "Counter-example detected in frame %d. ", f );
p->pPars->iFrame = pCex->iFrame - 1; p->pPars->iFrame = pCex->iFrame - 1;
Vec_IntFreeP( &pAig->vObjClasses );
} }
Abc_PrintTime( 1, "Time", clock() - clk ); Abc_PrintTime( 1, "Time", clock() - clk );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment