Reconfigurable Computing (EN2911X)

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

S. Reda EN2911X FALL’07 Reconfigurable Computing (EN2911X) Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Spring.
EECE579: Digital Design Flows
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Design and Implementation of VLSI Systems (EN0160) Sherief Reda Division of Engineering, Brown University Spring 2007.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 09: RC Principles: Software (2/4) Prof. Sherief Reda.
Configurable System-on-Chip: Xilinx EDK
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
Reconfigurable Computing (EN2911X, Fall07)
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 33: Array Subsystems (PLAs/FPGAs) Prof. Sherief Reda Division of Engineering,
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
CSCE 430/830 A Tutorial of Project Tools By Dongyuan Zhan Feb. 4, 2010.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
COE4OI5 Engineering Design Chapter 2: UP2/UP3 board.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Automated Design of Custom Architecture Tulika Mitra
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
J. Christiansen, CERN - EP/MIC
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) Reconfigurable Architectures Forces that drive.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Teaching Digital Logic courses with Altera Technology
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Introduction to the FPGA and Labs
Introduction to Programmable Logic Devices
EET 1131 Unit 4 Programmable Logic Devices
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
Lab 0: Familiarization with Equipment and Software
Lab 1: Using NIOS II processor for code execution on FPGA
Microcontrollers & GPIO
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
ECE354 Embedded Systems Introduction C Andras Moritz.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
EEE2135 Digital Logic Design Chapter 1. Introduction
Introduction to Programmable Logic
ECE 4110–5110 Digital System Design
Instructor: Dr. Phillip Jones
Electronics for Physicists
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Reconfigurable Computing
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Lecture 41: Introduction to Reconfigurable Computing
Dynamically Reconfigurable Architectures: An Overview
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
Embedded systems, Lab 1: notes
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
Characteristics of Reconfigurable Hardware
Low cost FPGA implimentation of tracking system from USB to VGA
Digital Fundamentals Tenth Edition Floyd Chapter 11.
Chapter 1 Introduction.
Programmable Logic- How do they do that?
Electronics for Physicists
Wireless Embedded Systems
Digital Designs – What does it take
♪ Embedded System Design: Synthesizing Music Using Programmable Logic
(Lecture by Hasan Hassan)
Programmable logic and FPGA
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X)
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Reconfigurable Computing (EN2911X) Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Spring 2007 S. Reda EN2911X FALL’07

Methods for executing algorithms Hardware (Application Specific Integrated Circuits) Reconfigurable computing Software-programmed processors Advantages: very high performance and efficient Disadvantages: not flexible (can’t be altered after fabrication) expensive Advantages: fills the gap between hardware and software much higher performance than software higher level of flexibility than hardware Advantages: software is very flexible to change Disadvantages: performance can suffer if clock is not fast fixed instruction set by hardware S. Reda EN2911X FALL’07

Temporal vs. spatial based computing Temporal-based execution (software) Spatial-based execution (reconfigurable computing) Ability to extract parallelism (or concurrency) from algorithm descriptions is the key to acceleration using reconfigurable computing S. Reda EN2911X FALL’07

Reconfigurable devices Field-Programmable Gate Arrays (FGPAs) are one example of reconfigurable devices An FPGA consists of an array of programmable logic blocks whose functionality is determined by programmable configuration bits The logic blocks are connected by a set of routing resources that are also programmable Custom logic circuits can be mapped to the reconfigurable fabric S. Reda EN2911X FALL’07

Configuring FPGAs [Maxfield’04] FPGAs can be dynamically reprogrammed before runtime or during runtime (virtual hardware) full partial S. Reda EN2911X FALL’07

Uses of reconfigurable devices Low/med volume IC production Early prototyping and logic emulation Accelerating algorithms in reconfigurable computing environments Reconfigurable functional units within a host processor (custom instructions) Reconfigurable units used as coprocessors Reconfigurable units that are accessed through external I/O or a network [Compton’02] S. Reda EN2911X FALL’07

Current problems with conventional computing Intel VP Patrick Gelsinger (ISSCC 2001) “If scaling continues at present pace, by 2005, high speed processors would have power density of nuclear reactor, by 2010, a rocket nozzle, and by 2015, surface of sun.” Technology scaling doubled the number of devices in an IC (processors, FPGAs, …, etc) every 2-3 years Scaling also provided devices with reduced delay → frequency doubling (with aggressive pipelining) → increased power density Increases in clock frequency slowed down (or stopped); available devices are used to create multi-processor (multi-core) processors S. Reda EN2911X FALL’07

Why reconfigurable computing is more relevant these days? Demand for high-performance computation is soaring: large-scale optimization problems, physics and earth simulation, bioinformatics, signal processing (e.g. HDTV), …, etc) Why software-programmed processors are no longer attractive? Faster temporal execution of instructions) is no longer improving General-purpose multi-core processors requires coarse grain thread-level parallelism Why reconfigurable fabrics are currently attractive? Increased integration densities allow large FPGAs that can implement substantial functions Provide the spatial computational resources required to implement massively-parallel computations directly in hardware S. Reda EN2911X FALL’07

Topics that will be covered in this class… (entry survey time) S. Reda EN2911X FALL’07

Topic 01: Programmable logic technology overview Programming information could be stored in SRAM 4-input Look-Up Table (LUT) is the typical size S. Reda EN2911X FALL’07

Topic 01: Programmable logic technology overview Switch box S. Reda EN2911X FALL’07

Topic 02: Reconfigurable computing methodologies System Specification partitioning software hardware compile for target processor synthesis (compilation) Mapping (placement & routing) configuration data S. Reda EN2911X FALL’07

Topic 03: Hardware programming languages (Verilog) Verilog is a hardware description language used to model digital systems Similar in syntax to C Differs from conventional programming languages as the execution of statements is not strictly linear. Possible to have sequential and concurrent execution statements The language can be synthesized into logic circuits module mux(a, b, select, y); input a, b, select; output y; initial begin always @ (a or b or select)    if (select)       y = a; else       y = b; end endmodule S. Reda EN2911X FALL’07

Topic 04: Rapid prototyping with Altera DE2 board No need to design our board; we will use Altera’s DE2 board and Quartus II software. Features: Cyclone II FPGA 35K LUTs 10/100 Ethernet RS232 Video out (VGA 10-bit DAC) Video in (NTSC/PAL/multi-format) USB 2.0 (type A and type B) PS/2 mouse or keyboard port Line in/out, microphone in (24-bit Audio CODEC) Expansion headers (76 signal pins) Infrared port Memory 8-MBytes SDRAM, 512K SRAM, 4-MBytes flash SD memory card slot Displays 16 x 2 LCD display Eight 7-segment displays Switches and LEDs S. Reda EN2911X FALL’07

Topic 05: High-level synthesis languages (SystemC) #include "systemc.h" SC_MODULE(adder) { sc_in<int> a, b; sc_out<int> sum; void do_add() { sum = a + b; } SC_CTOR(adder) { SC_METHOD(do_add); sensitive << a << b; }; SystemC is a system description language for hardware/software systems SystemC is a set of library and macros implemented in C++ to allow specification and simulation of concurrent processes Allow high-level description of hardware modules A subset of the language can be synthesized into logic circuits. We will use Celoxica Agility compiler as our synthesizer tool S. Reda EN2911X FALL’07

Topic 06: Algorithm acceleration using reconfigurable computing Learn how to use FPGAs and reconfigurable computing principles to accelerate algorithms: sorting, dynamic programming, NP-hard problems, …, etc. Accelerating application in various fields Signal and image processing Cryptology Bioinformatics Pattern recognition … etc S. Reda EN2911X FALL’07

Topic 07: Soft multi-core computing environments Nios processor Core 1 Nios processor Core 2 BUS Accelerator Memory Learn about hard and soft processors Design multi-core-based reconfigurable computing systems Design of on-chip networks for multi-core systems Design of custom instructions Design of pluggable acceleration function units S. Reda EN2911X FALL’07

Goals of this class Learn principles of reconfigurable computing with minimum hardware bakground Acquire hands-on experience and useful implementation skills Verilog / SystemC / Quartus II Develop/strengthen research skills S. Reda EN2911X FALL’07

Class organization HW assignments (paper reviews + mini labs): 20% Class participation: 10% Midterm: 20% Class project (progress/final reports and presentation): 50% Sources: papers, lecture slides, manuals and book chapters. Class website: http://ic.engin.brown.edu/classes/EN2911F07 S. Reda EN2911X FALL’07