diff options
author | Jannis Harder <me@jix.one> | 2022-08-05 14:44:12 +0200 |
---|---|---|
committer | Jannis Harder <me@jix.one> | 2022-08-05 15:12:00 +0200 |
commit | 20f970f569d014420413c475dc87265d1ab35f02 (patch) | |
tree | e068a81ddccabdf203605e5081fe62ecce0dea2b | |
parent | feedbc744955df2b142d6a0b9dc62814567f5fc2 (diff) | |
download | abc-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.c | 7 |
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 ); |