Commit 3fb058a3 by Alan Mishchenko

Adding PDR with abstraction.

parent 4abb1ce8
...@@ -874,7 +874,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -874,7 +874,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
Vec_IntWriteEntry( p->vAbsFlops, i, 1 ); Vec_IntWriteEntry( p->vAbsFlops, i, 1 );
} }
//if ( p->pPars->fUseAbs && p->vAbsFlops ) //if ( p->pPars->fUseAbs && p->vAbsFlops )
// printf( "Starting frame %d with %d flops.\n", iFrame, Vec_IntCountPositive(p->vAbsFlops) ); // printf( "Starting frame %d with %d (%d) flops.\n", iFrame, Vec_IntCountPositive(p->vAbsFlops), Vec_IntCountPositive(p->vPrio) );
p->nFrames = iFrame; p->nFrames = iFrame;
assert( iFrame == Vec_PtrSize(p->vSolvers)-1 ); assert( iFrame == Vec_PtrSize(p->vSolvers)-1 );
p->iUseFrame = Abc_MaxInt(iFrame, 1); p->iUseFrame = Abc_MaxInt(iFrame, 1);
...@@ -1061,10 +1061,19 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -1061,10 +1061,19 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
p->timeToStopOne = 0; p->timeToStopOne = 0;
} }
} }
if ( p->pPars->fUseAbs && p->vAbsFlops && !fRefined )
{
int i, Used;
Vec_IntForEachEntry( p->vAbsFlops, Used, i )
if ( Used && (Vec_IntEntry(p->vPrio, i) >> p->nPrioShift) == 0 )
Vec_IntWriteEntry( p->vAbsFlops, i, 0 );
}
if ( p->pPars->fVerbose ) if ( p->pPars->fVerbose )
Pdr_ManPrintProgress( p, !fRefined, Abc_Clock() - clkStart ); Pdr_ManPrintProgress( p, !fRefined, Abc_Clock() - clkStart );
if ( fRefined ) if ( fRefined )
continue; continue;
//if ( p->pPars->fUseAbs && p->vAbsFlops )
// printf( "Finished frame %d with %d (%d) flops.\n", iFrame, Vec_IntCountPositive(p->vAbsFlops), Vec_IntCountPositive(p->vPrio) );
// open a new timeframe // open a new timeframe
p->nQueLim = p->pPars->nRestLimit; p->nQueLim = p->pPars->nRestLimit;
assert( pCube == NULL ); assert( pCube == NULL );
......
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