1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department.

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
CS370 – Spring 2003 Programmable Logic Devices PALs/PLAs.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
FPGA Latency Optimization Using System-level Transformations and DFG Restructuring Daniel Gomez-Prado, Maciej Ciesielski, and Russell Tessier Department.
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,
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Department of Electrical and Computer Engineering M.A. Basith, T. Ahmad, A. Rossi *, M. Ciesielski ECE Dept. Univ. Massachusetts, Amherst * Univ. Bretagne.
ECE 667 Synthesis and Verification of Digital Systems
ECE 331 – Digital System Design
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.
Logic Synthesis Part II
1 Efficient Algorithms for Elliptic Curve Cryptosystems Original article by Jorge Guajardo and Christof Paar Of WPI ECE Department Presentation by Curtis.
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
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
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)
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Chapter 3 Combinational Logic Design
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
1 CSE 20: Lecture 7 Boolean Algebra CK Cheng 4/21/2011.
Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.
Lecture 3: Incompletely Specified Functions and K Maps CSE 140: Components and Design Techniques for Digital Systems Fall 2014 CK Cheng Dept. of Computer.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Polynomial Datapaths Optimization Using Finite Abstract Algebra(I) Presenter: 陳炳元 Graduate Institute of Electronics Engineering Graduate Institute of Electronics.
By: Hector L Contreras SSGT / USMC
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
CSI-2111 Computer Architecture Ipage Revision  Objective : To examine basic concepts of: –2.1 Numbering Systems –2.2 Binary Numbers –2.3 Boolean.
Electrical and Computer Engineering Muhammad Noman Ashraf Optimization of Data-Flow Computations Using Canonical TED Representation M. Ciesielski, D. Gomez-Prado,Q.
4-2 binary fields and binary vector spaces Special Thanks to Dr. Samir Al-Ghadhban & EE430 Students.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
Algebraic Techniques To Enhance Common Sub-expression Extraction for Polynomial System Synthesis Sivaram Gopalakrishnan Synopsys Inc., Hillsboro, OR –
Exploiting Vanishing Polynomials for Equivalence Verification of Fixed-Size Arithmetic Datapaths Namrata Shekhar, Priyank Kalla, Florian Enescu, Sivaram.
Verification & Synthesis of Arithmetic Datapaths using Finite Ring Algebra Priyank Kalla Priyank Kalla Electrical and Computer Engineering University of.
SIMULATION BOUNDS FOR EQUIVALENCE VERIFICATION OF ARITHMETIC DATAPATHS WITH FINITE WORD-LENGTH OPERANDS Namrata Shekhar, Priyank Kalla, M. Brandon Meredith.
1 BOOLEAN ALGEBRA Basic mathematics for the study of logic design is Boolean Algebra Basic laws of Boolean Algebra will be implemented as switching devices.
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.
Functional Modeling.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
 Seattle Pacific University EE Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms.
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.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
ECE 667 Synthesis and Verification of Digital Systems
LPSAT: A Unified Approach to RTL Satisfiability
CSE 311: Foundations of Computing
Binary Decision Diagrams
Chapter 2 Introduction to Logic Circuits
Binary Decision Diagrams
Discrete Controller Synthesis
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Spectral Approach to Verifying Nonlinear Arithmetic Circuits
Verifying Programs with BDDs Sept. 22, 2006
10 Design Verification and Test
Presentation transcript:

1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department. Univ. of Massachusetts Emmanuel Boutillon, Eric Martin LESTER, Universite de Britagne Sud Lorient, France

2  Compact, canonical representation for arithmetic functions (F: Int  Int )  Treat discrete function as continuous (polynomial)  Taylor Expansion (around x=0): F(x) = F(0) + x F’(0) + ½ x 2 F’’(0) + …  Notation F(x=0) 0-child F’(x=0) 1-child ½ F’’(x=0) 2-child ====== etc. F(x) = 0-child + x (1-child) + x 2 (2-child) + … Taylor Expansion Diagram (TED) x F(0) F’(0) F’’(0)/2 … F(x)

3 TED – a few Examples (A+B)(A+2C) 1 0 B C A B x0 x1 x2 x x0 x1 x X 2 = (8x 3 + 4x 2 + 2x 1 + x 0 ) 2 TED: not a BDD, not a *BMD, not a decision diagram A,B,C: arbitrary word width X decomposed in bits

4 TED: Composition & Manipulation  Analogous to BDD and *BMD, TED:  Requires an ordering of variables  Has to be reduced  Has to be normalized  Reduced ordered normalized TED is canonical  Composition of TED:  f = g + h; APPLY(+, g, h)  f = g * h; APPLY(*, g, h)  f = g – h; APPLY(+, g, APPLY(*, -1, h))

5 TED: Applications and First Results  TED can represent multivariate polynomials  Possible applications  Discrete functions  polynomials  RTL transformations: A*B + A*C = A*(B+C)  Algorithm specification and verifications  Experimental results

6 Verification Experiments: RTL Transformations A*C + B*C + A*D + B*D = (A+B)*(C+D) (arbitrary word-width) Word Size(n) *BMDTEDNorm. TED SizeTimeSizeTimeSizeTime s61s s61s s61s s61s6

7 Array Processing 16x16 PE Array Sum PE FIFOs B[ j ] A[ i ] - + Previous PE Computation Sum of Differences B[ j ] A[ i ] - + Previous PE Computation Sum of Differences Of squares 2 2

8 Array Processing PE Computation: A[ i ] – B[ j ], 8-bit vectors Effect of array size Size (# nodes)Time [s]

9 Verification Experiments: Array Processing PE Computation: A[ i ] – B[ j ], 8-bit vectors Effect of array size 22 Size ( nodes)Time [s]    = out of memory

10 Applications to RTL Verification  Equivalence checking with TEDs  interfacing arithmetic and Boolean domains 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 n-1, …,a k,…,a 0 ] = [A hi,a k,A lo ], B = [b n-1, …,b k,…,b 0 ] = [B hi,b k,B lo ] A = 2 (k+1) A hi + 2 k a k + A lo B = 2 (k+1) B hi + 2 k b k + B lo

11 RTL Verification – cont’d. F 1 = s 1 (A+B)(A-B) + (1-s 1 )D A = [A hi, a k, A lo ] B = [B hi, b k, B lo ] s 1 = (a k > b k ) = a k (1-b k ) 1 akak 1 A hi D akak bkbk bkbk B hi A lo B lo 2k2k 1 2 2k+2 2 k+2 -2 k k+2 F 1 = F 2 A lo 1 2 k+1 2k2k 0

12 Algebraic-Boolean Interface Size of TEDs vs. Boolean Logic Vary k = size of Boolean logic Size (nodes) Time [s]  

13 Verification of Algorithmic Specifications x x x x FAB1 FAB2 FAB3 A0 A1 A3 A2 B0 B1 B2 B3 FFT(A) FFT(B) IFFT0 IFFT1 IFFT3 IFFT2 InvFFT(FAB) A[0:3] B[0:3] C0 C1 C2 C3 Conv(A,B)

14 Isomorphic TEDs: IFFT(i)  Conv(i) 0 4 A0 A2 A1 A3 B1 B3 B2 B0 IFFT0 = C0 = 4{ A0*B0 + A1*B3 + A2*B2 + A3*B1}

15 Applications to Galois Field Computations  Assume Galois Field GF[8], let  be primitive element of GF(8)  Q[XY] = (  X +  Y)(  X +  Y)  R[XY] =  X +  Y  Q[XY] = R[XY] (isomorphic TEDs) X Y 0 1  2  4 X Y 0 1  1  3 * = X Y 0 1  3  0 X Y 1  3  2 +  4  1 = 0 =  0  4  3 =

16 Conclusions and Future Work  Limitations, RTL:  Increase in Boolean logic degrades performance  Internal fanouts a problem  Cannot break outputs into subfields  Applications:  RTL, behavioral, algorithmic levels  Specification and equivalence checking  Applicable to varied computational domains: integer, binary, complex, Galois Field, etc.  DSP, error correction coding, cryptography….  Potential application: Architectural Synthesis?

17 Properties of TED  Canonical  Compact  Linear for polynomials of arbitrary degree  TED for X k, k = const, with n bits, has k(n-1)+1 nodes  *BMD is polynomial in n  Can contain symbolic, word-level, and Boolean variables  It is not a Decision Diagram n = 4, k = 2 1 x0 x1 x2 x x0 x1 x X 2 = (8x 3 + 4x 2 + 2x 1 + x 0 ) 2

18 Verification Experiments: Array Processing PE Computation: A[ i ] – B[ j ] A[ i ], B[ j ]: 8-bit vectors Array Size(n) *BMDTEDNorm. TED SizeTimeSizeTimeSizeTime 4 x s111s101s 6 x s151.5s141.5s 8 x s191.5s182s 16 x s352s343.8s

19 Verification Experiments: Array Processing PE Computation: A[ i ] – B[ j ] A[ i ], B[ j ]: 8-bit vectors Array Size(n) *BMDTEDNorm. TED SizeTimeSizeTimeSizeTime 4 x 41233s111.2s101.2s 8x s191.5s181.6s 16x16Out of memory357s348.8s 2 2

20 Algebraic-Boolean Interface Size of TEDs vs. Boolean Logic Vary k = size of Boolean logic Bits Size(k) *BMDTEDNorm. TED SizeTimeSizeTimeSizeTime s78324s19444s 1215k87s517413s99874s k249s22.3k94s s 18-- > 12hrs 67.9K22mins 12.8 K 29mins 20-->12hrs-->12hrs-->12hrs