@@ -475,7 +475,7 @@ std::string expr2verilogt::convert_sva_binary(
475
475
476
476
/* ******************************************************************\
477
477
478
- Function: expr2verilogt::convert_sva_disable_iff
478
+ Function: expr2verilogt::convert_sva_abort
479
479
480
480
Inputs:
481
481
@@ -485,16 +485,17 @@ Function: expr2verilogt::convert_sva_disable_iff
485
485
486
486
\*******************************************************************/
487
487
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)
490
491
{
491
492
verilog_precedencet p0;
492
493
auto s0 = convert (expr.condition (), p0);
493
494
494
495
verilog_precedencet p1;
495
- auto s1 = convert (expr.rhs (), p1);
496
+ auto s1 = convert (expr.property (), p1);
496
497
497
- return " disable iff (" + s0 + " ) " + s1;
498
+ return text + " (" + s0 + " ) " + s1;
498
499
}
499
500
500
501
/* ******************************************************************\
@@ -1428,13 +1429,29 @@ expr2verilogt::convert(const exprt &src, verilog_precedencet &precedence)
1428
1429
return precedence = verilog_precedencet::MIN,
1429
1430
convert_sva_unary (" assume" , to_sva_assume_expr (src));
1430
1431
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
+
1431
1448
else if (src.id ()==ID_sva_nexttime)
1432
1449
return precedence = verilog_precedencet::MIN,
1433
1450
convert_sva_indexed_binary (" nexttime" , to_sva_nexttime_expr (src));
1434
1451
1435
1452
else if (src.id () == ID_sva_disable_iff)
1436
1453
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));
1438
1455
1439
1456
else if (src.id ()==ID_sva_s_nexttime)
1440
1457
return precedence = verilog_precedencet::MIN,
0 commit comments