{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

9 BDDs_students_2Pp

# 9 BDDs_students_2Pp - Binary Decision Diagrams Melvin A...

This preview shows pages 1–7. Sign up to view the full content.

1 November 25, 2006 Melvin A. Breuer 1 Binary Decision Diagrams Melvin A. Breuer EE581, Fall 2006 University of Southern California November 25, 2006 Melvin A. Breuer 2 Motivation Boolean functions (BFs or BSFs) are used in Synthesis (e.g. EE681) Validation (e.g. EE681) Test Generation, e.g. Boolean Differences (e.g. EE658) And for many other processes Some operations on BFs include Evaluation, e.g,. f (0,1,1, x,0,1) = ? Manipulation, e.g. f g , f + g , f ’, f g , f i = x i f (1)+ x’ i f (0) Existence, e.g., does there exist a binary vector ( a 1 , a 2 , …, a n ) such that f ( a 1 , a 2 , …, a n ) = 1? Simplify corresponding BEs Expand, e.g. Shannon’s expansion Etc.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2 November 25, 2006 Melvin A. Breuer 3 More on motivation Complexity A BF of 64 variables can be represented by a truth table having 264 rows and 65 columns--that’s BIG It can also be expressed in SOP form using millions of prime implicants Don’t try K-maps What we need are efficient & effective ways to (1) represent, (2) store, (3) manipulate BFs. One answer – BDDs Efficient representation “most” BFs Leads to efficient manipulation Leads to a canonical representation Allows for symbolic manipulation and evaluation Is supported by available software November 25, 2006 Melvin A. Breuer 4 F ( x 1 , x 2 ,..., x 43 ) = x 1 ' x 3 ' x 7 ( x 5 + x 41 x 42 ) + ... + ... + ( x 1 + x 3 )( x 7 + x 9 ' ( x 23 + x 33 ' )) Example of Verification John figured out that a Boolean expression (BE) that defines the BF needed to detect deadlock is He asks Joan to implement it using a minimal number of NAND gates.
3 November 25, 2006 Melvin A. Breuer 5 F joan Three weeks later, Joan is done x 3 x 43 x 19 x’ 41 x 2 x 16 • • • Wow! 1213 gates November 25, 2006 Melvin A. Breuer 6 Verification Is her solution correct, i.e., is F john F joan ? Do you want to try all 2 43 input combinations? Design 1 Design 2 . . F john F joan g(x 1 , … , x 43 ) x 1 x 2 x 43 F john F joan iff no ( a 1 , a 2 , …, a 43 ) s.t. g ( a 1 , a 2 , … , a 43 ) = ___ • • • • • • Fill-in

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
4 November 25, 2006 Melvin A. Breuer 7 Nodes and edges Directed cycle Undirected cycle Digression on graphs G(V,E) Directed edges Cycles Acyclic – no cycle November 25, 2006 Melvin A. Breuer 8 No directed cycles A DAG A directed cycle Not a DAG End Digression Directed acyclic graph (DAG)
5 November 25, 2006 Melvin A. Breuer 9 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 f x 3 x 2 x 1 Preliminaries A BDD represents a BF as a rooted DAG Example: x 1 x 2 x 3 x 3 x 2 x 3 x 3 0 A node Root node An edge Leaf or terminal node 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 November 25, 2006 Melvin A. Breuer 10 Some comments In the future, arrows on edges will not always be shown Each __________ node (vertex) v has a label var ( v ) – one of the Boolean variables It also has _____ outgoing edges directed toward two children: lo ( v ) – dashed lines – value of var ( v ) = 0 hi ( v ) – solid lines – value of var ( v ) = 1 Each _____________ is labeled 0 or 1 f ( a 1 , a 2 , a 3 ) is determined by following a trace (path) from the root to a leaf, e.g., f (0,1,1) =1 Fill-in

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
6 November 25, 2006 Melvin A. Breuer 11 x 1 x 2 x 3 x 3 x 2
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}