Commit 1cb140bb by Yen-Sheng Ho

%pdra: fixed bugs

parent ecf91190
...@@ -1545,7 +1545,9 @@ void Wla_ManRefine( Wla_Man_t * pWla ) ...@@ -1545,7 +1545,9 @@ void Wla_ManRefine( Wla_Man_t * pWla )
if ( pWla->fNewAbs ) if ( pWla->fNewAbs )
{ {
assert( pWla->pCex == NULL ); if ( pWla->pCex )
Abc_CexFree( pWla->pCex );
pWla->pCex = NULL;
Gia_ManStop( pWla->pGia ); pWla->pGia = NULL; Gia_ManStop( pWla->pGia ); pWla->pGia = NULL;
return; return;
} }
......
...@@ -86,7 +86,7 @@ void * Wla_Bmc3Thread ( void * pArg ) ...@@ -86,7 +86,7 @@ void * Wla_Bmc3Thread ( void * pArg )
{ {
int status; int status;
int RetValue = -1; int RetValue = -1;
int nFramesNoChangeLim = 3; int nFramesNoChangeLim = 10;
Bmc3_ThData_t * pData = (Bmc3_ThData_t *)pArg; Bmc3_ThData_t * pData = (Bmc3_ThData_t *)pArg;
Abc_Ntk_t * pAbcNtk = Abc_NtkFromAigPhase( pData->pAig ); Abc_Ntk_t * pAbcNtk = Abc_NtkFromAigPhase( pData->pAig );
Saig_ParBmc_t BmcPars, *pBmcPars = &BmcPars; Saig_ParBmc_t BmcPars, *pBmcPars = &BmcPars;
...@@ -94,7 +94,7 @@ void * Wla_Bmc3Thread ( void * pArg ) ...@@ -94,7 +94,7 @@ void * Wla_Bmc3Thread ( void * pArg )
pBmcPars->pFuncStop = Wla_CallBackToStop; pBmcPars->pFuncStop = Wla_CallBackToStop;
pBmcPars->RunId = pData->RunId; pBmcPars->RunId = pData->RunId;
if ( pData->pWla->nIters > 1 && pData->pWla->pPars->fShrinkAbs ) if ( pData->pWla->pPars->fShrinkAbs )
pBmcPars->nFramesMax = pData->pWla->iCexFrame + nFramesNoChangeLim; pBmcPars->nFramesMax = pData->pWla->iCexFrame + nFramesNoChangeLim;
RetValue = Abc_NtkDarBmc3( pAbcNtk, pBmcPars, 0 ); RetValue = Abc_NtkDarBmc3( pAbcNtk, pBmcPars, 0 );
...@@ -117,7 +117,7 @@ void * Wla_Bmc3Thread ( void * pArg ) ...@@ -117,7 +117,7 @@ void * Wla_Bmc3Thread ( void * pArg )
if ( pData->RunId < g_nRunIds && pData->fVerbose ) if ( pData->RunId < g_nRunIds && pData->fVerbose )
Abc_Print( 1, "Bmc3 was cancelled. RunId=%d.\n", pData->RunId ); Abc_Print( 1, "Bmc3 was cancelled. RunId=%d.\n", pData->RunId );
if ( pData->RunId == g_nRunIds ) if ( pData->pWla->nIters > 1 && pData->RunId == g_nRunIds )
{ {
RetValue = Wla_ManShrinkAbs( pData->pWla, pData->pWla->iCexFrame + nFramesNoChangeLim ); RetValue = Wla_ManShrinkAbs( pData->pWla, pData->pWla->iCexFrame + nFramesNoChangeLim );
pData->pWla->iCexFrame += nFramesNoChangeLim; pData->pWla->iCexFrame += nFramesNoChangeLim;
......
...@@ -160,7 +160,8 @@ int IPdr_ManCheckClauses( Pdr_Man_t * p ) ...@@ -160,7 +160,8 @@ int IPdr_ManCheckClauses( Pdr_Man_t * p )
printf( "Cube[%d][%d] not inductive!\n", k, j ); printf( "Cube[%d][%d] not inductive!\n", k, j );
} }
assert( RetValue == 1 ); if ( RetValue == -1 )
return -1;
} }
} }
......
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