Lecture 1: Course Introduction September 3, 2013 ECE 636 Reconfigurable Computing Lecture 1 Course Introduction Prof. Russell Tessier.

Slides:



Advertisements
Similar presentations
Day - 3 EL-313: Samar Ansari. INTEGRATED CIRCUITS Integrated Circuit Design Methodology EL-313: Samar Ansari Programmable Logic Programmable Array Logic.
Advertisements

FPGA (Field Programmable Gate Array)
Hao wang and Jyh-Charn (Steve) Liu
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Lecture 7 FPGA technology. 2 Implementation Platform Comparison.
A Survey of Logic Block Architectures For Digital Signal Processing Applications.
An Introduction to Reconfigurable Computing Mitch Sukalski and Craig Ulmer Dean R&D Seminar 11 December 2003.
Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
Lecture 9: Coarse Grained FPGA Architecture October 6, 2004 ECE 697F Reconfigurable Computing Lecture 9 Coarse Grained FPGA Architecture.
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Embedded Systems: Introduction. Course overview: Syllabus: text, references, grading, etc. Schedule: will be updated regularly; lectures, assignments.
Some Thoughts on Technology and Strategies for Petaflops.
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
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.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Dynamically Reconfigurable Architectures: An Overview Juanjo Noguera Dept. Computer Architecture (DAC-UPC)
SSS 4/9/99CMU Reconfigurable Computing1 The CMU Reconfigurable Computing Project April 9, 1999 Mihai Budiu
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Introduction and Motivation.
General FPGA Architecture Field Programmable Gate Array.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
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.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
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,
Principles Of Digital Design Chapter 1 Introduction Design Representation Levels of Abstraction Design Tasks and Design Processes CAD Tools.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
LOPASS: A Low Power Architectural Synthesis for FPGAs with Interconnect Estimation and Optimization Harikrishnan K.C. University of Massachusetts Amherst.
ECE 465 Introduction to CPLDs and FPGAs Shantanu Dutt ECE Dept. University of Illinois at Chicago Acknowledgement: Extracted from lecture notes of Dr.
Automated Design of Custom Architecture Tulika Mitra
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
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,
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Lecture 10: Logic Emulation October 8, 2013 ECE 636 Reconfigurable Computing Lecture 13 Logic Emulation.
EE3A1 Computer Hardware and Digital Design
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.
Lecture 1: Course Introduction September 8, 2004 ECE 697F Reconfigurable Computing Lecture 1 Course Introduction Prof. Russell Tessier.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
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.
Embedded Real-Time Systems
Lecture 4: Contrasting Processors: Fixed and Configurable September 20, 2004 ECE 697F Reconfigurable Computing Lecture 4 Contrasting Processors: Fixed.
Reconfigurable Computing Nehir Sönmez
ECE 636 Reconfigurable Computing Lecture 1 Course Introduction Prof
ECE354 Embedded Systems Introduction C Andras Moritz.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
Instructor: Dr. Phillip Jones
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Reconfigurable Computing
Dynamically Reconfigurable Architectures: An Overview
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
A High Performance SoC: PkunityTM
Chapter 1 Introduction.
HIGH LEVEL SYNTHESIS.
Programmable logic and FPGA
Presentation transcript:

Lecture 1: Course Introduction September 3, 2013 ECE 636 Reconfigurable Computing Lecture 1 Course Introduction Prof. Russell Tessier

Lecture 1: Course Introduction September 3, 2013 What is Reconfigurable Computing? Computation using hardware that can adapt at the logic level to solve specific problems °Why is this interesting? Many applications are poorly suited to microprocessors VLSI “explosion” provides increasing resources. How can we use them? -“field-programmable” devices Allows for high performance, bug fixes, and fast time-to market for a selection of applications

Lecture 1: Course Introduction September 3, 2013 Background needed for this course 1.Basic VLSI – transistors, delay models. 2.Basic algorithms – graph algorithms, searches 3.Computer Architecture – ALU, microprocessor 4.Digital Design – adder, counter, etc. Topic self-contained! Reconfigurable Computing is a lot more than just devices

Lecture 1: Course Introduction September 3, 2013 Course Organization Homework assignments (15%) Final project (25%) Mid-term (25%) Final exam (30%) Class participation/attendance (5%) -Students expected to participate in class discussion No required text – readings will be assigned from research papers. -We will use material from the three survey papers on the course web site a lot

Lecture 1: Course Introduction September 3, 2013 What characterizes Reconfigurable Computing? °Parallelism customized to meet design objectives °Logic specialized to perform specific function °Functionality changed as problem requirements change Parallelism, specialization, hardware-level adaptation

Lecture 1: Course Introduction September 3, 2013 Microprocessor-based Systems (Temporal) Generalized to perform many functions well. Operates on fixed data sizes. Inherently sequential -Constrained even with multiple data paths. Data Storage (Register File) ALU ABC 64

Lecture 1: Course Introduction September 3, 2013 Reconfigurable Computing Create specialized hardware for each application. Functional units optimized to perform a special task. Functional Unit A B H L if (A > B) { H = A; L = B; } else { H = B; L = A; }

Lecture 1: Course Introduction September 3, 2013 Example: Bubblesort (Spatial) Adapt interconnect to problem. Take advantage of parallelism. AB HL AB HL AB HL AB HL AB HL Smallest Largest

Lecture 1: Course Introduction September 3, 2013 Implementation Spectrum ASIC gives high performance at cost of inflexibility. Processor is very flexible but not tuned to the application. Reconfigurable hardware is a nice compromise. MicroprocessorReconfigurable Hardware ASIC

Lecture 1: Course Introduction September 3, 2013 Reconfigurable Hardware Each LUT operates on four one-bit inputs. Output is one data bit. Can perform any boolean function of four inputs 2 = 64K functions (4096 patterns) Look-up table (LUT) A B C D Out A B C D = out 2 4

Lecture 1: Course Introduction September 3, 2013 Logic Element

Lecture 1: Course Introduction September 3, 2013 Field-Programmable Gate Array Each logic element outputs one data bit. Interconnect programmable between elements. Interconnect tracks grouped into channels. LE Logic Element Tracks

Lecture 1: Course Introduction September 3, 2013 FPGA Architecture Issues Need to explore architectural issues. How much functionality should go in a logic element? How many routing tracks per channel? Switch “population”? Logic Element

Lecture 1: Course Introduction September 3, 2013 Xilinx XC4000 Cell 2 4-input look-up tables 1 3-input look-up table 2 D flip flops

Lecture 1: Course Introduction September 3, 2013 Xilinx XC4000 Routing 25

Lecture 1: Course Introduction September 3, 2013 Altera Stratix Logic Element

Lecture 1: Course Introduction September 3, 2013 Altera Stratix Logic Array Blocks (Clusters)

Lecture 1: Course Introduction September 3, 2013 Routing Connections Based on the switch and wire parasitic, interconnect routes can be modeled as RC networks. S S Other issues: Power Routability

Lecture 1: Course Introduction September 3, 2013 Design abstractions specification behavior register- transfer logic circuit layout English Executable program Sequential machines Logic gates transistors rectangles Throughput, design time Function units, clock cycles Literals, logic depth nanoseconds microns functionSpec. level

Lecture 1: Course Introduction September 3, 2013 High-level Compilers Difficult to estimate hardware resources. Some parts of program more appropriate for processor (hardware/software codesign). Compiler must parallelize computation across many resources. Engineers like to write in C rather than pushing little blocks around. for (i = 0; i<n, i++) { c[i] = a[i] + b[i] } Some success stories

Lecture 1: Course Introduction September 3, 2013 Translating a Design to an FPGA CAD to translate circuit from text description to physical implementation well understood. Most current FPGA designers use register-transfer level specification (allocation and scheduling) Same basic steps as ASIC design. RTL. C = A+B. Circuit A B +C Array

Lecture 1: Course Introduction September 3, 2013 Circuit Compilation 1.Technology Mapping 2.Placement 3.Routing LUT ? Assign a logical LUT to a physical location. Select wire segments And switches for Interconnection.

Lecture 1: Course Introduction September 3, 2013 Technology Mapping: A Simple Example FA AB CoCo CiCi S Made of Full Adders A+B = D Logic synthesis tool reduces circuit to SOP form C o = ABC i + ABC i + ABC i + ABC i S = ABC i + ABC i + ABC i + ABC i LUT CoCo CiCi B A S CiCi B A

Lecture 1: Course Introduction September 3, 2013 Processor + FPGA 1. FPGA serves as coprocessor for data intensive applications – possible project. Three possibilities Backplane bus (e.g. PCI) Proc chip daughtercard FPGA chip FPGA Proc 2. FPGA serves as embedded computer for low latency transfer. “Reconfigurable Functional Unit”

Lecture 1: Course Introduction September 3, 2013 Processor + FPGA (cont..) FPGA logic embedded inside processor. A number of problems with 2 and 3. -Process technology an issue. -ALU much faster than FPGA generally. -FPGA much faster than the entire processor. RF ALU FPGA Processor 3. Processor integration

Lecture 1: Course Introduction September 3, 2013 Programmable System on a Chip °Specialized hardware is commonly used for compute-intensive applications Coprocessors (FPU, graphics, sound, …) Accelerator boards (FPGA boards, I/O cards, …) °FPGAs also perform well for many of these apps °Reconfigurable logic in System-On-A-Chip RAMFPGA DSPCPU Custom Logic Analog DSPRAM CPU Custom Logic FPGA

Lecture 1: Course Introduction September 3, 2013 A Success Story: Logic Emulation Most applications don’t fit on one device. Create need for partitioning designs across many devices. Effectively a “netlist computer” Each FPGA is a logic processor interconnected in a given topology. F F F F F F F F F

Lecture 1: Course Introduction September 3, 2013 Dynamic Reconfiguration What if I want to exchange part of the design in the device with another piece? Need to create architectures and software to incrementally change designs. Effectively a “configuration cache” Examples: encryption, filtering. LL LL

Lecture 1: Course Introduction September 3, 2013 Classifying Reconfiguration Reconfiguration methodology Static Partially static (=partial reconfiguration) Dynamic

Lecture 1: Course Introduction September 3, 2013 Types of Reconfiguration °Types of reconfiguration Static reconfiguration – application is not running Semi-static – different portions of application time-sliced on same hardware fabric Dynamic reconfiguration – application modified in response to changing environmental issues °What is reconfigured? Processor reconfiguration – customized instruction sets, pipelining, bit width Parameter reconfiguration Control reconfiguration Can you think of other applications?

Lecture 1: Course Introduction September 3, 2013 Hot Reconfigurable Computing Research Areas Determining what fixed components should go in an FPGA (multiplexers, routers, network interfaces, etc) Important new applications for reconfigurable devices (especially embedded applications and security) Better understanding the role of standard microprocessors, GPUs, and reconfigurable hardware. -They all have benefits -Programming environments are improving -Computing in the cloud Compiler / run-time environments -Broadening of programming (Altera: OpenCL, Xilinx: Vivado) -Operating system management / virtual machine

Lecture 1: Course Introduction September 3, 2013 Course Software: Versatile Place and Route Performs FPGA placement and routing. Written in C Runs on Linux and PCs -We support execution on quark.ecs.umass.edu -Generally straightforward to install and use. Estimates device sizes and performance Very widely used in FPGA research community More advanced version of VPR are available. -Appropriate for use in course projects

Lecture 1: Course Introduction September 3, 2013 Ideas for the Course Project Evaluate an application using a microprocessor and an FPGA -Consider performance and power consumption Modify/update CAD algorithms associated with VPR Model modern FPGAs which include multiple dice. FPGA security: encryption, hardware obfuscation High-level compilation -Adapt and evaluate LegUp (high-level synthesis tool) -Use OpenCL compiler to target multiple platforms Topic must involve experimentation.

Lecture 1: Course Introduction September 3, 2013 Summary °Reconfigurable computing relies heavily on new VLSI technology °Device architectures have matured. New features constantly considered °Application development progressing at rapid pace °Integration of hardware and software a difficult challenge °FPGAs are a multi-billion dollar a year business Devices are much different now than 20 years ago °Active area of research at UMass.