EEL4930/5934 Reconfigurable Computing

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

EEL4930/5934 Reconfigurable Computing The state-of-the-art Reconfigurable Computing equipment available for this course is made possible by a generous.
ITCS 3181 Logic and Computer Systems
ITCS 3181 Logic and Computer Systems
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 Programming Using C++ Dr. Mohamed Khafagy.
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
EEL-4746 Microprocessor-based System Design Fall 2004 Semester Dr. Michael P. Frank.
Introduction to Programming Summer 2010 Akil M. Merchant.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
COMP Introduction to Programming Yi Hong May 13, 2015.
Introduction ENGIN 341 – Advanced Digital Design
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson.
Data Structure Dr. Mohamed Khafagy. Welcome to the course Data Structure Personal Web Site Course
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
Course Guide IS325 Systems Analysis & Design II Ms Fatima Khan Prince Sultan University, College for Women.
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.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: M Period 3, W Period 4 Subject to change.
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
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
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
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: 
Database Management Systems
Introduction to the FPGA and Labs
CSc 120 Introduction to Computer Programing II
Networking CS 3470, Section 1 Sarah Diesburg
EEL4712 Digital Design.
Welcome to CSE 502 Introduction.
Course Overview - Database Systems
Course Information EECS 2031 – Section A Fall 2017.
Networking CS 3470, Section 1 Sarah Diesburg
CS101 Computer Programming I
EEL4720/5721 Reconfigurable Computing
Welcome to GC311 Database Concepts
Computer Architecture Syllabus
EEL4720/5721 Reconfigurable Computing
Introduction to Reconfigurable Computing
Welcome to GC311 Database Concepts
Course Overview - Database Systems
EEL4930/5934 Reconfigurable Computing
EEL4712 Digital Design.
CS 6021 Advanced Computer Architecture
Andy Wang Object Oriented Programming in C++ COP 3330
EEL4712 Digital Design.
Introduction to Programming Using C++
Course Information EECS 2031 Fall 2016.
C Programming Lecture 1 : Introduction
Welcome to CSE 502 Introduction.
Human Media Multicore Computing Lecture 1 : Course Overview
CIS5930: Advanced Topics in Parallel and Distributed Systems
EEL4720/5721 Reconfigurable Computing
Human Media Multicore Computing Lecture 1 : Course Overview
Human Media Multicore Computing Lecture 1 : Course Overview
C Programming Lecture 1 : Introduction
Syllabus and Class Policies
Course Overview CSE5319/7319 Software Architecture and Design
Lecture 1 Class Overview
CS201 – Course Expectations
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 gstitt@ece.ufl.edu http://www.gstitt.ece.ufl.edu Office Hours: To be announced (Benton 323) Also, by appointment

Course Website 2 sites WebCT Vista/E-learning Email Policy 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 Topic subject to instructor approval 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

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