By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:

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
BDDs & Theorem Proving Binary Decision Diagrams Dr. Eng. Amr T. Abdel-Hamid NETW 703 Winter 2012 Network Protocols Lectures are based on slides by: K.
IT University of Copenhagen Lecture 7: BDD Construction and Manipulation 1. BDD construction 2. Boolean operations on BDDs 3. BDD-Based configuration.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
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.
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
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.
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.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
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
Rolf Drechlser’s slides used
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 16, 2003.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
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
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Chapter 2: Boolean Algebra and Logic Functions
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
B. Alizadeh Advanced Logic Design (2008) 1 / 55 Decision Diagrams.
Binary Decision Diagrams (BDDs)
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Two Level and Multi level Minimization
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
Binary-Decision-Diagram (BDD) Application on Pass-Transistor Logic Design Tao Lin School of EECS, Ohio University March 12, 1998.
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.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
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.
Digitaalsüsteemide verifitseerimise kursus1 Exercises Binary decision diagrams ROBDD generation. Shannon expansion Finding an optimal ordering Dynamic.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
IT 60101: Lecture #121 Foundation of Computing Systems Lecture 13 Trees: Part VIII.
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
Circuits & Boolean Expressions
ECE 667 Synthesis and Verification of Digital Systems
LPSAT: A Unified Approach to RTL Satisfiability
Binary Decision Diagrams
Formal Methods in software development
Binary Decision Diagrams
Formal Methods in software development
A logic function f in n inputs x1, x2, ...xn and
Introduction to BDDs.
Binary Decision Diagrams
Example: Verification
A logic function f in n inputs x1, x2, ...xn and
Boolean Algebra for CAD Applications
10 Design Verification and Test
Presentation transcript:

By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification”, in DATE, 2002.

ECE 697B Spring Presentation Structure Motivation – RTL verification Background BDD (binary), BMD (word-level) New canonical representation: TED Construction and manipulation Properties Applications

ECE 697B Spring Motivation – RTL Verification Complex RTL designs Data flow and control Arithmetic and Boolean B A s 1010 F D akak bkbk > + * - B A s 0101 F D akak bkbk <= + * - Equivalence verification –Need representation that can handle arithmetic/Boolean Efficient, compact Canonical

ECE 697B Spring Levels of Abstraction A[1:0], B[1:0],C[3:0] C = A1B1*2 2 +A1B0*2 +A0B1*2 +A0B0 A[n:0], B[n:0],C[2n:0] C = A*B F (*) A B C We can design at a higher level of abstraction, Can we verify at a higher level of abstraction ?

ECE 697B Spring Boolean functions ( f : B  B ) Truth table, Karnaugh map SoP, PoS etc. Binary Decision diagrams (BDD) Arithmetic functions ( f : B  Int ) Binary Moment Diagrams (BMD) Need more abstract representation for arithmetic functions (f : Int  Int ) Common Representations

ECE 697B Spring Based on recursive Shannon expansion: f = x f x + x’ f x’ where:f x = f(x=1), f x’ =f(x=0) Compact data structure for Boolean logic Canonical representation reduced ordered BDDs (ROBDD) Essential for verification equivalence checking, satisfiability (SAT) fxfx f x’ f x Binary Decision Diagrams ( BDD )

ECE 697B Spring Canonicity: equivalence checking of logic circuits 10 a b c F = a’bc + abc +ab’c G = (a+b)c 10 a b c  Limitations –Require bit-level expansion of word-level variables –Size explosion for some functions (arithmetic) Application to Verification

ECE 697B Spring Devised for word-level, arithmetic operations Based on modified Shannon expansion (pos. Davio) f = x f x + x’ f x’ = x f x + (1-x) f x’ = f x’ + x (f x - f x’ ) = f x’ + x f  x where f x’ = f x=0 is zero moment f  x = (f x - f x’ ) is first moment (derivative) Binary Moment Diagrams (BMD)

ECE 697B Spring Efficiently models word-level operators x0 x1 x y0 y1 y2 2 1 X Y =X 2 x 1 x 0. y 2 y 1 y 0 = = 15 X + Y =X 2 x 1 x 0 + y 2 y 1 y 0 = = x0 x1 x2 y0 y1 y Limitation: requires bit-level representation of a word BMD Example

ECE 697B Spring Why expand words into bits? Can we do better? Abstract words into symbolic variables Word level x0 x1 x y0 y1 y2 2 1 X + Y 1 0 X Y Symbolic X Y 1 0 X Y Symbolic 1 0 x0 x1 x2 y0 y1 y Word level Symbolic Representation

ECE 697B Spring x F 0 (x) F 1 (x) F 2 (x) … F(x) F(x) = F 0 (x) + x F 1 (x) + x 2 F 2 (x) + … Taylor Expansion Diagram(TED) F = arithmetic function (F : Int  Int ) Treat F as a continuous function Taylor Expansion (around x=0): F(x) = F(0) + x F’(0) + ½ x 2 F’’(0) + … Notation F 0 (x) = F(x=0) 0-child F 1 (x) = F’(x=0) 1-child F 2 (x) = ½ F’’(x=0) 2-child ====== … So

ECE 697B Spring F = A 2 B + 2C + 3 with order A<B<C A F 0 (A) = F | A=0 = 2C + 3 F 1 (A) = F’ | A=0 = 2AB | A=0 = 0 F 2 (A) = ½ F’’ | A=0 = B B 1 A G= 2C B 0 = B(0) = 0 B 1 =B’ = 1 C G 0 (C) = (2C+3) | C=0 = 3 G 1 (C) = (2C+3)’ = 2 C 2 3 B B (without normalization) Construction of TED example

ECE 697B Spring Few more examples (A+B)C B C A 1 (A+B)(A+2C) 1 0 B C A B 1 2

ECE 697B Spring a b 0 f g b g 1.Eliminate redundant nodes: Nodes with all edges  0 Nodes with only constant term A B C B B C C A B C Merge isomorphic subgraphs (A 2 + 5A + 6)(B + C) f = 0 a a + g(b) = g(b) TED Reduction Rules

ECE 697B Spring TED can be normalized weights of edges of a given node must be relatively prime (to allow sharing isomorphic graphs) 2 6 B A 2 2A + 2B B A B A (A + B + 3) TED Normalization

ECE 697B Spring Operation depends on relative order of variables x, y if x = y, then z = x, and h(x) = f(x) OP g(x) = f 0 (x) OP g 0 (y) + x [f 1 (x) OP g 1 (y)] + x 2 [f 2 (x) OP g 2 ], … if x > y, then z = x, and h(x) = f 0 (x) OP g(y) + x [f 1 (x) OP g(y)] + x 2 [f 2 (x) OP g], … else …. u f x v g y OP = Recursive composition of nodes, starting at the top h = f OP g q z OP = (+, -, ) TED Composition

ECE 697B Spring Nodes indexed by same variable Nodes indexed by different variable (x > y) u u0u0 u1u1 x v v0v0 v1v1 x + = u u0u0 u1u1 x v v0v0 v1v1 y + = u + v u 0 +v 0 u 1 +v 1 x u + v u 0 + v x u1u1 COMPOSE Operator – ADD/SUB

ECE 697B Spring Compose Operation Example 2A+B+2C C A B = A 0+5 B C 1+1 A+B A B C A+2C A 2

ECE 697B Spring PropertyBDDTED DecompositionShannonTaylor CompositionAnd/ORMultiply/Add Canonicity Yes Reduction rulesReduction rules + normalization SatisfiabilityYesNo Comparison of BDD and TED

ECE 697B Spring TED for Arithmetic Circuits Arithmetic circuits contain related word-level (A, B) and Boolean (a k, b k ) variables A = [ a n-1, …, a k, …,a 0 ] = 2 (k+1) A hi + 2 k a k + A lo B A s1s F1F1 D akak bkbk > + * - s 1 = a k (1-b k ) A hi A lo 0 1 2k2k 2 (k+1) AhiAhi akak A lo

ECE 697B Spring Application to RTL Verification Equivalence checking with TEDs interacting word-level and Boolean variables A B s2s F2F2 bkbk akak * * - D B A s1s F1F1 D akak bkbk > + * - F 1 = s 1 (A+B)(A-B) + (1-s 1 )D s 1 = (a k > b k ) = a k (1-b k ) F 2 = (1-s 2 ) (A 2 -B 2 ) + s 2 D s 2 = a k ’  b k = 1 - a k + a k b k A = [A hi,a k,A lo ], B = [B hi,b k,B lo ]

ECE 697B Spring Result: RTL Verification Related word-level and Boolean variables F 1 = s 1 (A+B)(A-B) + (1-s 1 )D s 1 = (a k > b k ) = a k (1-b k ) F 1 = (a k -a k b k ){ (2 k+1 A hi + 2 k a k +A lo ) 2 - (2 k+1 B hi + 2 k b k + B lo ) 2 } + (1–a k + a k b k ) D 1 akak 1 A hi D akak bkbk bkbk B hi A lo B lo k+2 2 k+2 -2 k+2 2k2k -2 2k+2 F 1 = F 2 A lo 2k2k 2 k+1 0

ECE 697B Spring Questions?