HYPER: An Interactive Synthesis Environment for Real Time Applications Introduction to High Level Synthesis EE690 Presentation Sanjeev Gunawardena March.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

DSPs Vs General Purpose Microprocessors
Programmable FIR Filter Design
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
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.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Behavioral Synthesis Outline –Synthesis Procedure –Example –Domain-Specific Synthesis –Silicon Compilers –Example Tools Goal –Understand behavioral synthesis.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
VHDL Coding Exercise 4: FIR Filter. Where to start? AlgorithmArchitecture RTL- Block diagram VHDL-Code Designspace Exploration Feedback Optimization.
Center for Embedded Computer Systems University of California, Irvine and San Diego Loop Shifting and Compaction for the.
CPEN Digital System Design Chapter 9 – Computer Design
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
ECE 2372 Modern Digital System Design
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Sub-expression elimination Logic expressions: –Performed by logic optimization. –Kernel-based methods. Arithmetic expressions: –Search isomorphic patterns.
CSC321 Where We’ve Been Binary representations Boolean logic Logic gates – combinational circuits Flip-flops – sequential circuits Complex gates – modules.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Computer Design Basics
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
L11: Lower Power High Level Synthesis(2) 성균관대학교 조 준 동 교수
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
EKT221 ELECTRONICS DIGITAL II CHAPTER 4: Computer Design Basics
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Chapter 4 Computer Design Basics. Chapter Overview Part 1 – Datapaths  Introduction  Datapath Example  Arithmetic Logic Unit (ALU)  Shifter  Datapath.
ISSS 2001, Montréal1 ISSS’01 S.Derrien, S.Rajopadhye, S.Sur-Kolay* IRISA France *ISI calcutta Combined Instruction and Loop Level Parallelism for Regular.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
ECE-C662 Lecture 2 Prawat Nagvajara
Folding Technique: Compromising in Special Purpose Hardware Design
EKT 221 : Chapter 4 Computer Design Basics
ALU (Continued) Computer Architecture (Fall 2006).
Lecture 15 Microarchitecture Level: Level 1. Microarchitecture Level The level above digital logic level. Job: to implement the ISA level above it. The.
Register Transfer Languages (RTL)
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 23 Introduction Computer Specification –Instruction Set Architecture (ISA) - the specification.
EKT 221 : Digital 2 Computer Design Basics Date : Lecture : 2 hrs.
Sequential Execution Example of three micro-operations in the same clock period.
COE 360 Principles of VLSI Design Delay. 2 Definitions.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
ASIC Design Methodology
Register Transfer Specification And Design
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Chap 7. Register Transfers and Datapaths
Embedded Systems Design
By: Mohammadreza Meidnai Urmia university, Urmia, Iran Fall 2014
Morgan Kaufmann Publishers
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Processor (I).
Instructor: Alexander Stoytchev
Introduction to cosynthesis Rabi Mahapatra CSCE617
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Registers.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

HYPER: An Interactive Synthesis Environment for Real Time Applications Introduction to High Level Synthesis EE690 Presentation Sanjeev Gunawardena March 3rd 1998

Overview n Some explanation of terms n Architectures for real time applications n Introduction to the Hyper synthesis tool n Hardware Mapper for Hyper n Examples: The wavelet filter n Conclusion n Acknowledgements

Some Explanation of Terms n High level synthesis u A task in ASIC development which takes an algorithm, transforms it, assigns operations to suitable units and develops a schedule for the operations that share units. n Layout generators (Silicon compilers) u A tool used in ASIC development after High level synthesis that deals with the placement of hardware units and the routing of wiring between them. n Note: There is often a gap between high level synthesis and layout generators. The synthesis is considered “finished” when a design has been scheduled, but the layout tool expects a completely specified design. n Hardware Mapper u A tool that interfaces the above two steps. It derives a basic implementation of a design from a high level synthesis data representation and “decorates” the implementation with necessary details and presents a fully specified design to a layout generator.

Some Explanation of Terms n Signal-flowgraph language u A language used to describe high level digital systems that have little explicit control. u Examples: Silage, Ptolemy, Comdisco, Mentor Graphics n Hardware Mapper

Some Explanation of Terms n Control/data flowgraph FIR3 block diagram and flowgraph

Some Explanation of Terms n Hardware Description Language u The format in which a design is presented to a layout generator. u This is the output generated by the hardware mapper. u Examples: VHDL, SDL (the structural description language used by the Larger layout generation tools.

Architectures for Real Time Applications n Traditional microprocessor architecture u All operations are time-multiplexed on a single, general purpose ALU u Control driven n Hard wired (Data flow driven) architecture u Each operation is represented by a separate hardware unit u Data paths are hard wired to match the algorithmic data flow u Structures are heavily pipelined to achieve high data rates, often equaling or exceeding the maximum achievable clock rate. u Examples: Systolic arrays, speech recognition, and image processing systems. u Programmability is restricted. Results in small controller section. u Design process is very cumbersome. Requires many design iterations. n The Hyper synthesis environment can derive the data path and controller structure starting from a high-level description.

The HYPER System n Interactive menu-driven design environment for synthesizing high- performance digital ASICs. n Input to HYPER is a Silage description of an algorithm. n The Silage description is translated into a control/data flowgraph. u Flowgraph represents the same information as the original Silage description, but is easier to manipulate. u The flowgraph can be adorned with details not possible with the Silage description. F Example: timing, area information

The HYPER System The HYPER Modules

The HYPER System n The selection step u Assigns a unit (or group of units) from a hardware library to each type of node in the flowgraph u The library will contain many implementations of the same block each of which are optimized for performance, area, power consumption etc. n The transformation phase u Performs algorithmic transformations on the flowgraph to achieve a specific result. u Examples: F fixed-coefficient multiplications => series of adds and shifts F algebraic transformations F loop unrolling F retiming and pipelining

The HYPER System n The estimation stage u Provides the designer with estimated resource requirements F number of cycles in the critical path F number and type of execution units (EXUs) F number of registers associated with each EXU F number of buses connecting EXUs to registers n The assignment/scheduling step u Assigns each flowgraph node to a specific hardware unit u Derives the number of needed hardware units u NOTE: The clock period and sampling rates must be specified prior to scheduling in order to define the number of cycles available to the system.

The HYPER System n The hardware mapping (architecture mapping) stage u maps the flowgraph onto the selected hardware units. F Generates interconnect information F places multiplexers and buffers where needed F defines the FSM and control logic F partitions the datapath u Output of hardware mapper is a group of HDL files. F VHDL F SDL (Structural Description Language used by LargerIV silicon compiler) u After hardware mapping, the system is completely defined.

The Hardware Mapper (Overview) n The Hardware Mapper has two main phases u Target independent phase F extracts information from flowgraph and adds details buffers and multiplexers added and control specifications are derived u Target specific phase F generates VHDL or SDL descriptions

Resources n High level synthesis tools decide how all operations of an algorithm are performed. n Involves matching a process (e.g. addition) with a pre-designed hardware unit. n The hardware units are organized in libraries. n An index lists all units and their capable operations. n A library may contain more than one unit for the same operation. n It is necessary to select the most appropriate unit (based on speed, area or power efficiency).

Resources n A library “data sheet” contains other relevant information for the high level synthesis tool. u Size, speed or power consumption of units u Connectivity information of units u Special unit specific information (such as multiple operation units) n The “data sheet” is the only view HYPER has of a library. It uses the “data sheet” to organize relevant information about hardware units.

Resources Library access routines

Resources Library Access Routines

Resources n A “technology” file is used by HYPER which describes common characteristics of units. (e.g. supply voltage). Technology File

Target Independent Phase n First phase of the Hardware Mapper n Translates flowgraph into an intermediate representation to allow subsequent mapping to different target platforms.

Target Independent Phase - Architecture Model n HYPER architecture model contains: u Execution units (EXUs) u Register files u Crossbar interconnect network

Target Independent Phase - Architecture Model n Register files u Have a single input port => one value written at a time u Dedicated bus exists between output of register and input of EXU it “belongs” to. n Crossbar interconnect network u provides connections from any EXU to register file. u May form different connections at different times. u Implemented by set of dedicated buses, bus drivers and MUXs. u Configured by choosing active bus drivers and selected MUX inputs.

HYPER’s Refined Architecture Model n Result of merging basic architecture with crossbar implementation. n A group of muxes, registers, EXUs and buffers connected only by dedicated buses is known as a “cluster”. n Typically, a cluster has only one EXU. n A cluster can have unlimited EXUs.

Target Independent Phase - Register Selection n Mapper considers only area when selecting register hardware. n The Mapper has four types of registers. u Register files F contain one or more registers F can be read/write or read only F can address one location for reading and one for writing in one clock cycle F all registers in the file have the same bit width (at least 1-bit) u Single registers with tri-stated outputs F can store one value at a time F read/write or read only F can be both read and written in one clock cycle F register must have a parameterizable bit width (at least 1-bit) F can be connected in parallel with other registers of this type to create a register file

Target Independent Phase - Register Selection u Single Registers without tri-stated outputs F can store one value at a time F read/write or read only F can both be read and written in a clock cycle F cannot be connected in parallel with other registers. F Can only be used when a HYPER design requires a register file with a single location. u Flip-flops F single-bit standard cell registers F D-FFs F rising edge triggered

Target Independent Phase - Register Selection Process n Determine the size of each Hyper register file, as annotated in the flowgraph. n Determine which register or combination offers a better solution u Done on a per-register-file basis u Smallest viable solution is chosen as the optimal

Target Independent Phase - Flowgraph Translation n Hardware mapper takes a scheduled flowgraph and extracts the necessary information from it.

Target Independent Phase - Bus Merging n Hardware mapper is capable of minimizing the number of physical buses in a design (optional). n Area of bus merged design is 40-60% smaller than non bus merged implementation. n Bus merging routines u Fanin bus merging u Fanout bus merging u Global bus merging Bus merging flowchart

Target Independent Phase - Bus Merging n Fanin bus merging u joins all input buses of a register file to a single bus n Fanout bus merging u Joins all output buses of an EXU to a single bus n Global bus merging

Target Independent Phase - Bus Merging Example n Seventh order IIR filter was generated by Hyper n Critical path - 10 clock cycles (16 clock cycles available time) n Implementation u 2 shifters u 1 adder u 1 subtractor n Results:

Target Independent Phase - Buffers and Multiplexers n After bus merging, buffers and muxes are added to the design n Buffer selection u Needed to drive large loads of buses. u Can be turned ON or OFF so that one buffer can drive a bus at a given time. u Selection routine inserts a simple buffer between EXUs and buses when the bus is driven by one EXU. u Selection routine inserts a tri-state buffers when multiple EXUs are driving the same bus.

Target Independent Phase - Buffers and Multiplexers n Mux selection u Always placed at the inputs of register files. u Mux servers at a bus selector for the register file with which it is associated. u Selection routines recognize how many buses are connected to the input of a register file. u Examples: F register file has one bus connected to input => no mux assigned F register file has two buses connected to input => 2:1 mux assigned

Target Independent Phase - Control Generation n Last step in the target independent phase of hardware mapper

Target Independent Phase - Control Generation n State transition graph generation (from flowgraph) u Keeps track of all the states and the operations that must take place during those states. u Determines which control signals will be used for control flow (branches, jumps etc) u Two types of control flow are supported F sequential flow (does not require any control signals to flow from the datapath to the controller) F simple loops (requires that the controller can receive feedback from the datapath to determine when or if to branch. n Example:

Examples - The Wavelet Filter n Contains a high pass and a low pass FIR filter. n High and low pass sections share constant coefficients for their 14 taps.

Examples - The Wavelet Filter n Implementation using 22 clocks/sample No bus mergingWith bus merging Buses:155 Muxes:54 Buffers:186 Registers:5656 Actual layout:7.0 mm mm 2 Mapper predicted area:5.2 mm mm 2

Examples - The Wavelet Filter Implementation of the wavelet filter without bus merging

Examples - The Wavelet Filter Implementation of the wavelet filter with global bus merging

Examples - The Wavelet Filter (conclusion) n The mapper’s area predictions are too small because the area of control logic and control wiring is not known at the time the prediction is made. n Bus merging is clearly desirable when chip area is a concern. Fir this example, a savings of 2.4 mm 2 was realized.

Conclusion n The Hyper synthesis environment can be effectively used to derive the data path and controller structure from a high level description (Silage) n The Hyper system is comprised of several functional blocks which include selection, transformation, estimation, assignment/scheduling and hardware mapping. n The hardware mapper takes the scheduled flowgraph generated by Hyper and maps it to specific hardware units described in a library, generating an HDL output. The hardware mapper is the interface between the high level synthesis tool (Hyper) and the silicon compiler. n The real time example shows that the design can be optimized for users specific needs (area, speed, etc)

Acknowledgments n The bulk of the material for this presentation was obtained from Ole Bentz’ (University of California, Berkley) masters thesis titled “A Hardware Mapper for the Hyper High Level Synthesis System.” n ml