Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Factorization of DSP Transforms using Taylor Expansion Diagram
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Logical Systems Synthesis.
Chapter 2 Logic Circuits.
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
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.
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 331 – Digital System Design
Spring 07, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Verification Vishwani D. Agrawal James J. Danaher.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
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
1 Temperature-Aware Resource Allocation and Binding in High Level Synthesis Authors: Rajarshi Mukherjee, Seda Ogrenci Memik, and Gokhan Memik Presented.
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,
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department.
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
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Electronic Design Automation. Course Outline 1.Digital circuit design flow 2.Verilog Hardware Description Language 3.Logic Synthesis –Multilevel logic.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Binary Decision Diagrams (BDDs)
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
CAD for Physical Design of VLSI Circuits
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
CMOS Design Methods.
Technical University Tallinn, ESTONIA 1 Faults in Circuits and Fault Diagnosis 0110 T FaultF 5 located Fault table Test experiment Test generation.
Electrical and Computer Engineering Muhammad Noman Ashraf Optimization of Data-Flow Computations Using Canonical TED Representation M. Ciesielski, D. Gomez-Prado,Q.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Exploiting Vanishing Polynomials for Equivalence Verification of Fixed-Size Arithmetic Datapaths Namrata Shekhar, Priyank Kalla, Florian Enescu, Sivaram.
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.
ECE-C662 Lecture 2 Prawat Nagvajara
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Boolean Operations and Expressions Addition = = = = 1 Multiplication 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1.
ECE 301 – Digital Electronics
ASIC Design Methodology
Chapter 2: Boolean Algebra and Logic Functions
ECE 667 Synthesis and Verification of Digital Circuits
ECE 331 – Digital System Design
ECE 667 Synthesis and Verification of Digital Systems
LPSAT: A Unified Approach to RTL Satisfiability
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Chapter 2 Introduction to Logic Circuits
HIGH LEVEL SYNTHESIS.
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
ECE 352 Digital System Fundamentals
Spectral Approach to Verifying Nonlinear Arithmetic Circuits
Verifying Programs with BDDs Sept. 22, 2006
10 Design Verification and Test
Presentation transcript:

Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej Ciesielski ECE Department University of Massachusetts, Amherst ECE Project Ideas

 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)

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

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))

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) Use TED to prove equivalence: IFFT i =C i  

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}

TED for High Level Synthesis Trends and problems in industry Design Flow High level synthesis –Prior art –Problems with prior art New canonical method –TED’s

Need for abstraction International Technology Roadmap for Semiconductors (ITRS 2001) Report highlights –Moore’s law will be valid for 10 more years 10 billion transistors 10 Ghz 30nm technology –Enormous complexity can only handled by targeting at high levels of design

Design Flow RTL Description Logic Synthesis Floorplanning Placement Routing Tape-out Circuit Extraction Pre-Layout Simulation Post-Layout Simulation Structural Physical Behavioral Design Iteration HDL High-level Synthesis

High Level Synthesis Architectural solution minimized for given objective, constraints Architecture Specification (HDL)... Data Flow Graph Objectives, constraints: Power Area Latency

High Level Synthesis Example Inputs: A, B, C, D Output: F ……… assign F = A*B + A*C ………. Common Data Flow Graph (DFG) Architecture 2: 1 Mult, 1 Add, L = 3 cycles Cycle 1 Cycle 2 x + x Cycle 3 A CA B F Architecture 1: 2 Mult, 1 Add, L = 2 cycles xx + Cycle 1 Cycle 2 ACAB F

Alternative solution The data flows are derived directly from user’s specification There is a need for a higher level of synthesis: Transformation A*B + A*C = A*(B+C) Abstract level synthesis should provide Canonical representation Basis for optimal solutions for different objectives To derive alternative solutions, need new Data Flow Graph user must rewrite the initial specification (HDL) replace (A B + A C) by A (B + C) Alternative architecture: 1 Mult, 1 Add, L = 2 cycles + x Cycle 1 Cycle 2 C A B F

High Level Synthesis F = A*B + A*C Area Latency xx + Specification Data flow graph xx + Cycle 1 Cycle 2 Cycle 1 Cycle 2 x + x Cycle 3 AB ABAC AC Algorithms Scheduling Allocation Resource binding

Current HL Transformation Methods Ad-hoc methods (algebraic) –Commutativity: A + B = B + A –Associativity: A + (B +C) = (A + B) + C –Distributivity: A * (B +C) = (A * B) + (A * C) Term rewriting, etc. Tools –Matlab, Maple –Mathematica Problems: –not canonical –cannot scale with design size –require manual intervention

Taylor Expansion Diagrams Features of TED –Canonical, minimal, normalized –Compact (linear for polynomials) –Represents word-level blocks and Boolean logic Applications –Equivalence checking, RTL verification –Symbolic simulation (representation) –Algorithm verification NEW: Application to Behavioral Synthesis

Application to Behavioral Synthesis Given an algorithm, derive several implementations using common (canonical) structure of TED F1 = AB + AC  +  A BC F2 = A (B + C)  + ABC A B C 0 1 AB + AC HLD

Alternative Architecture F = A*(B+C) Area Specification Data flow graph + x Cycle 1 Cycle 2 + x C A B