Download BDDs and Their Applications: Lecture 4 - BDD-based Representations and more Study Guides, Projects, Research Electrical and Electronics Engineering in PDF only on Docsity! 1 Alan Mishchenko ECE 510 OCE BDDs and Their Applications Lecture 4. BDD-based Representations April 6, 2000 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 2 Overview • BDD-based representation of functions, functions with dcs, relations, minterms, cubes, sets, sets of sets, state machines, partitions, set systems, graphs, covering tables, matrices - what else?:) • Common features of all successful BDD- based representations • Detailed discussion of project possibilities • Selecting representation for your problem 2 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 3 Incompletely Specified Functions • Completely specified function (CSF) is a mapping Bn→B, where B = {0,1}, n > 0 • Incompletely specified function (ISF) is a set of two CSFs, one represents ON-set (F1), while the other represents DC-set (FDC) • Alternatively, an ISF can be represented by the interval (F1, F2), where F1 is ON-set and F2 is the sum of ON-set (F1) and DC-set (FDC) F1 ≤ F ≤ F2 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 4 Relations • Relation is a mapping Bn → Bm, where B = {0,1}, n > 0, m > 0. • If m = 1, a relation is a function • For example, F( x1,x2, y1,y2,y3 ), n = 2, m = 3 -1011 01101 -1010 0-100 y3y2y1x2x1 5 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 9 Implicit Cube Representation • To represent cubes of n-variable function F(x1,x2,…,xn), two sets of n vars are used: signature variables S = (s1,s2,...,sn) and polarity variables P = (p1,p2,...,pn) si variable is true iff i-th variable is present in the cube; pi variable is true iff i-th variable enters this cube in positive polarity • For example, cube x2x3’x4 is represented by the pair [(0111), (1101)] April 6, 2000 ECE 510 OCE: BDDs and Their Applications 10 BDD-based Representation of Relations Between Cubes • Characteristic function of the cube is χ(s,p)(x) = Πk (sk => (xk = pk)) • Cubes C1(s1,p1) and C2(s2,p2) are identical iff Πk [ (s1k= s1k) & (s1k => (p1k= p2k)) ] • Cube C1(s1,p1) contains cube C2(s2,p2) iff Πk [ s1k=> (s2k & (p1k= p2k)) ] 6 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 11 Characteristic Function of a Set • Function F: Bn → B, B = {0,1}, defines a subset of minterms of Bn, on which it is 1. • Given a binary encoding of a set of elements, characteristic function of a subset of this set is a boolean function, which is 1 for minterms encoding the subset and 0 for other minterms. April 6, 2000 ECE 510 OCE: BDDs and Their Applications 12 Example • Problem: Given the set {p0, p1, p2, p3, p4, p5 } and its encoding: p0 – p2 – p4 – p1 – p3 – p5 – find characteristic function of subset {p0, p2, p3} and represent the subset using BDD • Solution: Define a function over the encoding variables (x0,x1,x2) such that it is equal to 1 for minterms representing subset {p0, p2, p3}. ϕ{p0, p2, p3}(x0,x1,x2)= + + 012 xxx 012 xxx012 xxx 012 xxx 012 xxx 012 xxx 012 xxx 012 xxx 012 xxx 7 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 13 BDD Representation of the Characteristic Function x2 x0 x1 10 012 xxx 012 xxx 012 xxx F = + + April 6, 2000 ECE 510 OCE: BDDs and Their Applications 14 Set Manipulation Operations on sets can be reduced to boolean operations on their characteristic functions Empty set: χ∅= 0 Union of sets: χS ∪ T= χS + χT Intersection of sets: χS ∩ T= χS & χT Difference of sets: χS - T= χS & (χT )’ Subset relation (S ⊂ T): χS - T = χS & (χT)’ = 0 10 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 19 Example (continued) Transition relation T(I,a1,a2,b1,b2) = i'a1‘a2‘b1b2‘+ a1‘a2'b1'b2' + i'a1a2'b1b2' + ia1a2'b1'b2' + i'a1a2'b1b2' + ia1a2'b1'b2' i a1 b1 a2 b2 10 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 20 Equivalence Relation • Equivalence relation is a boolean function E(x1, x2) such that E(x1, x2) = 1, iff x1 and x2 are equivalent. • Equivalence relation is – reflexive: ∀x E(x,x) = 1 – symmetric: ∀x,y E(x,y) = E(y,x) – transitive: ∀x,y,z [E(x,y) & E(y,z)] => E(x,z) 11 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 21 Partitions • Partition π on a set of elements S is a collection of disjoint subsets of S, whose set union is S • It is written: π = {Ba} such that – Ba ∩ Bb = ∅, ∀ a ≠ b – ∪{Ba} = S • Often used partitions are partitions of states of FSM M={S,I,O,δ,λ} satisfying certain properties, for example, substitution property: ∀s,t∈S: s ≡ t(π) => ∀a∈I δ(s,a) ≡ δ(t,a)(π) April 6, 2000 ECE 510 OCE: BDDs and Their Applications 22 Equivalence Relations and Partitions • There is a one-to-one correspondence between equivalence relations and partitions • Each equivalence relation corresponds to a partition of objects, such that each block of the partition consists of objects equivalent with respect to the given equivalence relation, and vice versa 12 April 6, 2000 ECE 510 OCE: BDDs and Their Applications 23 Example • Problem: Given the set {p0, p1, p2, p3, p4, p5 } and its encoding: p0 – p2 – p4 – p1 – p3 – p5 – find characteristic function of partition π = { {p0,p1}, {p2,p3,p4}, {p5} } and represent it using BDDs • Solution: Define an equivalence relation E(x0,x1,x2, y0,y1,y2) such that it is equal to 1 only for those pairs of minterms that correspond to codes of objects belonging to some block. 012 xxx 012 xxx012 xxx 012 xxx 012 xxx 012 xxx April 6, 2000 ECE 510 OCE: BDDs and Their Applications 24 Example (continued) 00000000111 00000000110 00100000101 00011100100 00011100011 00011100010 00000011001 00000011000 111110101100011010001000X\Y