mirror of https://github.com/YosysHQ/abc.git
Changes to enable smarter simulation.
This commit is contained in:
parent
b8de7a28e0
commit
43d8b8bece
|
|
@ -833,7 +833,12 @@ static Vec_Int_t * Ssw_RarFindStartingState( Aig_Man_t * pAig, Abc_Cex_t * pCex
|
||||||
// record the new pattern
|
// record the new pattern
|
||||||
vInit = Vec_IntAlloc( Saig_ManRegNum(pAig) );
|
vInit = Vec_IntAlloc( Saig_ManRegNum(pAig) );
|
||||||
Saig_ManForEachLo( pAig, pObj, i )
|
Saig_ManForEachLo( pAig, pObj, i )
|
||||||
|
{
|
||||||
|
//printf( "%d", pObj->fMarkB );
|
||||||
Vec_IntPush( vInit, pObj->fMarkB );
|
Vec_IntPush( vInit, pObj->fMarkB );
|
||||||
|
}
|
||||||
|
//printf( "\n" );
|
||||||
|
Aig_ManCleanMarkB( pAig );
|
||||||
return vInit;
|
return vInit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -975,7 +980,10 @@ int Ssw_RarSignalFilter( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize
|
||||||
// compute starting state if needed
|
// compute starting state if needed
|
||||||
assert( p->vInits == NULL );
|
assert( p->vInits == NULL );
|
||||||
if ( pCex )
|
if ( pCex )
|
||||||
|
{
|
||||||
p->vInits = Ssw_RarFindStartingState( pAig, pCex );
|
p->vInits = Ssw_RarFindStartingState( pAig, pCex );
|
||||||
|
printf( "Beginning simulation from the state derived using the counter-example.\n" );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
p->vInits = Vec_IntStart( Aig_ManRegNum(pAig) );
|
p->vInits = Vec_IntStart( Aig_ManRegNum(pAig) );
|
||||||
// duplicate the array
|
// duplicate the array
|
||||||
|
|
|
||||||
|
|
@ -25438,6 +25438,11 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
|
||||||
}
|
}
|
||||||
if ( fUseCex )
|
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) )
|
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",
|
Abc_Print( -1, "Abc_CommandAbc9Equiv3(): The number of PIs differs in cex (%d) and in AIG (%d).\n",
|
||||||
|
|
@ -25450,7 +25455,8 @@ int Abc_CommandAbc9Equiv3( Abc_Frame_t * pAbc, int argc, char ** argv )
|
||||||
// else
|
// else
|
||||||
// pAbc->Status = Ssw_RarSignalFilterGia2( pAbc->pGia, nFrames, nWords, nBinSize, nRounds, TimeOut, fUseCex? pAbc->pCex: NULL, fLatchOnly, fVerbose );
|
// pAbc->Status = Ssw_RarSignalFilterGia2( pAbc->pGia, nFrames, nWords, nBinSize, nRounds, TimeOut, fUseCex? pAbc->pCex: NULL, fLatchOnly, fVerbose );
|
||||||
// pAbc->nFrames = pAbc->pGia->pCexSeq->iFrame;
|
// pAbc->nFrames = pAbc->pGia->pCexSeq->iFrame;
|
||||||
Abc_FrameReplaceCex( pAbc, &pAbc->pGia->pCexSeq );
|
if ( pAbc->pGia->pCexSeq )
|
||||||
|
Abc_FrameReplaceCex( pAbc, &pAbc->pGia->pCexSeq );
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
usage:
|
usage:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue