Adding special-case report to 'bmc3'.

This commit is contained in:
Alan Mishchenko 2014-03-18 15:07:57 -07:00
parent faf9c2015a
commit e5b9817a72
1 changed files with 6 additions and 0 deletions

View File

@ -1434,12 +1434,18 @@ int Saig_ManBmcScalable( Aig_Man_t * pAig, Saig_ParBmc_t * pPars )
// stop BMC after exploring all reachable states
if ( !pPars->nFramesJump && Aig_ManRegNum(pAig) < 30 && f == (1 << Aig_ManRegNum(pAig)) )
{
Abc_Print( 1, "Stopping BMC because all 2^%d reachable states are visited.\n", Aig_ManRegNum(pAig) );
if ( p->pPars->fUseBridge )
Saig_ManForEachPo( pAig, pObj, i )
if ( !(p->vCexes && Vec_PtrEntry(p->vCexes, i)) && !(p->pTime4Outs && p->pTime4Outs[i] == 0) ) // not SAT and not timed out
Gia_ManToBridgeResult( stdout, 1, NULL, i );
RetValue = pPars->nFailOuts ? 0 : 1;
goto finish;
}
// stop BMC if all targets are solved
if ( pPars->fSolveAll && pPars->nFailOuts + pPars->nDropOuts >= Saig_ManPoNum(pAig) )
{
Abc_Print( 1, "Stopping BMC because all targets are disproved.\n" );
RetValue = pPars->nFailOuts ? 0 : 1;
goto finish;
}