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

Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Jan 12, 2016

Download

Documents

loyal

Reconfigurable Computing (EN2911X) Lecture 01: Introduction. Prof. Sherief Reda Division of Engineering, Brown University Spring 2007. Methods for executing algorithms. Reconfigurable computing. Software-programmed processors. Hardware (Application Specific Integrated Circuits). - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

S. Reda EN2911X FALL’07

Reconfigurable Computing(EN2911X)

Lecture 01: Introduction

Prof. Sherief RedaDivision of Engineering, Brown University

Spring 2007

Page 2: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Methods for executing algorithms

S. Reda EN2911X FALL’07

Advantages:•very high performance and efficientDisadvantages:•not flexible (can’t be altered after fabrication)• expensive

Hardware(Application Specific Integrated Circuits)

Software-programmed processors

Advantages:•software is very flexible to changeDisadvantages:•performance can suffer if clock is not fast•fixed instruction set by hardware

Reconfigurablecomputing

Advantages:•fills the gap between hardware and software •much higher performance than software•higher level of flexibility than hardware

Page 3: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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

Page 4: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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

Programmableinterconnect

Programmablelogic blocks

Page 5: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Configuring FPGAs

S. Reda EN2911X FALL’07

[Maxfield’04]

FPGAs can be dynamically reprogrammed before runtime or during runtime (virtual hardware)

• full• partial

Page 6: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Uses of reconfigurable devices

1. Low/med volume IC production

2. Early prototyping and logic emulation

3. Accelerating algorithms in reconfigurable computing environmentsi. 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]

Page 7: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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.”

Page 8: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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

Page 9: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

S. Reda EN2911X FALL’07

Topics that will be covered in this class…(entry survey time)

Page 10: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Topic 01: Programmable logic technology overview

S. Reda EN2911X FALL’07

|

&ab

cy

y = (a & b) | !c

Required function Truth table

1011101

0000010100111001011101111

y

a b c y

00001111

00110011

01010101

10111011

SRAM cells

Programmed LUT

8:1

Mul

tiple

xer

a b c

Programming information could be stored in SRAM4-input Look-Up Table (LUT) is the typical size

Page 11: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Topic 01: Programmable logic technology overview

S. Reda EN2911X FALL’07

4-inputLUT

flip-flop

clock

muxy

qe

abcd

Switchbox

Page 12: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

Topic 02: Reconfigurable computing methodologies

S. Reda EN2911X FALL’07

Graphical State Diagram

Graphical Flowchart

When clock rises If (s == 0) then y = (a & b) | c; else y = c & !(d ^ e);

Textual HDL

Top-levelblock-levelschematic

Block-level schematic

System Specification partitioning

software

hardware

synthesis (compilation)

Mapping (placement & routing)

configuration data

compile for target processor

Page 13: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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 always @ (a or b or select)    if (select)       y = a; else       y = b; endendmodule

Page 14: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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

Page 15: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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<int> a, b; sc_out<int> sum;

void do_add() { sum = a + b; }

SC_CTOR(adder) { SC_METHOD(do_add); sensitive << a << b; } };

Page 16: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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

Page 17: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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 processorCore 1

Memory

Nios processorCore 2

Accelerator

Page 18: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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

Page 19: Reconfigurable Computing (EN2911X) Lecture 01: Introduction

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