Commit 43d8b8be by Alan Mishchenko

Changes to enable smarter simulation.

parent b8de7a28
......@@ -833,7 +833,12 @@ static Vec_Int_t * Ssw_RarFindStartingState( Aig_Man_t * pAig, Abc_Cex_t * pCex
// record the new pattern
vInit = Vec_IntAlloc( Saig_ManRegNum(pAig) );
Saig_ManForEachLo( pAig, pObj, i )
{
//printf( "%d", pObj->fMarkB );
Vec_IntPush( vInit, pObj->fMarkB );
}
//printf( "\n" );
Aig_ManCleanMarkB( pAig );
return vInit;
}
......@@ -975,7 +980,10 @@ int Ssw_RarSignalFilter( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize
// compute starting state if needed
assert( p->vInits == NULL );
if ( pCex )
{
p->vInits = Ssw_RarFindStartingState( pAig, pCex );
printf( "Beginning simulation from the state derived using the counter-example.\n" );
}
else
p->vInits = Vec_IntStart( Aig_ManRegNum(pAig) );
// duplicate the array
......
......@@ -25438,6 +25438,11 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
}
if ( fUseCex )
{
if ( pAbc->pCex == NULL )
{
Abc_Print( 0, "Abc_CommandAbc9Equiv3(): Counter-example is not available.\n" );
return 0;
}
if ( pAbc->pCex->nPis != Gia_ManPiNum(pAbc->pGia) )
{
Abc_Print( -1, "Abc_CommandAbc9Equiv3(): The number of PIs differs in cex (%d) and in AIG (%d).\n",
......@@ -25450,6 +25455,7 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
// else
// pAbc->Status = Ssw_RarSignalFilterGia2( pAbc->pGia, nFrames, nWords, nBinSize, nRounds, TimeOut, fUseCex? pAbc->pCex: NULL, fLatchOnly, fVerbose );
// pAbc->nFrames = pAbc->pGia->pCexSeq->iFrame;
if ( pAbc->pGia->pCexSeq )
Abc_FrameReplaceCex( pAbc, &pAbc->pGia->pCexSeq );
return 0;
......
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