You are on page 1of 66

Modeling & Verification

2020

Lecture 13
Binary Decision Diagrams

Modeling & Verification 2021 Kim Larsen [2]


Reading Material

Modeling & Verification 2021 Kim Larsen [3]


Combinatorial Circuits

Modeling & Verification 2021 Kim Larsen [4]


Combinatorial Problems

Modeling & Verification 2021 Kim Larsen [5]


Control Programs
ICE Trains – visualSTATE

Modeling & Verification 2021 Kim Larsen [6]


Control Programs
ICE Trains – visualSTATE
1 2 M2
BUGS ?
3 4

a M1

b c

M1 x M2
1,a 4,a 1,b 2,b 1,c 2,c

3,a 4,a 3,b 4,b 3,c 4,c

Modeling & Verification 2021 Kim Larsen [7]


Control Programs
ICE Trains – visualSTATE
1 2 M2
BUGS ?
3 4

a M1

b c

M1 x M2
1.421 state machines 1,a 4,a 1,b 2,b 1,c 2,c
11.102 transitions
Global States.: 10476 3,a 4,a 3,b 4,b 3,c 4,c

= 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000 STATES

Modeling & Verification 2021 Kim Larsen [8]


Reduced Ordered Binary Decision
Diagrams [Bryant’86]

Modeling & Verification 2021 Kim Larsen [9]


Configit

Modeling & Verification 2021 Kim Larsen [10]


Boolean Logic
Boolean Functions

Modeling & Verification 2021 Kim Larsen [12]


Boolean Functions

Modeling & Verification 2021 Kim Larsen [13]


Boolean Functions

Modeling & Verification 2021 Kim Larsen [14]


Truth Tables

Modeling & Verification 2021 Kim Larsen [15]


Combinatorial Circuits

Modeling & Verification 2021 Kim Larsen [16]


“Good” representations of Boolean
formulae

Modeling & Verification 2021 Kim Larsen [17]


“Good” representations of Boolean
formulae

Modeling & Verification 2021 Kim Larsen [18]


“Good” representations of Boolean
formulae

Modeling & Verification 2021 Kim Larsen [19]


If-Then-Else Operator

Modeling & Verification 2021 Kim Larsen [20]


If-Then-Else Normal Form

Modeling & Verification 2021 Kim Larsen [21]


If-Then-Else Normal Form

Modeling & Verification 2021 Kim Larsen [22]


If-Then-Else Normal Form
≈ Decision Trees

Modeling & Verification 2021 Kim Larsen [23]


Binary Decision
Structures
Shannon Expansion

Modeling & Verification 2021 Kim Larsen [25]


Shannon Expansion

Modeling & Verification 2021 Kim Larsen [26]


Shannon Expansion

Modeling & Verification 2021 Kim Larsen [27]


Binary Decision Trees

Redundant

Modeling & Verification 2021 Kim Larsen [28]


Ordered & Reduced

Modeling & Verification 2021 Kim Larsen [29]


Redundant Tests

Modeling & Verification 2021 Kim Larsen [30]


Reduced & Ordered BDD

Modeling & Verification 2021 Kim Larsen [31]


ROBDD Formally

Modeling & Verification 2021 Kim Larsen [32]


ROBDD Formally

Modeling & Verification 2021 Kim Larsen [33]


ROBDD Formally

Modeling & Verification 2021 Kim Larsen [34]


Order matters

Modeling & Verification 2021 Kim Larsen [35]


Canonicity of ROBDDs

Modeling & Verification 2021 Kim Larsen [36]


Canonicity of ROBDDs

Modeling & Verification 2021 Kim Larsen [37]


Algorithms on
ROBDDs
Array Implementation

Modeling & Verification 2021 Kim Larsen [39]


Array Implementation

Modeling & Verification 2021 Kim Larsen [40]


Array Implementation

Modeling & Verification 2021 Kim Larsen [41]


MakeNode

Modeling & Verification 2021 Kim Larsen [42]


Build

1 0

Modeling & Verification 2021 Kim Larsen [43]


1 0

Modeling & Verification 2021 Kim Larsen [44]


1 0

Modeling & Verification 2021 Kim Larsen [45]


Build

Modeling & Verification 2021 Kim Larsen [46]


Boolean Operations on BDDs

Modeling & Verification 2021 Kim Larsen [47]


Idea (𝒙𝟏 < 𝒙𝟐 < ⋯ < 𝒙𝒏 )

Modeling & Verification 2021 Kim Larsen [48]


Idea (𝒙𝟏 < 𝒙𝟐 < ⋯ < 𝒙𝒏 )

Modeling & Verification 2021 Kim Larsen [49]


Apply Operation

Modeling & Verification 2021 Kim Larsen [50]


Modeling & Verification 2021 Kim Larsen [51]
Apply Operation

Modeling & Verification 2021 Kim Larsen [52]


Apply Example

Modeling & Verification 2021 Kim Larsen [53]


APPLY Operation
with dynamic programming

Modeling & Verification 2021 Kim Larsen [54]


Other Operations

Modeling & Verification 2021 Kim Larsen [55]


First Application of
ROBDDs
Constraint Solving & Analysis

IBEN
Mia’s Schedule in 4th Grad

Modeling & Verification 2021 Kim Larsen [57]


Modeling & Verification 2021 Kim Larsen [58]
Modeling & Verification 2021 Kim Larsen [59]
Modeling & Verification 2021 Kim Larsen [60]
Modeling & Verification 2021 Kim Larsen [61]
Modeling & Verification 2021 Kim Larsen [62]
Skema as BDD

Modeling & Verification 2021 Kim Larsen [63]


Queries

Modeling & Verification 2021 Kim Larsen [64]


Answer q1 , q2 , q3

Modeling & Verification 2021 Kim Larsen [65]


Answer q4

Modeling & Verification 2021 Kim Larsen [66]

You might also like