Introduction to Binary Decision Diagrams - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Introduction to Binary Decision Diagrams

Description:

'Logic Synthesis and Verification Algorithms' by G. D. Hachtel and F. ... 'Algorithms and Data Structures in VLSI Design' by C. Meinel and T. Theobald (Chapter 6) ... – PowerPoint PPT presentation

Number of Views:596
Avg rating:3.0/5.0
Slides: 31
Provided by: facultyWa9
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Binary Decision Diagrams


1
Introduction to Binary Decision Diagrams
  • Slawomir Pilarski

2
Textbooks
  • Logic Synthesis and Verification Algorithms by
    G. D. Hachtel and F. Somenzi (Chapter 6)
  • Algorithms and Data Structures in VLSI Design
    by C. Meinel and T. Theobald (Chapter 6)

3
Topics
  • BDDs by example
  • How to build a BDD
  • Reduction rules
  • Variable order
  • Binary operations

4
  • Binary Decision Diagrams are used to represent
    and manipulate Boolean Functions
  • Manipulation of Boolean functions is a
    fundamental part of computer science

5
BDD
  • Graph representation of a Boolean function
  • Canonical representation
  • Very effective function manipulation algorithms

6
A Bit of History
  • Old concept 1959 (?)
  • Renewed interest Bryant, 1986
  • Currently used in every sub-area of logic
    synthesis and verification

7
Constant
  • A node represents 0 or 1

0
1
8
One-variable functions
F(a) a
F(a) not(a)
a
a
0
1
0
1
0
1
1
0
9
More one-variable functions? ?
10
More one-variable functions ?
F(a) 0
F(a) 1
a
a
0
1
0
1
0
0
1
1
11
Merge all identical subgraphs
F(a) 0
F(a) 0
a
a
0
1
0
1
0
0
0
12
Node elimination
F(a) 0
F(a) 0
a
0
1
0
0
13
AND
F(a,b) ab
a
0
1
b
0
1
0
0
1
14
AND - merge
a
a
0
1
0
1
b
b
0
1
0
0
1
0
1
0
1
15
AND another graph ?
b
a
0
1
0
1
a
b
0
1
0
1
0
1
0
1
16
XOR
a
0
1
b
b
0
1
0
1
1
0
0
1
17
F(a,b,c) abc
a
0
1
a
0
1
0
1
b
0
1
AND
b
0
1
0
1
0
1
18
F(a,b,c) abc
c
0
1
c
0
1
0
1
1
a
0
1
OR
a
0
1
b
0
1
b
0
1
0
1
0
1
19
F(a,b,c) abc
c
c
0
1
0
1
1
a
a
0
1
0
1
b
b
0
1
0
1
0
1
0
1
20
F(a,b,c) abc
a
0
1
b
0
1
c
0
1
0
1
21
F(a,b,c) abc bad var. order
a
0
1
c
c
0
1
0
1
b
0
1
1
0
22
Binary Operations
  • Shannons expansion f g
  • v ( f(v0) g(v0) ) v ( f(v1) g(v1))

v
v
v
0
1
0
1
0
1
d
bd
ac
b
c
a
23
(ab)(bc)
a
0
1
a
b
0
1
0
1
b
0
0
1
0
1


0
1
b
b
0
1
0
1
b
0
1
c
c
0
1
0
1
c
0
1
0
1
0
1
0
1
24
(ab)(bc)
a
0
1
0


b
0
1
b
0
1
c
0
1
c
0
1
0
1
0
1
25

a
0
1
b
0
1
0
1


b
0
1
c
0
1
0
1
26

b
b
0
1
0
1
0
1
0
1



b
0
1
0
c
0
1
c
0
1
0
1
0
1
27

a
0
1
b
0
1
b
0
1
0
1
0
1


b
0
1
c
0
1
0
1
28
(ab)(bc)
a
0
1
b
0
1
0
1
b
0
1
c
0
1
0
1
29
Problems
  • Find a good variable order for f (abe)(dc).
    Discuss your reasoning.
  • For functions f abc and g bc d
  • compute fg draw the BDD

30
Next topic
  • Design considerations for a BDD package
  • Data structures for BDD nodes
  • Unique table
  • Computed table
  • ITE algorithm
Write a Comment
User Comments (0)
About PowerShow.com