1 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling.

Slides:



Advertisements
Similar presentations
Analysis of Computer Algorithms
Advertisements

Reconfigurable Computing After a Decade: A New Perspective and Challenges For Hardware-Software Co-Design and Development Tirumale K Ramesh, Ph.D. Boeing.
Addition Facts
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Acceleration of Cooley-Tukey algorithm using Maxeler machine
Testing Workflow Purpose
Some Trends in High-level Synthesis Research Tools Tanguy Risset Compsys, Lip, ENS-Lyon
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Addition 1’s to 20.
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Improved Census Transforms for Resource-Optimized Stereo Vision
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Dataflow Programming with MaxCompiler.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Automatic Interface Generation P.I.G. : Presented by Trevor Meyerowitz Sonics: Presented by Michael Sheets EE249 Discussion November 30, 1999.
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
From Concept to Silicon How an idea becomes a part of a new chip at ATI Richard Huddy ATI Research.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Extreme Makeover for EDA Industry
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
1 H ardware D escription L anguages Modeling Digital Systems.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
© 2006 Synopsys, Inc. (1) CONFIDENTIAL Simulation and Formal Verification: What is the Synergy? Carl Pixley Disclaimer: These opinions are mine alone and.
Workshop - November Toulouse Toulouse, J.LACHAIZE (Astrium) High Level Synthesis.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
ECE-C662 Lecture 2 Prawat Nagvajara
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Hardware Accelerator for Hot-word Recognition Gautam Das Govardan Jonathan Mathews Wasim Shaikh Mojes Koli.
RTL Design Methodology Transition from Pseudocode & Interface
November 29, 2011 Final Presentation. Team Members Troy Huguet Computer Engineer Post-Route Testing Parker Jacobs Computer Engineer Post-Route Testing.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
VHDL and Hardware Tools CS 184, Spring 4/6/5. Hardware Design for Architecture What goes into the hardware level of architecture design? Evaluate design.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
FPGA BASED REAL TIME VIDEO PROCESSING Characterization presentation Presented by: Roman Kofman Sergey Kleyman Supervisor: Mike Sumszyk.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Programmable Hardware: Hardware or Software?
ASIC Design Methodology
Topics Modeling with hardware description languages (HDLs).
IP – Based Design Methodology
Topics Modeling with hardware description languages (HDLs).
Hardware Description Languages
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Powerful High Density Solutions
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

1 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling

2 Gate-level Design Verilog Schematic Gate Sim Verilog Gate-Level 1982 ARCHITECTURE VERIFICATION IMPLEMENTATION Gate-level design by schematics Gate-level verification in netlist simulators Architecture moves up to Verilog

3 Register-transfer Level Logic synthesis enabled more abstract design Verilog architectural language used for RTL design Architecture moves up to C++ Logic Synthesis 1982 Verilog Gate-Level Verilog C++ Verilog C++ RTL 1992 Gate Sim Verilog Schematic ARCHITECTURE VERIFICATION IMPLEMENTATION

4 Verilog C++ Verilog C++ RTL Higher-level Current architecture language (C++) will emerge as next design language Practical high- level synthesis in C++ will trigger the change Verilog Schematic Gate Sim Verilog Gate-Level C++ High Level 2002 High-level Synthesis ARCHITECTURE VERIFICATION IMPLEMENTATION

5 The Problem: Lack of Tools RTL Architecture Gate Algorithm Modular decomposition Structural elaboration Cycle timing Resource allocation Logic synthesis Gates C++ High-level Model Paper Spec RTL Implementation Model HDL IP Starting point is GPL (C++) Entry point to backend is HDL/RTL Refinement is manual Only GPL users: academics lunatic fringe

6 GPL candidates SpecC HandleC Java C++/Cynlib C++/SystemC Extended SystemC Weve made good progress

7 HLS: The Promise High-level Synthesis Enables higher levels of design abstraction Connects the starting point with the ending point Allows architectural exploration Eases technology process migration Achieves better results with less effort Enables faster simulation and design debugging at the behavioral level

8 HLS: The Experience Behavioral synthesis was not successful QOR marginal Hard to use, non-intuitive Results nearly impossible to verify Poisoned the market What went wrong? Started with the wrong input Point tool solution for a design flow problem

9 HLS: The Future is Now … High-level Synthesis We have the right starting point We can use a common test bench We can keep the interfaces constant We can produce RTL which meets timing constraints

10 CynthHL Design Flow Automatic generation of verifiable RTL from architectural C++ Single verification environment for entire design flow RTL Architecture Gate Modular decomposition Structural elaboration Cycle timing Resource allocation Logic synthesis Gates Algorithm Automatically synthesized RTL Implementation C++ to HDL CynthHL Algorithm Constraints Protocol

11 Design Exploration Typical architectural questions: What goes in hardware? software? How many data path elements? How wide should data paths be? What protocols should be used? How deep should pipelines be? More interesting: Whats the lowest distortion for a given die size? Whats the minimum area for a target frame rate? How much can I increase the signal-to-noise ratio with a 10% area increase?

12 Design Exploration These are all speed vs. area tradeoffs Speed: latency, throughput Area: how much parallel hardware Answers arent available until RTL has been produced Most answers require multiple implementation data points => Evaluating an architectural decision is very expensive

13 AES Encryption Algorithm Starting point 386 lines C++/ESC Module, testbench in ESC: Input key & block length, then key Input plain-text block Output encrypted block Goal: fastest design in minimum area Design exploration Unroll loops Enabled constant propagation Increased number of FSM states Decrease latency Increase functional units Decrease number of FSM states Result 3,917 lines of RTL 32 functional units 5 ROMs 100 registers Net result: 5x speed-up 1.2x size increase

14 Image Compression Algorithm Computationally intensive 753 lines of C++/ESC Memory-intensive Hard speed constraint 15 ms/frame 8 17ns clock I/O interface is not defined Includes testbench and golden results

15 Initial analysis Throughput requirement faster than latency allows Suggests some form of pipelining will be needed Loops in algorithm should be restructured to have only one inner loop Critical performance issue Memory usage, not operations (+, *, etc.) Pipelining makes memory usage more intense Input, rgb2yc Vertical filter Horizontal filter Output

16 Design Exploration With each architecture Synthesize one or more RTL implementations Use CynthHLs output to determine critical issues (memory vs. operations) Verify with same testbench Net result: 10,682 lines Verilog/RTL 108 functional units 9 RAMs, 1 ROM 160 registers Run time: 33.8s 15 ms / frame Merge loops Modify memory architecture Pipeline Verify each transformation

17 Synergy General-purpose programming language High-level synthesis Together, high-level design is a reality Separately, they are just curiosities SystemC + CynthHL = High-level Design

18 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling

19 CynthHL Product Status Currently in Beta Beta released January 2002 Available Today – Everything you need: Synthesis to correct gates Design exploration Predictable timing helps timing closure Beta period being used to improve usability in real world design and verification flows Official product announcement 2H2002

20 Integrated Design and Verification Environment System-level model used for verification Spend time at the algorithmic level to get it right Reuse verification environment at lower levels Same TB used for algorithm and synthesized RTL System-level model used for design Once the architecture is verified, automatically create RTL implementation(s) Explore trade-offs between design goals by creating multiple implementations Automated path to CORRECT gates