Introduction to Reconfigurable Computing (EEL4930/5934) - Course Overview and Resources
150 likes | 281 Vues
This course, EEL4930/5934, provides an in-depth study of Reconfigurable Computing (RC) architectures and methodologies. Supported by grants and donations, students will gain hands-on experience with FPGA boards and VHDL through practical labs and projects. Instruction will include two midterms, lab assignments, and a group research project, with emphasis on understanding RC's advantages and design strategies. Prerequisites include knowledge of digital design and computer architecture. Contact Dr. Greg Stitt for more details.
Introduction to Reconfigurable Computing (EEL4930/5934) - Course Overview and Resources
E N D
Presentation Transcript
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 • gstitt@ece.ufl.edu • http://www.gstitt.ece.ufl.edu • Office Hours: To be announced • (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 2-3 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 • C. Maxfield • ISBN: 978-0750677045 • Supplemented by research papers • 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) • Architectures • Tools • Design methodologies • Speedup analysis • Etc. • Detailed investigation of a specific problem • Research project • Publish! • Best projects will be submitted to conferences
Academic Dishonesty • Unless told otherwise, labs and homework assignments must be done individually • All assignments will be checked for cheating • Groups must obtain permission to use larger size • May be allowed for difficult projects • Collaboration is allowed (and encouraged), but within limits • 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
a b 001010010 001010010 x c y Processor Processor FPGA Processor 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” • RC devices are programmable by downloading bits - just like software Microprocessor Binaries FPGA Binaries (Bitfile) Bits loaded into program memory Bits loaded into CLBs, SMs, etc. 0010 … 0010 …
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 • 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 for (i=0; i < 16; i++) y += c[i] * x[i]
Reminder • Lab 0 - ISE Tutorial • Read RC survey linked off website