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.
This commit is contained in:
Jannis Harder 2022-08-05 14:44:12 +02:00
parent feedbc7449
commit 20f970f569
1 changed files with 6 additions and 1 deletions

View File

@ -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 );