@@ -475,7 +475,7 @@ std::string expr2verilogt::convert_sva_binary(
475475
476476/* ******************************************************************\
477477
478- Function: expr2verilogt::convert_sva_disable_iff
478+ Function: expr2verilogt::convert_sva_abort
479479
480480 Inputs:
481481
@@ -485,16 +485,17 @@ Function: expr2verilogt::convert_sva_disable_iff
485485
486486\*******************************************************************/
487487
488- std::string
489- expr2verilogt::convert_sva_disable_iff (const sva_disable_iff_exprt &expr)
488+ std::string expr2verilogt::convert_sva_abort (
489+ const std::string &text,
490+ const sva_abort_exprt &expr)
490491{
491492 verilog_precedencet p0;
492493 auto s0 = convert (expr.condition (), p0);
493494
494495 verilog_precedencet p1;
495- auto s1 = convert (expr.rhs (), p1);
496+ auto s1 = convert (expr.property (), p1);
496497
497- return " disable iff (" + s0 + " ) " + s1;
498+ return text + " (" + s0 + " ) " + s1;
498499}
499500
500501/* ******************************************************************\
@@ -1428,13 +1429,29 @@ expr2verilogt::convert(const exprt &src, verilog_precedencet &precedence)
14281429 return precedence = verilog_precedencet::MIN,
14291430 convert_sva_unary (" assume" , to_sva_assume_expr (src));
14301431
1432+ else if (src.id () == ID_sva_accept_on)
1433+ return precedence = verilog_precedencet::MIN,
1434+ convert_sva_abort (" accept_on" , to_sva_abort_expr (src));
1435+
1436+ else if (src.id () == ID_sva_reject_on)
1437+ return precedence = verilog_precedencet::MIN,
1438+ convert_sva_abort (" reject_on" , to_sva_abort_expr (src));
1439+
1440+ else if (src.id () == ID_sva_sync_accept_on)
1441+ return precedence = verilog_precedencet::MIN,
1442+ convert_sva_abort (" sync_accept_on" , to_sva_abort_expr (src));
1443+
1444+ else if (src.id () == ID_sva_sync_reject_on)
1445+ return precedence = verilog_precedencet::MIN,
1446+ convert_sva_abort (" sync_reject_on" , to_sva_abort_expr (src));
1447+
14311448 else if (src.id ()==ID_sva_nexttime)
14321449 return precedence = verilog_precedencet::MIN,
14331450 convert_sva_indexed_binary (" nexttime" , to_sva_nexttime_expr (src));
14341451
14351452 else if (src.id () == ID_sva_disable_iff)
14361453 return precedence = verilog_precedencet::MIN,
1437- convert_sva_disable_iff ( to_sva_disable_iff_expr (src));
1454+ convert_sva_abort ( " disable iff " , to_sva_abort_expr (src));
14381455
14391456 else if (src.id ()==ID_sva_s_nexttime)
14401457 return precedence = verilog_precedencet::MIN,
0 commit comments