File tree Expand file tree Collapse file tree 8 files changed +31
-17
lines changed Expand file tree Collapse file tree 8 files changed +31
-17
lines changed Original file line number Diff line number Diff line change 1
1
CORE
2
2
always_with_range1.sv
3
3
--bound 20
4
- ^\[main\.property\.1 \] always \[0:9\] main\.x < 10: PROVED up to bound 20$
5
- ^\[main\.property\.2 \] always \[0:\$\] main\.x < 10: REFUTED$
6
- ^\[main\.property\.3 \] s_always \[0:9\] main\.x < 10: PROVED up to bound 20$
4
+ ^\[main\.property\.p0 \] always \[0:9\] main\.x < 10: PROVED up to bound 20$
5
+ ^\[main\.property\.p1 \] always \[0:\$\] main\.x < 10: REFUTED$
6
+ ^\[main\.property\.p2 \] s_always \[0:9\] main\.x < 10: PROVED up to bound 20$
7
7
^EXIT=10$
8
8
^SIGNAL=0$
9
9
--
Original file line number Diff line number Diff line change 1
1
CORE
2
2
cover2.sv
3
3
--bound 10 --numbered-trace
4
- ^\[main\.property\.1 \] cover main\.counter == 1: PROVED$
4
+ ^\[main\.property\.p0 \] cover main\.counter == 1: PROVED$
5
5
^Trace with 2 states:$
6
6
^main\.counter@0 = 0$
7
7
^main\.counter@1 = 1$
8
- ^\[main\.property\.2 \] cover main\.counter == 100: REFUTED up to bound 10$
8
+ ^\[main\.property\.p1 \] cover main\.counter == 100: REFUTED up to bound 10$
9
9
^EXIT=10$
10
10
^SIGNAL=0$
11
11
--
Original file line number Diff line number Diff line change 1
1
CORE
2
2
initial1.sv
3
3
--module main --bound 1
4
- ^\[main\.property\.1 \] main\.counter == 0: PROVED up to bound 1$
5
- ^\[main\.property\.2 \] main\.counter == 100: REFUTED$
6
- ^\[main\.property\.3 \] ##1 main\.counter == 1: PROVED up to bound 1$
7
- ^\[main\.property\.4 \] ##1 main\.counter == 100: REFUTED$
8
- ^\[main\.property\.5 \] s_nexttime main\.counter == 1: PROVED up to bound 1$
4
+ ^\[main\.property\.p0 \] main\.counter == 0: PROVED up to bound 1$
5
+ ^\[main\.property\.p1 \] main\.counter == 100: REFUTED$
6
+ ^\[main\.property\.p2 \] ##1 main\.counter == 1: PROVED up to bound 1$
7
+ ^\[main\.property\.p3 \] ##1 main\.counter == 100: REFUTED$
8
+ ^\[main\.property\.p4 \] s_nexttime main\.counter == 1: PROVED up to bound 1$
9
9
^EXIT=10$
10
10
^SIGNAL=0$
11
11
--
Original file line number Diff line number Diff line change @@ -21,9 +21,9 @@ module main(input clk);
21
21
initial p2 : assert property (## 1 counter == 1 );
22
22
23
23
// expected to fail
24
- initial p2 : assert property (## 1 counter == 100 );
24
+ initial p3 : assert property (## 1 counter == 100 );
25
25
26
26
// expected to pass if there are timeframes 0 and 1
27
- initial p3 : assert property (s_nexttime counter == 1 );
27
+ initial p4 : assert property (s_nexttime counter == 1 );
28
28
29
29
endmodule
Original file line number Diff line number Diff line change 1
1
CORE
2
2
sequence1.sv
3
3
--bound 20 --numbered-trace
4
- ^\[main\.property\.1 \] ##\[0:9\] main\.x == 100: REFUTED$
4
+ ^\[main\.property\.p0 \] ##\[0:9\] main\.x == 100: REFUTED$
5
5
^Counterexample with 10 states:$
6
6
^main\.x@0 = 0$
7
7
^main\.x@9 = 9$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
sequence2.sv
3
3
--bound 10 --numbered-trace
4
- ^\[main\.property\.1 ] ##\[0:\$\] main\.x == 10: REFUTED$
4
+ ^\[main\.property\.p0 ] ##\[0:\$\] main\.x == 10: REFUTED$
5
5
^Counterexample with 7 states:$
6
6
^main\.x@0 = 0$
7
7
^main\.x@1 = 1$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
sequence3.sv
3
3
--bound 20 --numbered-trace
4
- ^\[main\.property\.1 \] ##\[\*\] main\.x == 6: REFUTED$
4
+ ^\[main\.property\.p0 \] ##\[\*\] main\.x == 6: REFUTED$
5
5
^Counterexample with 2 states:$
6
- ^\[main\.property\.2 \] ##\[\+\] main\.x == 0: REFUTED$
6
+ ^\[main\.property\.p1 \] ##\[\+\] main\.x == 0: REFUTED$
7
7
^Counterexample with 7 states:$
8
8
^EXIT=10$
9
9
^SIGNAL=0$
Original file line number Diff line number Diff line change @@ -1481,7 +1481,21 @@ void verilog_typecheckt::convert_statement(
1481
1481
else if (statement.id ()==ID_force)
1482
1482
convert_force (to_verilog_force (statement));
1483
1483
else if (statement.id () == ID_verilog_label_statement)
1484
- convert_statement (to_verilog_label_statement (statement).statement ());
1484
+ {
1485
+ // We stick the label on any assert/assume/conver statement
1486
+ auto &label_statement = to_verilog_label_statement (statement);
1487
+ auto &sub_statement = label_statement.statement ();
1488
+
1489
+ if (
1490
+ sub_statement.id () == ID_verilog_assert_property ||
1491
+ sub_statement.id () == ID_verilog_assume_property ||
1492
+ sub_statement.id () == ID_verilog_cover_property)
1493
+ {
1494
+ sub_statement.set (ID_identifier, label_statement.label ());
1495
+ }
1496
+
1497
+ convert_statement (sub_statement);
1498
+ }
1485
1499
else if (statement.id () == ID_wait)
1486
1500
{
1487
1501
}
You can’t perform that action at this time.
0 commit comments