Download presentation
Presentation is loading. Please wait.
Published byDaniella Barrett Modified over 9 years ago
1
Lecture 1: Course Introduction September 8, 2004 ECE 697F Reconfigurable Computing Lecture 1 Course Introduction Prof. Russell Tessier
2
Lecture 1: Course Introduction September 8, 2004 What is Reconfigurable Computing? Computation using hardware that can adapt at the logic level to solve specific problems °Why is this interesting? Some applications are poorly suited to microprocessor. VLSI “explosion” provides increasing resources. Hardware/Software Relatively new research area. °Acknowledgement: Wolf text
3
Lecture 1: Course Introduction September 8, 2004 Background needed Basic VLSI – transistors, delay models. Basic algorithms – graph algorithms, seaches Computer Architecture – ALU, microprocessor Digital Design – adder, counter, etc. Topic self-contained!
4
Lecture 1: Course Introduction September 8, 2004 Course Organization Two lecture a week (about 27 overall) 3 Homework assignments (20%) Final project (35%) Transcription assignment (20%) Mid-term (25%) Required text – FPGA-based System Design (Wolf)
5
Lecture 1: Course Introduction September 8, 2004 Microprocessor-based Systems Generalized to perform many functions well. Operates on fixed data sizes. Inherently sequential. Data Storage (Register File) ALU ABC 64
6
Lecture 1: Course Introduction September 8, 2004 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; }
7
Lecture 1: Course Introduction September 8, 2004 Example: Bubblesort Adapt interconnect to problem. Take advantage of parallelism. AB HL AB HL AB HL AB HL AB HL SmallestLargest
8
Lecture 1: Course Introduction September 8, 2004 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 What does it look like?
9
Lecture 1: Course Introduction September 8, 2004 Moore’s Law °Gordon Moore: co-founder of Intel. °Predicted that number of transistors per chip would grow exponentially (double every 18 months). °Exponential improvement in technology is a natural trend: steam engines, dynamos, automobiles.
10
Lecture 1: Course Introduction September 8, 2004 Moore’s Law plot
11
Lecture 1: Course Introduction September 8, 2004 The cost of fabrication °Current cost: $2-3 billion. °Typical fab line occupies about 1 city block, employs a few hundred people. °New fabrication processes require 6-8 month turnaround. °Most profitable period is first 18 months-2 years.
12
Lecture 1: Course Introduction September 8, 2004 Reconfigurable Hardware Each logic element operates on four one-bit inputs. Output is one data bit. Can perform any boolean function of four inputs 2 = 64K functions! Logic Element A B C D Out A B C D = out 2 4
13
Lecture 1: Course Introduction September 8, 2004 Field-Programmable Gate Array Each logic element outputs one data bit. Interconnect programmable between elements. Interconnect tracks grouped into channels. LE Logic Element Tracks
14
Lecture 1: Course Introduction September 8, 2004 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
15
Lecture 1: Course Introduction September 8, 2004 Real World Physical Issues Modelling FPGA delay. Improving performance through buffering/segmentation. Technology dependent. The cost of reconfigurability. SS Wires have real cost
16
Lecture 1: Course Introduction September 8, 2004 Translating a Design to an FPGA CAD to translate circuit from text description to physical implementation well understood. CAD to translate from C program to circuit not well understood. Very difficult for application designers to successfully write high- performance applications C program. C = A+B. Circuit A B +C Array Need for design automation!
17
Lecture 1: Course Introduction September 8, 2004 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. C = A+B AB + C for (i = 0; i<n, i++) {. }
18
Lecture 1: Course Introduction September 8, 2004 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 functioncost
19
Lecture 1: Course Introduction September 8, 2004 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.
20
Lecture 1: Course Introduction September 8, 2004 Two Bit Adder 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
21
Lecture 1: Course Introduction September 8, 2004 FPGA design °FPGA manufacturer creates an FPGA fabric; system designer uses the fabric. °FPGA fabric design issues: Study sample user designs. Select interconnect topology. Create logic element structures. Design circuits, layout.
22
Lecture 1: Course Introduction September 8, 2004 Why do we care about layout? °We won’t design layout. °Layout determines: Logic delay. Interconnect delay. Energy consumption. °We want to understand sources of FPGA characteristics.
23
Lecture 1: Course Introduction September 8, 2004 Design validation °Must check at every step that errors haven’t been introduced-the longer an error remains, the more expensive it becomes to remove it. °Forward checking: compare results of less- and more-abstract stages. °Back annotation: copy performance numbers to earlier stages.
24
Lecture 1: Course Introduction September 8, 2004 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”
25
Lecture 1: Course Introduction September 8, 2004 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
26
Lecture 1: Course Introduction September 8, 2004 Multi-FPGA Systems 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
27
Lecture 1: Course Introduction September 8, 2004 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
28
Lecture 1: Course Introduction September 8, 2004 Research Areas Storing configuration info inside device. Architecture evaluation. -Size and performance tradeoff. Layout of a new logic element. Algorithm for place and route. Apply an application to FPGA logic.
29
Lecture 1: Course Introduction September 8, 2004 Versatile Place and Route Written by Vaughn Betz at the University of Toronto Performs FPGA placement and routing. Written in C Runs on Suns, Alphas, Linux Estimates device sizes and performance.
30
Lecture 1: Course Introduction September 8, 2004 Xilinx XC4000 Cell 2 4-input look-up tables 1 3-input look-up table 2 D flip flops
31
Lecture 1: Course Introduction September 8, 2004 Xilinx XC4000 Routing 25
32
Lecture 1: Course Introduction September 8, 2004 Altera Flex10K
33
Lecture 1: Course Introduction September 8, 2004 Altera Flex10K
34
Lecture 1: Course Introduction September 8, 2004 Xilinx Virtex-II Pro
35
Lecture 1: Course Introduction September 8, 2004 Altera Stratix
36
Lecture 1: Course Introduction September 8, 2004 Xilinx Virtex CLB
37
Lecture 1: Course Introduction September 8, 2004 Embedded RAM °Xilinx – Block SelectRAM 18Kb dual-port RAM arranged in columns °Altera – TriMatrix Dual-Port RAM M512 – 512 x 1 M4K – 4096 x 1 M-RAM – 64K x 8
38
Lecture 1: Course Introduction September 8, 2004 Xilinx: Embedded Multipliers
39
Lecture 1: Course Introduction September 8, 2004 Summary °Reconfigurable computing relies heavily on new VLSI technology °Device architectures maturing °Application development progressing at rapid pace °Integration of hardware and software a difficult challenge °Active area of research at UMass.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.