EEL4930/5934 Reconfigurable Computing

Download Report

Transcript EEL4930/5934 Reconfigurable Computing

EEL4930/5934
Reconfigurable Computing
The state-of-the-art Reconfigurable Computing equipment
available for this course is made possible by a generous grant
from the Rockwell Collins Growth Relationship Grant
Program and an equipment/software donation from Nallatech.
Instructors

Dr. Greg Stitt



[email protected]
http://www.gstitt.ece.ufl.edu
Office Hours: MW 10am-11am


(Benton 323)
Also, by appointment
Course Website

2 sites

http://www.gstitt.ece.ufl.edu/courses/eel4930_5934/
 Linked off my website

WebCT Vista/E-learning

http://lss.at.ufl.edu/




Select e-learning
Login with GatorLink account
Used for posting grades, turning in projects
Email Policy
 When sending an email, include the class name in
brackets

e.g. [EEL5934] Question about project 2
Grading

EEL4930/5934 Grading:






Mid-term 1: 30% (Dates to be announced)
Mid-term 2: 30%
Labs/Homework: 10%
Project: 30%
Final grade: curved average of all components
5934 may possibly have different tests and project
Lab Assignments

Linked off main website



http://www.gstitt.ece.ufl.edu/courses/eel4930_5934/labs/
Intended to familiarize with FPGA
boards, VHDL
Initial labs will be individual

Will allow groups when using boards
Research Project

Groups

Size to be determined based on enrollment


Likely 3-4 per group
Topic subject to instructor approval


Will give examples
Good idea - find algorithm in your area, use RC to
improve performance


Imaging processing, bioinformatics, CAD, etc.
If interested in research, make an appointment
with me

Will try to find a project that will helps towards degree
Reading Material

Textbook: The Design Warrior’s Guide
to FPGAs



Supplemented by research papers



C. Maxfield
ISBN: 978-0750677045
Check class website for daily requirements
Will also post slides when used
Optional books also listed in syllabus
Prerequisites

You should be familiar with:


Digital design
Architecture





Controller+Datapath
Memory Hierarchy
Pipelining
More listed in syllabus
Assumes no knowledge of
reconfigurable computing
Goals

Understanding of issues related to RC
(reconfigurable computing)






Detailed investigation of a specific problem


Architectures
Tools
Design methodologies
Speedup analysis
Etc.
Research project
Publish!

Outstanding projects will be submitted to
conferences
Academic Dishonesty

Unless told otherwise, labs and homework
assignments must be done individually


Groups must obtain permission to use larger size


May be allowed for difficult projects
Collaboration is allowed (and encouraged), but within
limits



All assignments will be checked for cheating
Can discuss problems, how to use tools etc.
Cannot show code, solutions, etc.
Cheating penalties


First instance - 0 on corresponding assignment
Second - 0 for entire class
Attendance Policy


Attendance is optional, but highly
recommended
If you are sick, stay at home!


If obviously sick, you will be asked to leave
Missed tests cannot be retaken, except
with doctor’s note
What is Reconfigurable Computing?

Reconfigurable computing (RC) is the
study of architectures that can adapt
(after fabrication) to a specific
application or application domain

Involves architecture, design strategies,
tool flows, CAD, languages, algorithms
What is Reconfigurable Computing?
Alternatively, RC is a way of implementing circuits
without fabricating a device



Essentially allows circuits to be implemented as “software”
“circuits” are no longer the same thing as “hardware”

Microprocessor
Binaries
RC devices are programmable by downloading bits - just like
software
a
b
001010010
FPGA Binaries
(Bitfile)
001010010
Bits
loaded
into
program
memory
0010
…
Processor
Processor
Bits
loaded
into
CLBs,
SMs, etc.
0010
…
FPGA
Processor
x
c
y
Why is RC important?

Tremendous performance advantages


In some cases, > 100x faster than microprocessor
Alternatively, similar performances as large cluster


But smaller, lower power, cheaper, etc.
Example:


Software executes sequentially
RC executes all multiplications in parallel



for (i=0; i < 16; i++)
y += c[i] * x[i]
Additions become tree of adders
Even with slower clock, RC is likely much faster
Performance difference even greater for larger input
sizes


SW time increases linearly
RC time is basically O(log2(n)) - If enough area is available
Reminder


Lab 0 - ISE Tutorial
Read RC survey linked off website