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

Slides:



Advertisements
Similar presentations
Field Programmable Gate Array
Advertisements

FPGA (Field Programmable Gate Array)
Hao wang and Jyh-Charn (Steve) Liu
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
1 of 24 The new way for FPGA & ASIC development © GE-Research.
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.
An Introduction to Reconfigurable Computing Mitch Sukalski and Craig Ulmer Dean R&D Seminar 11 December 2003.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
EECE579: Digital Design Flows
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 09: RC Principles: Software (2/4) Prof. Sherief Reda.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 15: SystemC (3/3) Prof. Sherief Reda Division of.
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)
Evolution of implementation technologies
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
S. Reda EN160 SP’07 Design and Implementation of VLSI Systems (EN0160) Lecture 33: Array Subsystems (PLAs/FPGAs) Prof. Sherief Reda Division of Engineering,
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
CSCE 430/830 A Tutorial of Project Tools By Dongyuan Zhan Feb. 4, 2010.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
General FPGA Architecture Field Programmable Gate Array.
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)
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Spring 2009.
February 12, 1998 Aman Sareen DPGA-Coupled Microprocessors Commodity IC’s for the Early 21st Century by Aman Sareen School of Electrical Engineering and.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Computer Science, Software Engineering & Robotics Workshop, FGCU, April 27-28, 2012 FPGA: Field Programmable Gate Arrays Vincent Giannone Mentor: Dr. Janusz.
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.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Lecture 14 Reconfigurable Computing Basics Lecturer: Simon Winberg.
Automated Design of Custom Architecture Tulika Mitra
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
J. Christiansen, CERN - EP/MIC
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.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
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)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Reconfigurable Computing Ender YILMAZ, Hasan Tahsin OĞUZ.
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.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
FPGA Field Programmable Gate Arrays Shiraz University of shiraz spring 2012.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
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
Lab 1: Using NIOS II processor for code execution on FPGA
Introduction to Programmable Logic
ECE 4110–5110 Digital System Design
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Reconfigurable Computing
Lecture 41: Introduction to Reconfigurable Computing
Embedded systems, Lab 1: notes
(Lecture by Hasan Hassan)
Reconfigurable Computing (EN2911X)
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X)
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

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

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

Temporal vs. spatial based computing S. Reda EN2911X FALL’07 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

Reconfigurable devices S. Reda EN2911X FALL’07 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

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

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

Current problems with conventional computing S. Reda EN2911X FALL’07 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 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.”

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)

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

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

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

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 S. Reda EN2911X FALL’07 module mux(a, b, select, y); input a, b, select; output y; initial begin (a or b or select) if (select) y = a; else y = b; end endmodule

Topic 04: Rapid prototyping with Altera DE2 board S. Reda EN2911X FALL’07 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

Topic 05: High-level synthesis languages (SystemC) S. Reda EN2911X FALL’07 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 #include "systemc.h" SC_MODULE(adder) { sc_in a, b; sc_out sum; void do_add() { sum = a + b; } SC_CTOR(adder) { SC_METHOD(do_add); sensitive << a << b; } };

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 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 BUS Nios processor Core 1 Memory Nios processor Core 2 Accelerator

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: S. Reda EN2911X FALL’07