Example Verification e g inputoutput specification of multiplier
- Slides: 39
Example: Verification e. g. , input/output specification of multiplier A B e. g. , multi-level logic representation
Binary Decision Diagrams Graph-based Representation of Boolean Functions • Introduced by Lee (1959). • Popularized by Bryant (1986). 1 0 • compact (functions of 50 variables) • efficient (linear time manipluation) Widely used; has had a significant impact on the CAD industry. 0 1
Binary Decision Diagrams Graph-based Representation of Boolean Functions x 1 x 2 x 3 f 0 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 BDD is defined as Directed Acyclic Graph 1 0 0 1
Analysis of Digital Circuits Large domain, small range. inputs output Digital Circuit
Analysis of Digital Circuits Large domain, small range. inputs output Digital Circuit 2 m possibilities 2 possibilities
Data Structures Truth Tables Example x 1 x 2 x 3 f 0 0 1 1 0 1 0 1 0 0 0 1 0 1 m variables 2 variables 3 variables 2 m rows 4 rows 8 rows 64 variables 264 rows
Data Structures Decision Diagrams Example S x 1 x 2 x 3 f 0 0 1 1 0 1 0 1 0 0 0 1 0 1 x 1 0 x 2 0 0 0 x 3 1 0 1 1 0 0 x 2 0 x 3 1 0 1 0 x 3 1 1
Data Structures Decision Diagrams S Optimize by merging nodes: 0 x 2 0 0 0 x 3 0 1 0 x 1 1 1 0 0 x 2 0 x 3 0 1 0 01 x 3 1 1 1 0 x 3 1 1 1
Data Structures Decision Diagrams S Optimize by merging nodes: 0 x 2 0 0 x 3 0 1 x 1 1 1 0 x 3 0 0 1 x 3 0 1 1 x 2 1 x 3 1
Data Structures Decision Diagrams S Optimize by merging nodes: 0 x 2 00 x 1 1 x 2 00 11 1 1 x 3 0 01 0 x 3 01 1 1 x 3 1
Data Structures Decision Diagrams S Optimize by merging nodes: 0 x 1 1 1 x 2 0 1 1 0 0 0 x 3 1 1
Data Structures Logic Operations 0 x 2 S T U x 1 x 1 1 0 0 x 3 1 x 2 = 0 1 1 0 x 3 1 0 1 AND 0 0 1 x 3 0 1 0 0 1 1
Decision Diagrams Properties: • Canonical: unique up to variable ordering • Compact: represent functions of up to 1000 variables • Efficient: perform logic operations in linear-time
Ordered Binary Decision Diagrams (a. k. a. Branching Programs) Example: 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 Directed Acyclic Graph; variables are inspected in order.
Reducing OBDDs “Terminal” Rule: eliminate duplicate terminals. 1 0 0 0 1 1
Reducing OBDDs “Elimination” Rule: eliminate a node if its 0 and 1 edges lead to the same node.
Reducing OBDDs “Merging” Rule: merge two nodes that reference the same variable and point to the same successors.
Reduced OBDDs Question: What is the optimal strategy for eliminate and merge operations?
Reduced OBDDs Strategy: eliminate and merge nodes repeatedly, in any order, until no further simplifications are possible. Is the result unique? For a given variable ordering, the Reduced OBDD representation of a function is unique (up to isomorphism).
Uniqueness (proof) By induction on the number of variables. Base Case: 0 nodes. 0 or 1 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.
Inductive Step Let and be two ROBDDs for a function. be the roots, respectively. implement same function; implement same function. depend on at most k – 1 variables. isomorphic, isomorphic.
Inductive Step isomorphic to Argue that according to some mapping s 1. is obtained from by the mapping Show that this mapping is well-defined and one-to-one.
Inductive Step 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.
Mapping Well-Defined low(v) high(v) 0 1 Counter Example (Unreduced BDDs)
Mapping One-To-One 0 1 Counter Example (Unreduced BDDs)
Logic Operations For any binary operation * : where
Logic Operations Apply recursively, expanding around each of the variables
Logic Operations Compute 0 1
Logic Operations
Logic Operations
Logic Operations
Logic Operations
Logic Operations 0 1
Logic Operations 0 1
Logic Operations 0 1
Logic Operations 0 1
Logic Operations Simplify 0 1
Logic Operations Simplify 0 For any operation 1 , computing is .
Variable Ordering
- Inputoutput devices
- Upper specification limit and lower specification limit
- Upper specification limit and lower specification limit
- Signed multiplication in computer architecture
- 463 x 3
- Tourism multiplier effect diagram
- Regional multiplier example
- Adt specification
- Product design specification
- Problem specification example
- Process specification diagram
- How to write use cases
- Structured specification
- Specification by example
- Table of specification
- Property specification language
- Protocol specification example
- Program specification example
- Software specification example
- Multiplier resistance formula
- Unit 3 aggregate demand aggregate supply and fiscal policy
- Tax multiplier formula
- Cash drain ratio
- Multiplier effect tourism
- Money multiplier economics
- One flip flop per state method
- Import multiplier
- Equation for the tax multiplier
- Output stage
- Lagrange multipliers
- How to calculate multiplier
- Tax multiplier formula
- Simple money multiplier
- Deposit multiplier
- Magic multiplier theory
- Leakages of multiplier meaning
- Spending multiplier
- How to calculate multiplier
- Demand for money definition
- How to find autonomous consumption on a graph