Skip to content

Commit 78570bf

Browse files
committed
EBMC: basic engine selection heuristic
This adds a trivial engine selection heuristic, as follows: 1) First, try 1-induction, which may refute (base case) or prove (step case) the property. 2) If still unresolved, try BMC with bound 5.
1 parent 11397bf commit 78570bf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+245
-183
lines changed

regression/ebmc/example1/test.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CORE
22
example1.sv
3-
--bound 10
4-
PROVED up to bound 10$
3+
4+
^\[.*\] always 2'\(main\.a\) \+ main\.b == main\.result: PROVED$
55
^EXIT=0$
66
^SIGNAL=0$

regression/smv/smv/bmc_unsupported_property1.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CORE
22
bmc_unsupported_property1.smv
3-
3+
--bound 1
44
^EXIT=10$
55
^SIGNAL=0$
66
^\[spec1\] EG x = FALSE: FAILURE: property not supported by BMC engine$

regression/smv/smv/bmc_unsupported_property2.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CORE
22
bmc_unsupported_property2.smv
3-
3+
--bound 1
44
^EXIT=10$
55
^SIGNAL=0$
66
^\[spec1\] EG x = FALSE: FAILURE: property not supported by BMC engine$

regression/verilog/SVA/immediate2.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
CORE
22
immediate2.sv
3-
--bound 0
3+
44
^\[main\.assume\.1\] assume always 0: ASSUMED$
5-
^\[main\.assert\.2\] always main\.index < 10: PROVED up to bound 0$
5+
^\[main\.assert\.2\] always main\.index < 10: PROVED$
66
^\[main\.assert\.3\] always 0: REFUTED$
77
^EXIT=10$
88
^SIGNAL=0$

regression/verilog/SVA/immediate3.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
immediate3.sv
3-
--bound 0
4-
^\[full_adder\.assert\.1\] always \{ full_adder\.carry, full_adder\.sum \} == \{ 1'b0, full_adder\.a \} \+ full_adder\.b \+ full_adder\.c: PROVED up to bound 0$
3+
4+
^\[full_adder\.assert\.1\] always \{ full_adder\.carry, full_adder\.sum \} == \{ 1'b0, full_adder\.a \} \+ full_adder\.b \+ full_adder\.c: PROVED$
55
^EXIT=0$
66
^SIGNAL=0$
77
--

regression/verilog/SVA/named_property1.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
named_property1.sv
3-
--bound 0
4-
^\[main\.assert\.1\] always main\.x_is_ten: PROVED up to bound 0$
3+
4+
^\[main\.assert\.1\] always main\.x_is_ten: PROVED$
55
^EXIT=0$
66
^SIGNAL=0$
77
--

regression/verilog/SVA/named_sequence1.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
named_sequence1.sv
3-
--bound 0
4-
^\[main\.assert\.1\] always main\.x_is_ten: PROVED up to bound 0$
3+
4+
^\[main\.assert\.1\] always main\.x_is_ten: PROVED up to bound 5$
55
^EXIT=0$
66
^SIGNAL=0$
77
--

regression/verilog/SVA/sequence5.desc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
CORE
22
sequence5.sv
3-
--bound 0
4-
^\[main\.p0\] 1: PROVED up to bound 0$
3+
4+
^\[main\.p0\] 1: PROVED up to bound 5$
55
^\[main\.p1\] 0: REFUTED$
66
^\[main\.p2\] 1'bx: REFUTED$
77
^\[main\.p3\] 1'bz: REFUTED$

regression/verilog/SVA/sequence_first_match1.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CORE
22
sequence_first_match1.sv
3-
3+
--bound 5
44
^\[.*\] first_match\(main\.x == 0\): FAILURE: property not supported by BMC engine$
55
^EXIT=10$
66
^SIGNAL=0$

regression/verilog/SVA/sequence_within1.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CORE
22
sequence_within1.sv
3-
3+
--bound 5
44
^\[.*\] main\.x == 0 within main\.x == 1: FAILURE: property not supported by BMC engine$
55
^EXIT=10$
66
^SIGNAL=0$

0 commit comments

Comments
 (0)