ECE 506 Reconfigurable Computing

Required course: No

Course Level

Graduate

Course Description

In this class, we investigate the state-of-the-art in reconfigurable computing both from a hardware and software perspective; understand both how to architect reconfigurable systems and how to apply them to solving challenging computational problems. The purpose of this course is to prepare students for engaging in research on reconfigurable computing. Initially, we review in detail the basic building blocks of most reconfigurable computers. Characteristics of FPGA architecture such as the organization of device logic and interconnection resources are examined to quantify hardware limitations. These physical limitations are then contrasted with computer-aided design issues such as the selection of circuit component locations in devices (the placement problem) and subsequent circuit interconnection between components (the routing problem). We then focus on the architecture for existing multi-FPGA systems and on compilation techniques for mapping applications described in a hardware description language to reconfigurable hardware. We will explore the question of “What makes an application suitable for reconfigurable computing?” with case studies in bioinformatics, image processing, video Processing, cryptography, molecular dynamics and computational fluid dynamics. We evaluate the FPGA based application acceleration with the emerging multicore architectures from the perspectives of price/performance and performance/watt. Specific contemporary reconfigurable computing systems are examined to identify existing system limitations and to highlight opportunities for research in dynamic and partial configuration areas.

Enrollment Requirements

ECE 562 and ECE 574A

Course Texts

Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation, Scott Hauck, André DeHon, Morgan Kaufman, 2007.

Other reading material will be either presented in the class or available as online papers.

Schedule

150 minutes lecture per week

Assessment

  • Homework: 3-5 assignments
  • Project: 1 project
  • Exams: 1 midterm exam
  • Typical grading policy: 20% midterm, 50% project, 20% homework, 10% participation
Course Units
3
Core Designation
Typically Offered
Spring

ECE 503 Probability and Random Processes for Engineering Applications

Course Level

Graduate

Course Description

Probability, random variables, stochastic processes, correlation functions and spectra with applications to communications, control and computers.

Enrollment Requirements

An undergraduate course in probability

Course Texts

Papoulis, A., and S.U. Pillai. Probability, Random Variables and Stochastic Processes. 4th ed. McGraw-Hill, 2002. (Other editions acceptable.)

Course Units
3
Core Designation
Typically Offered
Fall
Available Online

ECE 501B Advanced Linear Systems Theory

Required course: No

Course Level

Graduate

Course Description

Mathematical fundamentals for analysis of linear systems. Maps and operators in finite and infinite dimensional linear vector spaces, metric spaces, and inner-product spaces. Introduction to representation theory. Eigensystems. Spectral theorems and singular value decomposition. Continuity, convergence and separability. Sturm-Louisville theory.

Enrollment Requirements

Graduate standing or permission of the instructor

Course Texts

  • Axler, Sheldon. Linear Algebra Done Right. 3rd ed. Springer, 2015.
  • Franks, L.E. Signal Theory. Revised ed. Dowden & Culver, 1981. (Provided)
  • Suggested: Solow, Daniel. How to Read and Do Proofs. 6th ed., John Wiley & Sons, 2014.

Schedule

150 minutes lecture per week

Assessment

  • Homework: 6 assignments
  • Project: 1 team project

     
Course Units
3
Core Designation
Typically Offered
Fall
Available Online
Contact Us
Contact Us
Loading...