summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-05-29 10:39:55 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-05-29 10:39:55 -0700
commitccaa96549ff1d5dabbd95fdce4777a104ea9c139 (patch)
tree8481ee5a3f0c53aa03f2a65aaba1e429b14226ff /src/base
parentbfa48cef2aab9e21f0fe9bd24a0bcfd7ce464686 (diff)
downloadabc-ccaa96549ff1d5dabbd95fdce4777a104ea9c139.tar.gz
abc-ccaa96549ff1d5dabbd95fdce4777a104ea9c139.tar.bz2
abc-ccaa96549ff1d5dabbd95fdce4777a104ea9c139.zip
Fixing the problem with 'phase -c'.
Diffstat (limited to 'src/base')
-rw-r--r--src/base/abci/abc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index bdf57e55..1cdd493a 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -18864,6 +18864,18 @@ int Abc_CommandDarPhase( Abc_Frame_t * pAbc, int argc, char ** argv )
return 1;
}
pCexNew = Abc_CexTransformPhase( pAbc->pCex, Abc_NtkPiNum(pNtk), Abc_NtkPoNum(pNtk), Abc_NtkLatchNum(pNtk) );
+ {
+ Aig_Man_t * pAig = Abc_NtkToDar( pNtk, 0, 1 );
+ Gia_Man_t * pGia = Gia_ManFromAig( pAig );
+ int iPo = Gia_ManSetFailedPoCex( pGia, pCexNew );
+ Gia_ManStop( pGia );
+ Aig_ManStop( pAig );
+ if ( iPo == -1 )
+ {
+ Abc_Print( -1, "The counter-example does not fail any of the outputs of the original AIG.\n" );
+ return 1;
+ }
+ }
Abc_FrameReplaceCex( pAbc, &pCexNew );
return 0;
}