Skip to content

Commit de4ca8c

Browse files
authored
Merge pull request #809 from diffblue/ring_buffer_induction
Strengthen ring_buffer induction test
2 parents 680dbe3 + 7b82932 commit de4ca8c

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CORE
2+
ring_buffer.sv
3+
--k-induction
4+
^\[ring_buffer\.assume\.1\] always \(ring_buffer\.empty \|-> !ring_buffer\.read\): ASSUMED$
5+
^\[ring_buffer\.assume\.2\] always \(ring_buffer\.full \|-> !ring_buffer\.write\): ASSUMED$
6+
^\[ring_buffer\.p0\] always \(ring_buffer\.writeptr - ring_buffer\.readptr & 15\) == ring_buffer\.count\[3:0\]: PROVED$
7+
^\[ring_buffer\.p1\] always ring_buffer\.count <= 16: PROVED$
8+
^\[ring_buffer\.p2\] always ring_buffer.count != 17: INCONCLUSIVE$
9+
^EXIT=10$
10+
^SIGNAL=0$

regression/ebmc/ring_buffer_induction/ring_buffer.sv renamed to regression/ebmc/k-induction/ring_buffer.sv

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ module ring_buffer(input clk, input read, input write);
1616

1717
end
1818

19-
wire full=count==15;
19+
wire full=count==16;
2020
wire empty=count==0;
2121

2222
assume property (empty |-> !read);
2323
assume property (full |-> !write);
2424

25-
assert property (((writeptr-readptr)&'b1111)==count);
25+
p0: assert property (((writeptr-readptr)&'b1111)==count[3:0]);
26+
p1: assert property (count <= 16);
27+
p2: assert property (count != 17);
2628

2729
endmodule
28-

regression/ebmc/ring_buffer_induction/test.desc

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)