Lecture 41: Introduction to Reconfigurable Computing

Slides:



Advertisements
Similar presentations
Field Programmable Gate Array
Advertisements

FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Comparison of Altera NIOS II Processor with Analog Device’s TigerSHARC
ECE 506 Reconfigurable Computing ece. arizona
A Survey of Logic Block Architectures For Digital Signal Processing Applications.
Programmable Logic Devices
EECE579: Digital Design Flows
Introduction to Reconfigurable Computing CS61c sp06 Lecture (5/5/06) Hayden So.
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Programmable logic and FPGA
XC6200 Family FPGAs By: Ahmad Alsolaim Alsolaim.
CS294-6 Reconfigurable Computing Day 2 August 27, 1998 FPGA Introduction.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
General FPGA Architecture Field Programmable Gate Array.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
EE4OI4 Engineering Design Programmable Logic Technology.
Power Reduction for FPGA using Multiple Vdd/Vth
A comprehensive method for the evaluation of the sensitivity to SEUs of FPGA-based applications A comprehensive method for the evaluation of the sensitivity.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
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.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Basic Sequential Components CT101 – Computing Systems Organization.
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.
EE3A1 Computer Hardware and Digital Design
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
CEC 220 Digital Circuit Design Programmable Logic Devices
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
FPGA Technology Overview Carl Lebsack * Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang.
Introduction to the FPGA and Labs
Field Programmable Gate Arrays
Introduction to Programmable Logic Devices
Issues in FPGA Technologies
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
Memories.
Reconfigurable Architectures
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Design for Embedded Image Processing on FPGAs
Introduction to Programmable Logic
Give qualifications of instructors: DAP
Head-to-Head Xilinx Virtex-II Pro Altera Stratix 1.5v 130nm copper
ECE 4110–5110 Digital System Design
Instructor: Dr. Phillip Jones
From Silicon to Microelectronics Yahya Lakys EE & CE 200 Fall 2014
Electronics for Physicists
FPGAs in AWS and First Use Cases, Kees Vissers
UCSD ECE 111 Prof. Farinaz Koushanfar Fall 2017
ELEN 468 Advanced Logic Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
XC4000E Series Xilinx XC4000 Series Architecture 8/98
The architecture of PAL16R8
Electronics for Physicists
"Computer Design" by Sunggu Lee
Exploring Application Specific Programmable Logic Devices
Programmable logic and FPGA
Lecture 10: Sequential Blocks Arrays
Presentation transcript:

Lecture 41: Introduction to Reconfigurable Computing inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 41: Introduction to Reconfigurable Computing Michael Le, Sp07 Head TA April 30, 2007 Slides Courtesy of Hayden So, Sp06 CS61c Head TA

Following the tech news tradition… NeuroSky of San Jose, CA aims to add more realistic elements to video games by using brain wave-reading technology to help game developers make gaming more realistic. http://news.yahoo.com/s/ap/20070430/ap_on_hi_te/mind_reading_toys

Outline Computing… What does it mean? Processor vs ASIC FPGA-based Reconfigurable Computing Real stuff

Back to basics… What does the word “computer” mean to you? Your $700 box sitting under your desk at home? The $2000 laptop you are using to check email right now? The 5-stage pipeline processor?

Informal Definition A computer is a machine that computes add, subtract, logical operations, decisions What have we learned about computing in this semester?

Calculating Class Grades* grade = 0.1  mt1 + 0.2  mt2 +0.3  hw + 0.4  proj; grade = 0; tmp = 0.1  mt1; grade = grade + tmp; tmp = 0.2  mt2; tmp = 0.3  hw; tmp = 0.4  proj; Time *This is not how we are going to calculate your grades

Computing Final Grade (2) 0.1 mt1 0.2 mt2 0.3 hw 0.4 proj × Time + + grade SPACE

2 Ways to Compute × + × + × + Processor (CS61C) TIME 2 Ways to Compute × 0.1 mt1 tmp grade clock cycle 1 + 0.2 mt2 tmp grade clock cycle 2 × 0.2 mt2 tmp grade clock cycle 3 + 0.4 proj tmp grade clock cycle n Processor (CS61C) Application Specific Integrated Circuit ASIC (EE141) × +

Processor vs ASIC Temporal Computing Spatial Computing Take longer to compute slow Flexible Need instructions to determine what to do on each cycle Space is bounded Take shorter time to compute fast Not Flexible No instruction Same calculation every cycle Space unbounded Branches? Temporal Computing Spatial Computing

Visualizing Spatial Computing Actual computation AMD Opteron 64-bit processor 1MB L2 Cache 193 mm sq 0.18 micron CMOS 89W @ 1.8GHz ~3 Op / cycle (int op) Full Custom ASIC 4x4 Single Value Decomposition 3.5 mm sq 90nm CMOS 34mW @ 100 MHz clock 70 GOPS = 700 Op / cycle

Between Temporal & Spatial Computing ASIC Single Processor ? Temporal Spatial Reconfigurable Computing Slow Flexible Fast Inflexible

Reconfigurable Computing No standard definition “Computing via a post-fabrication and spatially programmed connection of processing elements.” -John Wawrzynek Sp04 A computer that can RE-configure itself to perform computation spatially as needed How often do we RE-configure? Coarse-grain? Fine-grain? Example: FPGA

Introduction to the FPGA Field Programmable Gate Array Began as ASIC replacements ASIC that can be configured “in the field” At power up, configuration is loaded onto the chip Chip acts as an ASIC until power down Modern FPGA more like computers Exploit dynamic, partial reconfiguration Embedded processors Xilinx, Altera are 2 major market leaders

The LUT LUT: Lookup Table A direct implementation of a truth table Recall a TT uniquely defines a circuit An n-LUT implements any n-input combinational logic Depends on LUT configuration A B C D Q 0 0 0 0 0 0 0 0 1 0 … 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0

Making a 2-LUT from Truth Table OR 1 TRUE FALSE AND NAND 0 0 0 1 1 1 A B 0 0 0 1 1 0 1 1 16 possible ways 4 configuration bits

2-LUT: CL and MUX Based cfg3 cfg2 cfg1 cfg0 A B Q 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 cfg0 cfg1 cfg2 cfg3 B A Q

LUTs in Real Life 3-LUT and 4-LUT are most common SRAM based Learn, and use, them a lot in CS150

Sequential logic Connecting multiple LUTs gives us ANY combinational logic we want to implement We need Flip-Flop to build sequential circuits FF are so important that they are included natively on FPGAs next to each LUT LUT + FF + … = LB (Logic Block) clk CL

Logic Block Can build any 4-input circuit 1 LUT FF D3 D2 D1 D0 LUTCFG CLK MUXCFG OUT Can build any 4-input circuit Synchronous OR Asynchronous Combining Logic Blocks => ANY synchronous digital circuit How to we build bigger circuit?

Routing of FPGA LB With enough smartness in placement and routing, we can implement any synchronous digital circuits!

Example: Xilinx Virtex2pro xc2vp70 74,448 Logic Cells (LB) 2 PowerPC cores 328 18x18 bits multipliers 5904 Kbytes on chip memory 8 Digital Clock Managers 996 I/O pins 16 high speed serial I/O ports

Entire Chip is for Computation Die Photo of a FPGA Entire Chip is for Computation Spartan-3 90nm CMOS

Real Stuff: BEE2 Developed at Berkeley 5 Xilinx xc2vp70 Berkeley Wireless Research Center 5 Xilinx xc2vp70 40Gbytes DDR2 memory Used for research in: Wireless Astro-Physics (SETI) Bioinformatics Speech Recognition

Conclusion The Processor is NOT the only way to do computation Reconfigurable computers allows different tradeoffs among speed, flexibility, cost, power, etc FPGA offers fine-grain reconfigurability