EEL4930/5934 Reconfigurable Computing The state-of-the-art Reconfigurable Computing equipment available for this course is made possible by a generous.

Slides:



Advertisements
Similar presentations
EEL4720/5721 Reconfigurable Computing The state-of-the-art Reconfigurable Computing equipment available for this course is made possible by a generous.
Advertisements

Device Tradeoffs Greg Stitt ECE Department University of Florida.
ITCS 3181 Logic and Computer Systems
ITCS 3181 Logic and Computer Systems
Intro to CIT 594
Course Introduction ENTC 210: Circuit Analysis I Rohit Singhal Lecturer Texas A&M University.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
WEEK 1 CS 361: ADVANCED DATA STRUCTURES AND ALGORITHMS Dong Si Dept. of Computer Science 1.
EEL-4746 Microprocessor-based System Design Fall 2004 Semester Dr. Michael P. Frank.
Introduction to Programming Summer 2010 Akil M. Merchant.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Data Structure Dr. Mohamed Khafagy. Welcome to the course Data Structure Personal Web Site Course
SE 2030 Software Engineering Tools and Practices SE 2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
CGS-2531 Problem Solving with Computer Software Course home page: Course.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: M Period 3, W Period 4 Subject to change.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
EEL4720/5721 Reconfigurable Computing Greg Stitt Associate Professor.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
SE-2030 Software Engineering Tools and Practices SE-2030 Dr. Mark L. Hornick 1.
Intro to CIT 594
1 Data Structures COP 4530 Spring 2010 MW 4:35 PM – 5:50 PM CHE 101 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB
C Programming Lecture 1 : Introduction Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
CDA 4253 FPGA System Design Hao Zheng Dept of Comp Sci & Eng USF.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Computer Networks CNT5106C
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
CE-2810 Dr. Mark L. Hornick 1 CE-2810 Embedded Systems Software 2 Dr. Mark L. Hornick web: people.msoe.edu/~hornick webCT: webct.msoe.edu.
Dr. Ying Lu ylu at cse.unl.edu Schorr Center Aug 22, CSCE 351 Operating System Kernels.
Course Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Course Information EECS 2031 Fall Instructor Uyen Trang (U.T.) Nguyen Office: LAS Office hours: 
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Networking CS 3470, Section 1 Sarah Diesburg
EEL4712 Digital Design.
Andy Wang Object Oriented Programming in C++ COP 3330
Course Information EECS 2031 – Section A Fall 2017.
Networking CS 3470, Section 1 Sarah Diesburg
EEL4720/5721 Reconfigurable Computing
EEL4720/5721 Reconfigurable Computing
Introduction to Reconfigurable Computing
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
EEL4930/5934 Reconfigurable Computing
EEL4712 Digital Design.
Andy Wang Object Oriented Programming in C++ COP 3330
EEL4712 Digital Design.
Greg Stitt ECE Department University of Florida
Course Information EECS 2031 Fall 2016.
C Programming Lecture 1 : Introduction
EEL4720/5721 Reconfigurable Computing
C Programming Lecture 1 : Introduction
Lecture 1 Class Overview
CS201 – Course Expectations
CS 474/674 – Image Processing Fall Prof. Bebis.
EEL4930/5934 Reconfigurable Computing
CPE 626 Advanced VLSI Design, Spring 2002 Admin
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 Office Hours 3-4 M,W (Benton 323) Also, by appointment Dr. Herman Lam Larsen 225

Course Website 2 sites Linked off my website WebCT Vista/E-learning Select e-learning Login with GatorLink account Used for posting grades, class discussions Policy When sending an , include the class name in brackets e.g. [EEL5932] Question about project 2 For s to entire class, use e-learning Announcements will be posted both on class website and e-learning site

Grading EEL4930/5934 Grading: Mid-term 1: 20% (Wednesday, October 3) Mid-term 2: 20% (Wednesday, October 31) Final exam: 20% Labs/Homework: 10% Project: 30% Final grade: curved average of all components 5934 will have different tests, homeworks, and project

Lab Assignments Linked off main website and e-learning Intended to familiarize with FPGA boards, VHDL Initials 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: Supplemented by research papers Check class website for daily requirements Will also post slides when used Optional books also listed in syllabus

Prerequisites Digital design Architecture Controller/Datapath Memory Heirarchy 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 Project/Research Paper Publish! Best submissions will be submitted

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

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 Processor … Bits loaded into program memory Microprocessor Binaries b a c x y FPGA Binaries (Bitfile) Processor FPGA 0010 … Bits loaded into CLBs, SMs, etc.

Why is RC important? Tremendous performance advantages Implements applications as custom circuit In some cases, > 100x faster than microprocessor Alternatively, similar performances as large cluster But much smaller Example: Software executes sequentially RC executes all multiplications in parallel Additions become tree of adders Even with slower clock, RC is 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]

When should RC be used? When it provides the cheapest solution Generally, depends on volume of devices Total cost = NRE + Volume*unit_cost NRE: non-recurring engineering cost One-time cost involved in creating design Volume: expected units to be sold Unit cost: cost of each individual unit RC is typically more cost effective for low volume devices RC: low NRE, high unit cost ASIC: very high NRE, low unit cost

When should RC be used? When circuit may have to be modified Can’t change ASIC - hardware Can change circuit implemented in FPGA Uses When standards change Codec changes after devices fabricated Allows addition of new features to existing devices “Partial reconfiguration” allows virtual fabric size - analagous to virtual memory Without RC Anything that may have to be reconfigured is implemented in software Performance loss

RC Markets Embedded Systems RC achieves performance close to ASIC, sometimes at much lower cost Many embedded systems still use ASIC due to high volume Reconfigurablilty! If standards changes, architecture is not fixed Can add new features after production

RC Markets High-performance computing - HPC Cray XD-1 12 AMD Opterons, FPGAs SGI Altix 64 Itaniums, FPGAs IBM Chameleon Cell processor, FPGAs

RC Markets General-purpose computing??? Ideal situation: desktop machine/OS uses RC to speedup up all applications Problems RC can be very fast, but not for all applications Generally requires parallel algorithms Coding constructs used in many applications not appropriate for hardware Subject of tremendous amount of past and likely future research

CHREC NSF Center for High-Performance Reconfigurable Computing