- 2. Binary Decision Diagrams
1
2 Binary Decision Diagrams
Fachgebiet Rechnersysteme
- 2. Binary Decision Diagrams
Verification Technology
2 Binary Decision Diagrams 2. Binary Decision Diagrams Verification - - PowerPoint PPT Presentation
Fachgebiet Rechnersysteme 2. Binary Decision Diagrams 1 2 Binary Decision Diagrams 2. Binary Decision Diagrams Verification Technology Content 2.1 BDD concepts 2 2 Variable orderings 2.2 Variable orderings 2.3 OBDD algorithms 2 4 FDDs
1
Fachgebiet Rechnersysteme
Verification Technology
2
=1
1
&
&
& &
&
3
4 2.1 BDD concepts
5 2.1 BDD concepts
6 2.1 BDD concepts
7
2.1 BDD concepts
8 2.1 BDD concepts
9 2.1 BDD concepts
10 2.1 BDD concepts
11 2.1 BDD concepts
12 2.1 BDD concepts
13 2.1 BDD concepts
14 2.1 BDD concepts
15 2.1 BDD concepts
16 2.1 BDD concepts
17 2.1 BDD concepts
18 2.1 BDD concepts
19 2.1 BDD concepts
20 2.1 BDD concepts
21 2.1 BDD concepts
1
2
n
22
&
3 2 1
S S S
2.1 BDD concepts
& 1 & & 1 & & &
1 n+4
D E B G c S
3 3
1 & & & 1 & & =1
3
E A P F
3
D
3
=1 =1 1 & & & 1 & & & & & 1
2
Q A
2 2
E D B
3
& & 1 & & &
2
F A
1
B D
2 2
Q
=1 =1 & & & & & 1 1 & & =1
1 1
A=B F
1
B A E
1
& & 1 & & & 1 =1
F E D B
1 1
Q
1 =1 1 & & &
n
M c A 0 Q
=1 =1
23
2.1 BDD concepts
s3 g c4 p f3 f2 aeqb f1 f0 s3 s2 s1 s0 b3 a3 b2 a3 a2 b1 a2 a1 b0 a0 m c
24 2.1 BDD concepts
25 2.1 BDD concepts
26 2.1 BDD concepts
0 , 1
1
27 2.1 BDD concepts
28 2.1 BDD concepts
29 2.1 BDD concepts
30 2.1 BDD concepts
31 2.1 BDD concepts
32 2.1 BDD concepts
33 2.1 BDD concepts
34 2.1 BDD concepts
35 2.1 BDD concepts
1
36 2.1 BDD concepts
a
a
37 2.1 BDD concepts
a
a
ab ab
ab
ab
38 2.1 BDD concepts
ab ab
ab
ab
39 2.1 BDD concepts
a a
a a
a a
40 2.1 BDD concepts
41 2.1 BDD concepts
b 1 a 1 b 1 c 1 c 1 c 1 c 1 1 1 1 1 1 1 1 1
a 1 b 1 b 1
c c 1 c c 1
1
42
a 1
2.1 BDD concepts
b 1 b 1 c c 1 c c 1
1 1 a b 1 b 1 c c
1 1
43 2.1 BDD concepts
1 a
b 1 b 1
c c 1 1 1
44 2.1 BDD concepts
Traffic- r Light Checker e g p
45 2.1 BDD concepts
1
46 2.1 BDD concepts
47 2.1 BDD concepts
1
1 1
& &
x
48 2.1 BDD concepts
1
1
1
49 2.1 BDD concepts
1
1 1
=1
1 1 1
& & &
&
50
2.1 BDD concepts
& 1 & & 1 & & & & &
3 2 1 n+4
D E S B G c S S S
3 3 3
=1
& & 1 1 & & & & 1 & & & & & & & 1 =1
2 2 3
Q A P F F A
3 2 2
E D B
3 3 2
=1 1 =1 & & 1 & & & & 1 & & 1 & 1 & & & & & 1 =1
1 1
A=B F
1 1
B A D E E D B
2 1 2 1
Q Q
=1 =1 =1 &
3 2
S S S
1 & & & &
n
M c F E A 0 Q
=1 =1 & 1 & & & & 1 1 & 1 & & & & & & & =1
1 3 n+4
D E Q B A G c P F S S
3 3 2 3
D
3
=1 =1 & 1 & & & & 1 & 1 & & & 1 & & & 1 1 & & &
2 1 2
Q F A=B A
2
E
1 1
B B A D E
3 2 2
Q
=1 =1 & & 1 1 & & & & 1 & & & 1 & =1
1 n
M c F F A E D B A 0
1 1
Q Q
=1 =1 =1
51
52 2.2 Variable orderings
1
1
1
1 1 1
1
1
1 1 1 1
1
1 1
1 1 0
1 1
1
1 0
1
6
1
53 2.2 Variable orderings
54 2.2 Variable orderings
& &
& & &
&
55 2.2 Variable orderings
& & &
& &
56 2.2 Variable orderings
57 2.2 Variable orderings
58 2.2 Variable orderings
59 2.2 Variable orderings
60 2.2 Variable orderings
61 2.2 Variable orderings
62 2.2 Variable orderings
63 2.2 Variable orderings
64 2.2 Variable orderings
65 2.2 Variable orderings
66 2.2 Variable orderings
67 2.2 Variable orderings
68 2.2 Variable orderings
69 2.2 Variable orderings
70
2.2 Variable orderings
1
71 2.2 Variable orderings
72 2.2 Variable orderings
73 2.2 Variable orderings
74 2.2 Variable orderings
75 2.2 Variable orderings
76 2.2 Variable orderings
77 2.2 Variable orderings
78 2.2 Variable orderings
79 2.2 Variable orderings
80 2.2 Variable orderings
81 2.2 Variable orderings
82 2.2 Variable orderings
83 2.2 Variable orderings
84 2.2 Variable orderings
85 2.2 Variable orderings
86 2.2 Variable orderings
87 2.2 Variable orderings
88 2.2 Variable orderings
89 2.2 Variable orderings
90
91 2.3 OBDD construction
92 2.3 OBDD construction
93 2.3 OBDD construction
94 2.3 OBDD construction
95 2.3 OBDD construction
96 2.3 OBDD construction
97 2.3 OBDD construction
3 5 c & a b 1
a
4 c
1 b 1
c 1 1 3 1 4
98 2.3 OBDD construction
3 5 & a b 1
a
4 c
1 b 1
c 1 1 1 3 1 4 3 4
99 2.3 OBDD construction
3 5 & a b 1
a
4 c
1 b 1
c 1 1 3 1 4 3 4
100 2.3 OBDD construction
a 1
3 5 & a b 1
a
1 b 1
4 c
1 b 1
c 1 c 1 1 1 3 1 4 1 5 3 4 5
101 2.3 OBDD construction
a 1
3 5 & a b 1
1 b 1
4 c
a
c 1 c 1 1 b 1 3 1 4 1 5 1 1 3 4 5
102 2.3 OBDD construction
a 1
3 5 & a b 1
a
1 b 1
4 c
1 b 1
c 1 c 1 1 1 3 1 4 1 5 3 4
5
103 2.3 OBDD construction
a 1
3 5 & a b 1
1 b 1
4 c
a
c 1 c 1 1 b 1 1 4 1 5 1 1 3 4
5 3
104 2.3 OBDD construction
a 1
3 5 & a b 1
a
1 b 1
4 c
1 b 1
c 1 c 1 1 1 3 1 4 1 5 3 4
5
105 2.3 OBDD construction
a 1
3 5 & a b 1
a
1 b 1
4 c
1 b 1
c 1 c 1 1 1 3 1 4 1 5 3 4
5
106 2.3 OBDD construction
107 2.3 OBDD construction
108 2.3 OBDD construction
109 2.3 OBDD construction
110 2.3 OBDD construction
111
*
2.3 OBDD construction
1 1 1 1 1 1 1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1 1 1
1 1
1 1
112
*
2.3 OBDD construction
1 1 1 1 1 1 1 1 1 1
1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
*
1 1
1 1
* &
113 2.3 OBDD construction
114 2.3 OBDD construction
Means ti 1
1
negation
115 2.3 OBDD construction
1
1
1
1
1 1 1 1
116 2.3 OBDD construction
1 1
1
1 1 1 1 1 1
117 2.3 OBDD construction
1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1
1
118 2.3 OBDD construction
a 1 b b c 1 c 1 1 1 1 1 1 1
119 2.3 OBDD construction
a a
a
1 b 1 1 1 c 1 c 1 c 1 1 1 1 1 1 1 1
120 2.3 OBDD construction
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1
1 1
121 2.3 OBDD construction
1
1
122 2.3 OBDD construction
123 2.3 OBDD construction
124 2.3 OBDD construction
125
126 2.4 FDD's and OKFDD's
x x
x x x
x x x
127 2.4 FDD's and OKFDD's
128 2.4 FDD's and OKFDD's
129 2.4 FDD's and OKFDD's
130 2.4 FDD's and OKFDD's
131 2.4 FDD's and OKFDD's
132 2.4 FDD's and OKFDD's
x x
x x x
x x x
x x x
133 2.4 FDD's and OKFDD's
134 2.4 FDD's and OKFDD's
135 2.4 FDD's and OKFDD's
A0 A1 A2 A3 B0 B1 B2 B3 P7 P6 P5 P4 P3 P2 P1 P0
136
137 2.5 Integer-valued decision diagrams
138 2.5 Integer-valued decision diagrams
1
1
139 2.5 Integer-valued decision diagrams
140 2.5 Integer-valued decision diagrams
141 2.5 Integer-valued decision diagrams
.
1
.
142 2.5 Integer-valued decision diagrams
1
1 1
1
.
.
143 2.5 Integer-valued decision diagrams
1
1
144 2.5 Integer-valued decision diagrams
y
y)
1
1
145 2.5 Integer-valued decision diagrams
1
1 1
1
.
.
146 2.5 Integer-valued decision diagrams
147 2.5 Integer-valued decision diagrams
1
1
1
1
1
1
3
1
3
1
1
1
148 2.5 Integer-valued decision diagrams
1 1
1
1 1
1
1 1
1
1 1
1 1
149 2.5 Integer-valued decision diagrams
1
1
1
1
1
1
1
1
1
1
1
1 1
150 2.5 Integer-valued decision diagrams
1
1
1
1
1
151 2.5 Integer-valued decision diagrams
1
1 1 1
152
153 2.6 Bit-vector expressions
S3 S2 S1 S0 M = H M = L Cn = H M = L Cn = L L L L L F = not(A) F = A F = A PLUS 1 L L L H L L H L L L H H L H L L L H L H F = not(A+B) F = not(A) B F = 0 F = not(A B) F (B) F = A + B F = A + not(B) F = MINUS 1 F = A PLUS A not(B) F (A B) PLUS A (B) F = (A + B) PLUS 1 F = (A + not(B)) PLUS 1 F = 0 F = A PLUS A not(B) PLUS 1 F (A B) PLUS AB PLUS 1 L H L H L H H L L H H H H L L L H L L H F = not(B) F = A B F = A not(B) F = not(A)+B F t(AB) F = (A + B) PLUS A not(B) F = A MINUS B MINUS 1 F = A not(B) MINUS 1 F = A PLUS AB F = A PLUS B F = (A + B) PLUS AB PLUS 1 F = A MINUS B F = A not(B) F = A PLUS AB PLUS 1 F = A PLUS B PLUS 1 H L L H H L H L H L H H H H L L H H L H F = not(AB) F = B F = A B F = 1 F = A + not(B) F = A PLUS B F = (A + not(B)) PLUS AB F = A B MINUS 1 F = A PLUS A F = (A + B) PLUS A F = A PLUS B PLUS 1 F = (A + not(B)) PLUS AB PLUS 1 F = AB F = A PLUS A PLUS F = (A + B) PLUS A PLUS 1 H H L H H H H L H H H H F = A + not(B) F = A + B F = A F (A + B) PLUS A F = (A + not(B)) PLUS A F = A MINUS 1 F (A + B) PLUS A PLUS 1 F = (A + not(B)) PLUS A PLUS 1 F = A
154 2.6 Bit-vector expressions
S S
& 1 & & & & 1 & & 1 & 1 & & & & & & & & 1 =1
2 1 2 3 n+4D E Q B A G c P F S S S
3 3 2E
3D B
3 3=1 =1 & 1 & & & & 1 & & & & 1 & 1 & & & 1 & & & & & 1 =1
1 1 2F A=B F A
2E
1 1B A D E D B
2 1 2 1Q Q
=1 =1 =1 1 & & & &
nM c F E A 0 Q
=1 =1
155 2.6 Bit-vector expressions
156 2.6 Bit-vector expressions
157 2.6 Bit-vector expressions
158 2.6 Bit-vector expressions
159 2.6 Bit-vector expressions
160 2.6 Bit-vector expressions
161 2.6 Bit-vector expressions
162 2.6 Bit-vector expressions
163 2.6 Bit-vector expressions
164 2.6 Bit-vector expressions
165 2.6 Bit-vector expressions