Skip to content

Commit 3b66777

Browse files
committed
Test for SVA ##[*] ...
This adds a test for SVA's ##[*] operator, for BDDs, BMC, Buechi->BMC and Buechi->BDD.
1 parent 3961866 commit 3b66777

File tree

8 files changed

+71
-1
lines changed

8 files changed

+71
-1
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CORE
2+
../../verilog/SVA/cycle_delay_star2.sv
3+
--buechi --bdd
4+
^\[main.p0\] ##\[\*\] main\.x == 4: REFUTED$
5+
^EXIT=10$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CORE
2+
../../verilog/SVA/cycle_delay_star2.sv
3+
--buechi --bound 10
4+
^\[main.p0\] ##\[\*\] main\.x == 4: REFUTED$
5+
^EXIT=10$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
KNOWNBUG
2+
../../verilog/SVA/cycle_delay_star3.sv
3+
--buechi --bdd
4+
^\[main.p0\] ##\[\*\] main\.x == 4: PROVED up to bound 10$
5+
^EXIT=0$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
10+
We get the wrong answer.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
KNOWNBUG
2+
../../verilog/SVA/cycle_delay_star3.sv
3+
--buechi --bound 10
4+
^\[main.p0\] ##\[\*\] main\.x == 4: PROVED up to bound 10$
5+
^EXIT=0$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
10+
We get the wrong answer.

regression/verilog/SVA/cycle_delay_star2.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module main(input clk);
66

77
// 0, 1, 2, 3, 3, ...
88
always @(posedge clk)
9-
if(x<=3) x++;
9+
if(x<3) x++;
1010

1111
// fails -- 4 is never reached
1212
initial p0: assert property (##[*] x==4);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CORE
2+
cycle_delay_star3.sv
3+
--bdd
4+
^\[main.p0\] ##\[\*\] main\.x == 4: FAILURE: property not supported by BDD engine$
5+
^EXIT=10$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CORE
2+
cycle_delay_star3.sv
3+
--bound 10
4+
^\[main.p0\] ##\[\*\] main\.x == 4: PROVED up to bound 10$
5+
^EXIT=0$
6+
^SIGNAL=0$
7+
--
8+
^warning: ignoring
9+
--
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module main(input clk);
2+
3+
reg [2:0] x;
4+
5+
initial x=0;
6+
7+
// 0, 1, 2, 3, 4, 4, ...
8+
always @(posedge clk)
9+
if(x<=3) x++;
10+
11+
// passes -- 4 is reached
12+
initial p0: assert property (##[*] x==4);
13+
14+
endmodule

0 commit comments

Comments
 (0)