Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Factorization of DSP Transforms using Taylor Expansion Diagram
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
Chapter 2 Logic Circuits.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Grouping Heuristics for Word-Level Decision Diagrams Rolf DrechslerMarc HerbstrittBernd Becker Institute of Computer Science University of Freiburg
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
ECE 667 Student Presentation Gayatri Prabhu [1]. *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification – Y. Chen, R. Bryant,
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Binary Decision Diagrams. ROBDDs Slide 2 Example Directed acyclic graph non-terminal node terminal node What function is represented by the graph?
Department of Electrical and Computer Engineering M.A. Basith, T. Ahmad, A. Rossi *, M. Ciesielski ECE Dept. Univ. Massachusetts, Amherst * Univ. Bretagne.
A Differential Approach to Inference in Bayesian Networks - Adnan Darwiche Jiangbo Dang and Yimin Huang CSCE582 Bayesian Networks and Decision Graph.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Boolean Functions and their Representations
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
Rolf Drechlser’s slides used
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
ENGG3190 Logic Synthesis “Binary Decision Diagrams” BDDs Winter 2014 S. Areibi School of Engineering University of Guelph.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE 667 Synthesis and Verification of Digital Systems
1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department.
A Differential Approach to Inference in Bayesian Networks - Adnan Darwiche Jiangbo Dang and Yimin Huang CSCE582 Bayesian Networks and Decision Graphs.
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
Chapter 2: Boolean Algebra and Logic Functions
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Truth Table-Based Testing Generating test cases when the test model is a truth table Reading: Binder Chapter 6.
Binary Decision Diagrams (BDDs)
Electrical and Computer Engineering Muhammad Noman Ashraf Optimization of Data-Flow Computations Using Canonical TED Representation M. Ciesielski, D. Gomez-Prado,Q.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
SIMULATION BOUNDS FOR EQUIVALENCE VERIFICATION OF ARITHMETIC DATAPATHS WITH FINITE WORD-LENGTH OPERANDS Namrata Shekhar, Priyank Kalla, M. Brandon Meredith.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
KFUPM COE 202: Digital Logic Design Combinational Logic Part 1 Courtesy of Dr. Ahmad Almulhem.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Mathematical Preliminaries
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 9 Boolean Algebras and Combinatorial Circuits.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
IT 60101: Lecture #121 Foundation of Computing Systems Lecture 13 Trees: Part VIII.
Chapter 12. Chapter Summary Boolean Functions Representing Boolean Functions Logic Gates Minimization of Circuits (not currently included in overheads)
Chapter 2: Boolean Algebra and Logic Functions
Computer Architecture CST 250
ECE 331 – Digital System Design
Reconfigurable Computing
ECE 667 Synthesis and Verification of Digital Systems
LPSAT: A Unified Approach to RTL Satisfiability
Binary Decision Diagrams
Automatic Verification of Industrial Designs
Formal Methods in software development
Chapter 2 Introduction to Logic Circuits
Binary Decision Diagrams
Formal Methods in software development
A logic function f in n inputs x1, x2, ...xn and
Overview Part 2 – Circuit Optimization
Spectral Approach to Verifying Nonlinear Arithmetic Circuits
Binary Decision Diagrams
Example: Verification
A logic function f in n inputs x1, x2, ...xn and
Verifying Programs with BDDs Sept. 22, 2006
Presentation transcript:

Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan

2 In this presentation What is a TED? 2. What is the Motivation behind TED’s development? 3. How to create a TED? 4. How TED is used for Verification?

3 1. Taylor Expansion Diagram Canonical representation for arithmetic expressions useful for equivalence checking of a design among others. Works at a higher level of abstraction. Built on Taylor series expansion. (Representation of a function as a sum of infinite terms) f(x) is a real, differentiable function corresponding to an algebraic expression F. F 1 (x=0) is the first derivative of the function w.r.t x and evaluated at x 0 =0. F(x,y,..) = F 0 (x=0) + x F 1 (x=0) + x 2 F 2 (x=0) + …

4 2. Motivation for TED Development Size and complexity of digital designs steadily increasing. So does the need for verification tools capable of working at higher abstraction levels. Typically high level descriptions contain word-level arithmetic computations along with Boolean logic. This need for canonical representations working with symbolic, algebraic word-level computations was the motivation behind creating a new representation.

2. Review of Previous work Logic of equality with uninterpreted functions. [J. Burch, ’94] Use of Propositional logic Formula. [R. Bryant, 01] Reduced, ordered Binary Decision Diagrams (ROBDD) and its variants. [R.E. Bryant, ‘86] Binary Moment Diagrams. [R.E. Bryant, 95] Symbolic Algebra Methods. [G. DeMicheli, 03] Drawbacks: Requires bit level functions for word level signals. Algebra tools require canonical representations for equivalence checking. 5 X + Y 1 0 X Y Symbolic 1 0 x0 x1 x2 y0 y1 y Bit level

2.Reduced Ordered Binary Decision Diagrams It represents a set of binary valued decisions in a rooted directed acyclic graph(DAG). It is based on a recursive Shannon decomposition and has a set of reduction rules. Advantages : Widely available software Packages and used for combinational equivalence checking. BDD based verification systems successful in verifying control dominated circuits. Drawbacks: Not successful for data path design. With complex circuits, BDD representations face size limits. 6

Performs decomposition of a linear function based on its first two moments (linear moment) and (constant moment). Uses modified Shannon’s expansion, in which a binary variable is treated as a (0,1) integer. Drawbacks: For high degree polynomials defined over words with large bit- width, it becomes an expensive representation. It has a set of restrictions imposed to make it canonical and thus makes it difficult to construct Binary Moment Diagrams

f’(x) f’’(x) … 3. Creating a TED - Basics Notation:  f(x=0) 0-child  f’(x=0) 1-child  f’’(x=0) 2-child 8 f(x) x 1 x x2x2

9 1.Start with the algebraic Expression and ordering of variables. 2. Recursively, from F find the values for all the constant, first and second derivative terms w.r.t to each variable. 3. Form the TED with this information based on the notation. 4. Apply reduction rules and Normalization to get Normalized TED. 3. Creating a TED - Steps

10 3. Creating a TED - Example Arithmetic expression : F = (A+B) (A+2C) = A 2 + AB + 2AC + 2BC Consider ordering : A,B,C 1.Decomposition w.r.t A: F(A=0) = 2BC F’(A=0) = B + 2C 1/2F’’(A=0) = 1 2.Decomposition of G=F(A=0), H=F’(A=0), F’’(A=0) w.r.t B: G(B=0) = 0 H(B=0) = 2C G’(B=0) = 2C H’(B=0) = 1 3.Similarly, Decomposition w.r.t C: F(C=0) = 0 F’(C=0) = 2 H=B+2C G=2BC F A B B 1 0 C 2 2C From TED: F = A 2 +AB+2AC+2BC Every path from root node to non zero vertex is a non zero term in the expression A B B C A2A2

f = 0 v v + y(u) = y(u) Creating a TED – Reduction Rules 1. Eliminate redundant nodes: Nodes with all non zero edges connected to terminal 0 y v u 0 u y x 2. Merge Isomorphic Graph: Isomorphic if structure and attributes of the two TED’s match. All 3 subgraphs are isomorphic i.e. one to one mapping between vertex sets and edge sets. ‘Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designs’ – Maciej Ciesielski, Priyank kalla, Serkan Askar

3. Creating a TED - Normalization Applied to reduce the graph. Move numeric values from nonzero terminal nodes to terminal edges. A reduced ordered TED representation is normalized when: The weights assigned to edges spanning Out of a node are prime. Numeric value 0 appears only in the terminal nodes. Graph contains no more than two terminal nodes. Applying Normalization to example 12 ‘Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designs’ – Maciej Ciesielski, Priyank kalla, Serkan Askar F A B B 1 0 C 2 2

13 3. Creating a TED - Composition Like the apply operator in BDD, TED’s can be similarly composed, following specific rules. Starting from root node of the two TED’s, the final TED is constructed by recursively: constructing all the non zero terms from two functions. combining the terms according to a given operation. Rules: Case 1 : Nodes w and y with same index: 0-child is obtained by pairing 0-child of w,y. 1-child is obtained by the sum of two cross products of 0 and 1 children. 2-child is obtained by pairing the 1-children of w,y. Case 2 : Nodes w and y with different indices: The node with the lower index is added to the 0-child of the node corresponding to variable with higher index. Case 3 : Both the nodes are terminal nodes: val = val(w) + val(y) if add operation, val = val(w)*val(y) for multiplication.

14 Apply composition and verify if the final TED is the same as the one constructed by expansion of the expression. F = (A+B) (A+2C) = A 2 + AB + 2AC + 2BC Ordering : A,B,C 3. Creating a TED – Composition Example(1/2) A+B 01 w x A B * C A+2C 01 y z A 2 w.y x.z 1.z x z 1.z A B C B C C 0-child is obtained by pairing 0-child of w,y. 1-child is obtained by the sum of two cross products of 0 and 1 children. For terminal nodes, val = val(u)*val(v) For terminal nodes, val = val(u)*val(v)

3. Creating a TED – Composition Example(2/2) 15 1.z x C B B 1 0.z C On replacing w.y x.z 1.z 0 2 B C B x.1 1 A w.y x.z 1.z x z 1.z A B C C The two TED’s are equal The node with the lower index is added to the 0-child of the node corresponding to variable with higher index.

4. TED as a tool for Verification Given RTL design, Build TED’s for Primary Inputs Expansion of word level signals needed When one or more bits from i/p used in other parts of design. Then, TED’s constructed for all components of the design. TED’s for the primary outputs are generated by composing the TED’s in topological order from PI to PO. After constructing normalized TED for each design, the test for functional equivalence is performed by checking for isomorphism of the resulting graphs. 16

Partitioning of word level signals into subvectors creates an issue for polynomial representation. Only finite Taylor expansions permitted. They cannot represent relational operators in symbolic form. TEDs cannot represent modular arithmetic. 17 Limitations of TED

18 Summary Salient features of TED: Represents arithmetic (word-level) operators and Boolean logic. Canonical (Based on Taylor’s theorem which states the uniqueness of the Taylor’s series representation of a function, evaluated at a particular point) Compact (linear for polynomials) In the worst case, TED for f requires O(k n-1 ) nodes and O(k n )edges. Applications Useful for High-level synthesis, equivalence checking, symbolic simulation.

References Priyank Kalla, Maciej Ciesielski, Emmanuel Boutillon, Erric Martin, ‘High-Level Design Verification using Taylor Expansion Diagrams: first Results’ Maciej Ciesielski, Priyank Kalla, Serkan Askar, ‘ Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designs’ 19

20