Skip to content

Commit 17fdbb0

Browse files
committed
BDD engine: transform SVA to LTL, then LTL to CTL
The BDD engine now transforms SVA to LTL, when possible, which in turn is transformed to CTL, when possible. This is strictly more general than the current direct mapping.
1 parent f20c412 commit 17fdbb0

24 files changed

+129
-75
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CORE
2+
followed-by1.sv
3+
--bdd
4+
^\[main\.p0\] main\.x == 0 #=# \(main\.x == 1 #=# main\.x == 2\): PROVED$
5+
^\[main\.p1\] main\.x == 0 #-# \(\(##1 main\.x == 1\) #-# \(##1 main\.x == 2\)\): PROVED$
6+
^EXIT=0$
7+
^SIGNAL=0$
8+
--
9+
^warning: ignoring
10+
--
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
CORE
2+
followed-by2.sv
3+
--bdd
4+
^\[main\.p0\] always \(\(main\.a #-# main\.b\) iff \(not \(main\.a |-> \(not main\.b\)\)\)\): PROVED$
5+
^\[main\.p1\] always \(\(main\.a #=# main\.b\) iff \(not \(main\.a |=> \(not main\.b\)\)\)\): FAILURE: property not supported by BDD engine$
6+
^EXIT=10$
7+
^SIGNAL=0$
8+
--
9+
^warning: ignoring
10+
--
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CORE
2+
followed-by4.sv
3+
--bdd
4+
^\[main\.p1\] always \(main\.x == 0 #-# 1\): REFUTED$
5+
^\[main\.p2\] \(1 or \(##2 1\)\) #-# main\.x == 2: FAILURE: property not supported by BDD engine$
6+
^\[main\.p3\] \(1 or \(##2 1\)\) #-# main\.x == 0: FAILURE: property not supported by BDD engine$
7+
^EXIT=10$
8+
^SIGNAL=0$
9+
--
10+
^warning: ignoring
11+
--
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CORE
2+
initial1.sv
3+
--bdd
4+
^\[main\.p0\] main\.counter == 0: PROVED$
5+
^\[main\.p1\] main\.counter == 100: REFUTED$
6+
^\[main\.p2\] ##1 main\.counter == 1: PROVED$
7+
^\[main\.p3\] ##1 main\.counter == 100: REFUTED$
8+
^\[main\.p4\] s_nexttime main\.counter == 1: PROVED$
9+
^\[main\.p5\] always \[1:1\] main\.counter == 1: PROVED$
10+
^EXIT=10$
11+
^SIGNAL=0$
12+
--
13+
^warning: ignoring
14+
--
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CORE
2+
nexttime1.sv
3+
--bdd
4+
^\[main\.p1\] s_nexttime\[0\] main\.counter == 0: PROVED$
5+
^\[main\.p2\] s_nexttime\[1\] main\.counter == 1: PROVED$
6+
^\[main\.p3\] nexttime\[8\] main\.counter == 8: PROVED$
7+
^EXIT=0$
8+
^SIGNAL=0$
9+
--
10+
^warning: ignoring
11+
--

0 commit comments

Comments
 (0)