EN2911X: Reconfigurable Computing Lecture 01: Introduction

Similar documents
Introduction to VHDL Design on Quartus II and DE2 Board

PRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory.

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

Lab 2 EECE473 Computer Organization & Architecture University of Maine

Advanced course on Embedded Systems design using FPGA

ESL design with the Agility Compiler for SystemC

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

Today s Agenda Background/Experience Course Information Altera DE2B Board do Overview Introduction to Embedded Systems Design Abstraction Microprocess

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

PREFACE. Changes to the SOPC Edition

Introduction to reconfigurable systems

Early Models in Silicon with SystemC synthesis

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic

DE2 Board & Quartus II Software

CMPE 415 Programmable Logic Devices Introduction

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

EN2911X: Reconfigurable Computing Lecture 05: Verilog (2)

System-on-a-Programmable-Chip (SOPC) Development Board

FPGA: What? Why? Marco D. Santambrogio

FPGA Development Board Hardware and I/O Features

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 7: VHDL and DE2 Board. Name: Date:

Digital Systems Design. System on a Programmable Chip

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3

FPGA for Software Engineers

Embedded Design without an OS. By Peter de Ruiter D&E September 21 st, Transfer BV

Analysis of Resource Utilization in FPGA Implementation of an Embedded System Using Soft Core Processor.

The University of Reduced Instruction Set Computer (MARC)

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Digital Integrated Circuits

Handouts. FPGA-related documents

FPGAs in a Nutshell - Introduction to Embedded Systems-

FPGA-Based Rapid Prototyping of Digital Signal Processing Systems

Digital Systems Laboratory

Handouts. 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday)

NIOS CPU Based Embedded Computer System on Programmable Chip

PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Systems Development Tools for Embedded Systems and SOC s

Reconfigurable Computing. Introduction

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

NIOS CPU Based Embedded Computer System on Programmable Chip

EN2911X: Reconfigurable Computing Lecture 06: Verilog (3)

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Reconfigurable Computing. Design and implementation. Chapter 4.1

2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.

Typical applications where a CPLD may be the best design approach:

Laboratory Exercise 3

Lecture 41: Introduction to Reconfigurable Computing

Altera DE1 Board DE1. Development and Education Board. User Manual. Copyright 2006 Altera Corporation

Figure 2.1 The Altera UP 3 board.

Field Program mable Gate Arrays

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Hardware/Software Co-design

New development within the FPGA area with focus on soft processors

Experiment 3. Digital Circuit Prototyping Using FPGAs

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

ELEC 2520 Embedded Systems Engineering II

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi

Chip Design with FPGA Design Tools

Evolution of CAD Tools & Verilog HDL Definition

Tutorial: ISE 12.2 and the Spartan3e Board v August 2010

TKT-2431 SoC design. Introduction to exercises. SoC design / September 10

Cover TBD. intel Quartus prime Design software

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Reconfigurable Computing. Design and Implementation. Chapter 4.1

System-on Solution from Altera and Xilinx

ECE 3220 Digital Design with VHDL. Course Information. Lecture 1

14. Using Altera Enhanced Configuration Devices

CHAPTER 2 LITERATURE REVIEW

Embedded System Design

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8

Digital Design with FPGAs. By Neeraj Kulkarni

Building Combinatorial Circuit Using Behavioral Modeling Lab

ENGN1640: Design of Computing Systems Topic 02: Lab Foundations

RTL Coding General Concepts

Laboratory Exercise 1

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology

ECE1387 Exercise 3: Using the LegUp High-level Synthesis Framework

Design of Digital Circuits

AN 818: Static Update Partial Reconfiguration Tutorial

Tutorial on Quartus II Introduction Using Verilog Code

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

תכן חומרה בשפת VERILOG הפקולטה להנדסה

Very Large Scale Integration (VLSI)

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

Qsys and IP Core Integration

Cover TBD. intel Quartus prime Design software

FABRICATION TECHNOLOGIES

CS/EE Prerequsites. Hardware Infrastructure. Class Goal CS/EE Computer Design Lab. Computer Design Lab Fall 2010

CS/EE Computer Design Lab Fall 2010 CS/EE T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand

The Nios II Family of Configurable Soft-core Processors

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

S2C K7 Prodigy Logic Module Series

DE2 Function Library Manual

Full Linux on FPGA. Sven Gregori

3-D Accelerator on Chip

Transcription:

EN2911X: Reconfigurable Computing Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Fall 2009

Methods for executing computations 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

Temporal vs. spatial based computing Temporal-based execution (software) Spatial-based execution (reconfigurable computing) Ability to extract parallelism (or concurrency) from algorithmic descriptions is the key to acceleration using reconfigurable computing

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

Configuring FPGAs [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. iii. Reconfigurable units used as coprocessors Reconfigurable units that are accessed through external I/O or a network [Compton 02]

Why reconfigurable computing is more relevant these days? Significant demand for high-performance computation. Large-scale data processing required in many areas (e.g. signal processing, particle physics, weather simulations, bioinformatics) Why general-purpose processors are not meeting the demand? Single thread performance is no longer improving (individual core frequencies do not increase due to thermal problems). Thread-level parallelism is not always attainable. Consume large amount of power. Why reconfigurable fabrics could meet the computational demand? Provide the spatial computational resources required to computationally process large streams of data directly in hardware Economically feasible Could lead to power savings

Goals of this class 1. Learn principles of reconfigurable computing. 2. Acquire hands-on experience and useful implementation skills for real-life engineering. 3. Develop/strengthen research skills through readings and class projects.

Topics covered in EN2911X Overview of programmable logic technology Rapid prototyping with FPGA boards Reconfigurable computing methodologies Hardware programming languages High-level system synthesis Soft multi-core system synthesis Algorithmic acceleration using reconfigurable computing Emerging reconfigurable systems

Topic 01: Programmable logic technology overview Programming information could be stored in SRAM 4-input Look-Up Table (LUT) is the typical size

Topic 01: Programmable logic technology overview Switch box

Topic 02: Rapid prototyping with FPGA boards 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 03: Reconfigurable computing methodologies System Specification partitioning software hardware compile for target processor synthesis (compilation) Mapping (placement & routing) configuration data

Topic 04: 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

Topic 05: High-level synthesis (MATLAB, C and SystemC) 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 Direct C conversion is also getting main stream High-level synthesis from Matlab Simulink directly. #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; } };

Topic 06: Algorithm acceleration using reconfigurable computing Learn how to use FPGAs and reconfigurable computing principles to accelerate algorithms: scientific computing, dynamic programming, combinatorial optimization,, etc. Accelerating application in various fields: Combinatorial algorithms (e.g., Boolean Satisfiability) Signal and image processing (e.g., FFT) Bioinformatics (e.g., DNA edit distance algorithm) Pattern recognition (e.g., Viterbri algorithm)

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

Topic 08: Emerging reconfigurable systems Asynchronous FPGAs NanoPLA architectures 3D FPGAs MRAM FPGAs CNT-based FPGAs [DeHon 04]

Class organization Grade assignments: Sources: book, papers, lecture slides, manuals, and book chapters. Class website: http://scale.engin.brown.edu/ classes/en2911xf09 [editors: Hauck & DeHon]