Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.

Slides:



Advertisements
Similar presentations
EDA Lab. Dept. of Computer Engineering C. N. U. 1 SYNTHESIS Issues in synthesizable VHDL descriptions (from VHDL Answers to FAQ by Ben Cohen)
Advertisements

What are FPGA Power Management HDL Coding Techniques Xilinx Training.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved FPGA and ASIC Technology Comparison, Part 2.
FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Register Transfer Level
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.
Give qualifications of instructors: DAP
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
The Multicycle Processor II CPSC 321 Andreas Klappenecker.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Configurable System-on-Chip: Xilinx EDK
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
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
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Decimal Multiplier on FPGA using Embedded Binary Multipliers Authors: H. Neto and M. Vestias Conference: Field Programmable Logic and Applications (FPL),
Floating-Point Reuse in an FPGA Implementation of a Ray-Triangle Intersection Algorithm Craig Ulmer June 27, 2006 Sandia is a multiprogram.
S2008Final_part1.ppt CS11 Introduction to Programming Final Exam Part 1 S A computer is a mechanical or electrical device which stores, retrieves,
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.
Languages for HW and SW Development Ondrej Cevan.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
ECE-C662 Lecture 2 Prawat Nagvajara
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
FPGA Hardware Synthesis Jessica Baxter. Reference M. Haldar, A. Nayak, N. Shenoy, A. Choudhary and P. Banerjee, “FPGA Hardware Synthesis from MATLAB”,
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.
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 2: Introduction to VHDL February 1, 2006.
Survey of Reconfigurable Logic Technologies
Architecture and algorithm for synthesizable embedded programmable logic core Noha Kafafi, Kimberly Bozman, Steven J. E. Wilton 2003 Field programmable.
System-on-Chip Design Analysis of Control Data Flow
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
1 Introduction to Engineering Spring 2007 Lecture 19: Digital Tools 3.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Adapted from Krste Asanovic
Topics Modeling with hardware description languages (HDLs).
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Topics Modeling with hardware description languages (HDLs).
EE345: Introduction to Microcontrollers Memory
Implementation of IDEA on a Reconfigurable Computer
Reconfigurable Computing
Loop Control Structure.
Topics HDL coding for synthesis. Verilog. VHDL..
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
High Level Synthesis Overview
Embedded systems, Lab 1: notes
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
12/5/2018.
Overview Last lecture Digital hardware systems Today
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.
Digital Designs – What does it take
Presentation transcript:

Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable Logic and Applications (FPL), 2007 Presenter: Tareq Hasan Khan ID: ID: ECE, U of S Literature review-1 (EE 800) Literature review-1 (EE 800)

2 Outline Introduction to SystemC and Agility compiler Mapping SystemC Array In Register In Register In FPGA’s RAM In FPGA’s RAMResultsConclusion

3 SystemC High level programming language to describe hardware C++ syntax Synthesizable subset defined by Open SystemC Initiative (OSCI)

4 Agility SystemC Compiler Translate SystemC program to HDL language (VHDL, Verilog, RTL SystemC) Agility accepts most C++ constructs, such as: conditional statements — if, switch conditional statements — if, switch loop statements — while, do...while, for loop statements — while, do...while, for control flow — break, continue, return control flow — break, continue, return

5 Agility Design Flow

6 Outline Introduction to SystemC and Agility compiler Mapping SystemC Array In Register In Register In FPGA’s RAM In FPGA’s RAMResultsConclusion

7 Mapping SystemC Array SystemC Array Synthesis Registers using general purpose logic Registers using general purpose logic RAM blocks of modern FPGA RAM blocks of modern FPGAConstrain SystemC arrays offer parallel access to elements SystemC arrays are accessed in one cycle SystemC arrays have write-before-read semantics “Semantics of SystemC array must be “Semantics of SystemC array must be preserved after synthesis “

8 Outline Introduction to SystemC and Agility compiler Mapping SystemC Array In Register In Register In FPGA’s RAM In FPGA’s RAMResultsConclusion

9 Array Synthesis in Registers for Read Access Each array element produces a register in hardware The address decoder translates address x into a bit vector which controls the output multiplexer The multiplexer selects the output of the particular element that is indexed by x If an array is read several times, several address decoders and multiplexers are required Mux y = Array [ x ] x y

10 Array Synthesis in Registers for Write Access The output lines of the address decoder are connected to the write enables of the registers to select in which register to write If an array is written to multiple times in a same clock cycle, multiplexers are required on the inputs of the registers to select which data to write Array [ x ] = y x y

11 Outline Introduction to SystemC and Agility compiler Mapping SystemC Array In Register In Register In FPGA’s RAM In FPGA’s RAMResultsConclusion

12 Array Synthesis in FPGA’s RAM Modern FPGA contains large amount of RAM Altera Cyclone II has 512KB of SRAM Altera Cyclone II has 512KB of SRAM A SystemC Array can be accessed by several processes in a single clock cycle Multi-port RAM is needed Multi-port RAM is needed An algorithm is developed to automatically assign memory access to RAM ports An algorithm is developed to automatically assign memory access to RAM ports

13 Algorithm Constraints and Steps The algorithm must assign memory access to ports such a way that: A memory port is never accessed more than once in a clock cycle A memory port is never accessed more than once in a clock cycle The total number of memory ports must be minimized The total number of memory ports must be minimizedSteps 1. Control Flow Graph (CFG) 2. Access Analysis 3. Port Assignment

14 Control Flow Graph (CFG) Codes between two consecutive wait statements executes concurrently in a clock cycle All possible paths that might be traversed during program execution

15 Access Analysis and Port Assignments PathRW One Read only port and Two Write only port required One Write only port and One Read-Write port requiredPathWRW R=Read only port W=Write only port RW = Read-Write port Each path executes in a single clock cycle OR

16 Access Analysis Algorithm

17 Outline Introduction to SystemC and Agility compiler Mapping SystemC Array In Register In Register In FPGA’s RAM In FPGA’s RAMResultsConclusion

18 Results Inverse Desecrate Cosine Transform (IDCT) algorithm written in C contains array of 1KB The design ported from C to SystemC Used Agility compiler to produce EDIF (Xilinx Virtex-4 FPGA)

19 Conclusion Mapping of SystemC Array to hardware In Resister File In Resister File Take more logic area Less performance In FPGA RAM In FPGA RAM A new algorithm to map arrays to memory has been presented More efficient in terms of logic area

20 Thanks