1 111Fba 3 ECE 474a575aSusan Lysecky7of 31Binary Decision Diagram BDDEdge NotationsSeveral ways to represent value 1 and value 0Bubble vs Nonbubble lineDashed vs Solid lineT then vs E el ID: 937437
Download Pdf The PPT/PDF document "The function FTruth tableEquation 2 Fab ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1 The function FTruth tableEquation 2: F(a,b) = aEquation 1: F(a,b) = ab+ ab 111Fba 3 ECE 474a/575aSusan Lysecky7of 31Binary Decision Diagram (BDD)Edge NotationsSeveral ways to represent value = 1 and value = 0Bubble vs. Non-bubble lineDashed vs. Solid lineT (then) vs. E (else) labelsWe will adopt T vs. E labels consistent with most of the book (Hatchel) examples 1 0 x2 x2
x3 S(x1, x2, x3) 1 0 x2 x2 x3 S(x1, x2, x3) 1 0 x2 x2 x3 S(x1, x2, x3) ECE 474a/575aSusan Lysecky8of 31Binary Decision Diagram (BDD)Example 2Lets consider another function f(a,b,c,d) = abc+ bd+ cd 1 0 a b b d TEETE f c c E 1 0 a b b d TEETE f c c What is the value of f(1,0,1,0)?Notice that if a=1 and b=0, the function does not depend on a value for c. 1 0 a b b d TEETE f c
c What is the value of f(1,1,0,1)? ECE 474a/575aSusan Lysecky9of 31Ordered Binary Decision Diagram (OBDD)What is a OBDD?Ordered binary decision diagrams ensure the variables appear in the same order along all paths from the root to the leaves 0 1 a c c TEE f b Ordering : a bNot ordered 1 0 a c b TTTEEE f b cTTEE 5 ECE 474a/575aSusan Lysecky13of 31Formal Definition of BDDsA BD
D is a direct acyclic graph (DAG) representing a multiple-output switching function FNodes are partitioned into three subsetsFunction nodeRepresents the function symbol (f)Indegree = 0Outdegree = 1 Internal nodeRepresents variable in function (a, b, c, d)Indegree Outdegree = 2Terminal nodeRepresents a value (1 or 0)Indegree Outdegree = 0 1 0 b c d TETETE f a Function node Inter
nal nodesTerminal nodes ECE 474a/575aSusan Lysecky14of 31Formal Definition of BDDsA BDD definition (cont) Three types of edgesIncoming edgeFrom the function node and defines functionT edgeFrom an internal node and represents when the corresponding variable is 1E edgeFrom an internal node and represents when the corresponding variable is 0 1 0 b c d TETETE f a Incoming edge E e
dge T edge ECE 474a/575aSusan Lysecky15of 31Formal Definition of BDDsA BDD definition (cont) The function f represented by a BDD is defined as followsThe function of the terminal node is a constant value (1 or 0)The function of a T edge is the function of the head nodeThe function of a E edge is the complement of the function of the nodeThe function of a node v is given by vf,
when fis the function of the T edge and is the function of the E edgeThe function of the function node is the function of its outgoing edge 1 0 b c d TETETE f a Function of the function node is the function of its outgoing edge Function of this T edge is a Function of this terminal node is 1 Function of this terminal node is 0 Function of this E edge is a 8 ECE 474a/575aSus
an Lysecky22of 31Building BDDs-Exercise 2Build a BDD for f = abc+ bd+ cdUse the variable ordering b Compute cofactors of f with respect to b (first variable in ordering)f = abc+ bd+ cd= d + cd b ET fbf partial expansion with respect to b= ac + cd ECE 474a/575aSusan Lysecky23of 31Building BDDs-Exercise 2Build a BDD for f = abc+ bd+ cdUse the variable ordering b Compute
cofactors of fand fwith respect to c (second variable in ordering)= ac + cd= d + cd b ET fbf ET f bcbcbc equivalent cofactors, we can create a single node (reduced)bcbcbc bc bc ET bc partial expansion with respect to c ECE 474a/575aSusan Lysecky24of 31Building BDDs-Exercise 2Build a BDD for f = abc+ bd+ cdUse the variable ordering b Compute cofactors of fbcbc,
and fbcwith respect to d (third variable in ordering)bcbcbc b ET f bcbcbcbcdbcdbcdbcdbcdbcd b ET f ET dET 1 0 partial expansion with respect to d 10 ECE 474a/575aSusan Lysecky28of 31BDD to Boolean Function Exercise 2Another Example a ET f bET 0 1 F = abc+ ab+ a + bF= b(c) + b(1)= bc+ b + aF= a(bc+ b) + a(1)= abc+ ab+ a ECE 474a/575aSusan Ly
secky29of 31Reducing BDDs a ET f bET bET cET 1 0 cET 1 0 cET 0 1 cET 0 isomorphic subgraphs a ET f bET bET cET 1 0 cET 1 0 cET 0 1 a ET f bET cET 1 0 cET 1 0 cET 0 When building BDDs, result not always reduced (Example 1 -slide 19)We have isomorphic subgraphs, potential for reductionTransform a non-reduced BDD into a reduced BDD by iteratively applyingIdentify isomorphic subgra
phsRemove redundant nodesA ordered reduced BDD (ROBDD) is unique so we have a canonical form (redundant node) ECE 474a/575aSusan Lysecky30of 31Reducing BDDsExample 2isomorphic subgraphs a T f bET cET 1 0 cET 1 0 E cET 0 1 a T f bET cET 1 0 E cET 0 1 a T f E cET 0 1 cET 1 Lets try to reduce and OBDDIterative applyIdentify isomorphic subgraphsRemove redundant nodes (redundant no