Commit 0d53eece by Alan Mishchenko

Merged in ysho/abc (pull request #73)

Improvements to %pdra
parents 000e51f3 2c443d20
...@@ -185,6 +185,8 @@ struct Wlc_Par_t_ ...@@ -185,6 +185,8 @@ struct Wlc_Par_t_
int fShrinkScratch; // Restart pdr from scratch after shrinking int fShrinkScratch; // Restart pdr from scratch after shrinking
int fVerbose; // verbose output int fVerbose; // verbose output
int fPdrVerbose; // verbose output int fPdrVerbose; // verbose output
int RunId; // id in this run
int (*pFuncStop)(int); // callback to terminate
}; };
typedef struct Wla_Man_t_ Wla_Man_t; typedef struct Wla_Man_t_ Wla_Man_t;
......
...@@ -587,6 +587,8 @@ static Abc_Cex_t * Wlc_NtkCexIsReal( Wlc_Ntk_t * pOrig, Abc_Cex_t * pCex ) ...@@ -587,6 +587,8 @@ static Abc_Cex_t * Wlc_NtkCexIsReal( Wlc_Ntk_t * pOrig, Abc_Cex_t * pCex )
if (pObj->Value==1) { if (pObj->Value==1) {
Abc_Print( 1, "CEX is real on the original model.\n" ); Abc_Print( 1, "CEX is real on the original model.\n" );
Gia_ManStop(pGiaOrig); Gia_ManStop(pGiaOrig);
pCexReal->iFrame = f;
pCexReal->iPo = i;
return pCexReal; return pCexReal;
} }
} }
...@@ -1659,6 +1661,8 @@ Wla_Man_t * Wla_ManStart( Wlc_Ntk_t * pNtk, Wlc_Par_t * pPars ) ...@@ -1659,6 +1661,8 @@ Wla_Man_t * Wla_ManStart( Wlc_Ntk_t * pNtk, Wlc_Par_t * pPars )
Pdr_ManSetDefaultParams( pPdrPars ); Pdr_ManSetDefaultParams( pPdrPars );
pPdrPars->fVerbose = pPars->fPdrVerbose; pPdrPars->fVerbose = pPars->fPdrVerbose;
pPdrPars->fVeryVerbose = 0; pPdrPars->fVeryVerbose = 0;
pPdrPars->pFuncStop = pPars->pFuncStop;
pPdrPars->RunId = pPars->RunId;
if ( pPars->fPdra ) if ( pPars->fPdra )
{ {
pPdrPars->fUseAbs = 1; // use 'pdr -t' (on-the-fly abstraction) pPdrPars->fUseAbs = 1; // use 'pdr -t' (on-the-fly abstraction)
...@@ -1713,7 +1717,7 @@ int Wla_ManSolve( Wla_Man_t * pWla, Wlc_Par_t * pPars ) ...@@ -1713,7 +1717,7 @@ int Wla_ManSolve( Wla_Man_t * pWla, Wlc_Par_t * pPars )
RetValue = Wla_ManSolveInt( pWla, pAig ); RetValue = Wla_ManSolveInt( pWla, pAig );
Aig_ManStop( pAig ); Aig_ManStop( pAig );
if ( RetValue != -1 ) if ( RetValue != -1 || (pPars->pFuncStop && pPars->pFuncStop( pPars->RunId)) )
break; break;
Wla_ManRefine( pWla ); Wla_ManRefine( pWla );
......
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