1 / 39

Example: Verification

A. B. Example: Verification. e.g., input/output specification of multiplier. e.g., multi-level logic representation. 1. 0. 0. 1. Binary Decision Diagrams. Graph-based Representation of Boolean Functions. Introduced by Lee ( 1959 ). Popularized by Bryant ( 1986 ).

cclarke
Download Presentation

Example: Verification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A B Example: Verification e.g., input/output specification of multiplier e.g., multi-level logic representation

  2. 1 0 0 1 Binary Decision Diagrams Graph-based Representation of Boolean Functions • Introduced by Lee (1959). • Popularized by Bryant (1986). • compact (functions of 50 variables) • efficient (linear time manipluation) Widely used; has had a significant impact on the CAD industry.

  3. x x x f 1 2 3 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Binary Decision Diagrams Graph-based Representation of Boolean Functions 1 0 BDD is defined asDirectedAcyclicGraph 0 0 1 1

  4. output Digital Circuit Analysis of Digital Circuits Large domain, small range. inputs

  5. output Digital Circuit Analysis of Digital Circuits Large domain, small range. inputs 2mpossibilities 2possibilities

  6. x1 x2 x3 f mvariables 2mrows 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Data Structures Truth Tables Example 2 variables 4 rows 3variables 8 rows 64variables 264rows

  7. S x1 0 1 x2 x2 0 1 0 1 x3 x3 x3 x3 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 Data Structures Decision Diagrams Example x1 x2 x3 f 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1

  8. S x1 0 1 x2 x2 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 Data Structures Decision Diagrams Optimize by merging nodes: x3 x3 x3 x3

  9. x2 0 0 1 0 x3 1 0 0 1 Data Structures Decision Diagrams S Optimize by merging nodes: x1 0 1 x2 1 x3 x3 x3 0 1 0 1 1

  10. S x1 0 1 0 1 1 0 1 1 0 0 x3 x3 x3 x3 0 0 1 1 0 1 1 0 1 Data Structures Decision Diagrams Optimize by merging nodes: x2 x2

  11. 1 1 x2 0 1 0 1 Data Structures Decision Diagrams S Optimize by merging nodes: x1 0 x2 1 0 x3 0 1

  12. S T U x1 x1 x1 0 1 0 1 0 1 x2 x2 x2 1 0 1 1 0 0 x3 x3 x3 0 0 0 1 1 1 0 1 0 1 1 0 Data Structures Logic Operations = AND

  13. Decision Diagrams Properties: • Canonical: uniqueup to variable ordering • Compact: represent functions of up to1000 variables • Efficient:performlogic operations inlinear-time

  14. 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 Ordered Binary Decision Diagrams (a.k.a. Branching Programs) Example: Directed Acyclic Graph; variables are inspected in order.

  15. 1 0 1 0 0 1 0 1 Reducing OBDDs “Terminal” Rule: eliminate duplicate terminals.

  16. Reducing OBDDs “Elimination” Rule: eliminate a node if its 0 and 1 edges lead to the same node.

  17. Reducing OBDDs “Merging” Rule: merge two nodes that reference the same variable and point to the same successors.

  18. Reduced OBDDs Question: What is the optimal strategy for eliminate and merge operations?

  19. For a given variable ordering, the Reduced OBDD representation of a function is unique (up to isomorphism). Reduced OBDDs Strategy: eliminate and merge nodes repeatedly, in any order, until no further simplifications are possible. Is the result unique?

  20. Base Case: 0 nodes. 0 or 1 Uniqueness (proof) By induction on the number of variables. Induction Hypothesis: Assume that any two ROBDDs for a function with k – 1 variables, k > 0, are isomorphic. Inductive Step: Show that any two ROBDDs for a function with k variables are isomorphic.

  21. Let and be two ROBDDs for a function. Let and be the roots, respectively. implement same function; implement same function. depend on at most k –1 variables. isomorphic, isomorphic. Inductive Step

  22. isomorphic to according to some mapping . isomorphic to according to some mapping . s 1 Argue that is obtained from by the mapping Inductive Step Show that this mapping is well-definedand one-to-one.

  23. well-defined: If a vertex u is in both low (v) and high(v) then the graphs rooted at are both isomorphic to the graph rooted at u. Since is reduced, one-to-one: If there were distinct vertices in f having ,then f would not be reduced. Inductive Step

  24. 0 1 0 1 Mapping Well-Defined low(v) high(v) Counter Example (Unreduced BDDs)

  25. 0 1 0 1 Mapping One-To-One Counter Example (Unreduced BDDs)

  26. For any binary operation : * where Logic Operations

  27. Apply recursively, expanding around each of the variables Logic Operations

  28. Logic Operations Compute 0 1 0 1

  29. Logic Operations

  30. Logic Operations

  31. Logic Operations

  32. Logic Operations

  33. Logic Operations 0 1

  34. Logic Operations 0 1

  35. Logic Operations 0 1

  36. Logic Operations 0 1

  37. Logic Operations Simplify 0 1

  38. 0 1 For any operation , computing is . Logic Operations Simplify

  39. Variable Ordering

More Related