summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannis Harder <me@jix.one>2022-08-05 14:44:12 +0200
committerJannis Harder <me@jix.one>2022-08-05 15:12:00 +0200
commit20f970f569d014420413c475dc87265d1ab35f02 (patch)
treee068a81ddccabdf203605e5081fe62ecce0dea2b
parentfeedbc744955df2b142d6a0b9dc62814567f5fc2 (diff)
downloadabc-20f970f569d014420413c475dc87265d1ab35f02.tar.gz
abc-20f970f569d014420413c475dc87265d1ab35f02.tar.bz2
abc-20f970f569d014420413c475dc87265d1ab35f02.zip
write_cex: Check for unsupported multi-PO SAT based minimization
Running SAT-based CEX minimization with multiple POs runs into an assertion. This makes it produce an error message instead.
-rw-r--r--src/base/io/io.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/base/io/io.c b/src/base/io/io.c
index a8a5b618..46f2641f 100644
--- a/src/base/io/io.c
+++ b/src/base/io/io.c
@@ -2820,7 +2820,12 @@ void Abc_NtkDumpOneCex( FILE * pFile, Abc_Ntk_t * pNtk, Abc_Cex_t * pCex,
Bmc_CexCareVerify( pAig, pCex, pCare, fVerbose );
}
else if ( fUseSatBased )
- pCare = Bmc_CexCareSatBasedMinimize( pAig, Saig_ManPiNum(pAig), pCex, fHighEffort, fCheckCex, fVerbose );
+ {
+ if ( Abc_NtkPoNum( pNtk ) == 1 )
+ pCare = Bmc_CexCareSatBasedMinimize( pAig, Saig_ManPiNum(pAig), pCex, fHighEffort, fCheckCex, fVerbose );
+ else
+ printf( "SAT-based CEX minimization requires having a single PO.\n" );
+ }
else if ( fCexInfo )
{
Gia_Man_t * p = Gia_ManFromAigSimple( pAig );