18-643 Course Schedule, Fall 2020 (**Not Most Recent**)

  • Lecture notes are posted within 24 hours after the lecture; you may find it useful to preview lecture notes from Fall 2019 before class.
  • Reading assignments are to be completed BEFORE coming to class.
    • RC=Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation by Scott Hauck and Andre DeHon.
    • ZB=The Zynq Book by Louise H. Crockett, et al.
    • “skim” are recommended supplemental materials. You should read them with as much interest as you have. Read enough to know what is all covered so you can come back to a reading if you develop more interest later.
  • There are 5 two-week-long do-at-home labs in the first half of the semester. There is a single project for the second half of the semester.
  • Please note the attendance-mandatory dates for the midterm and in-class project presentations. Audience of overflow presentations on Wednesdays (if necessary) is not required.
  • Go to Canvas (Important: students on waitlist should email instructor for access to Canvas)
  • Go to Piazza

Schedule and Lecture Notes

Week Date L# Topic Readings Lab
1 8/31 L1 Introduction 1st-Half Kick Off: [Trimberger15] Lab 0: Warm-Up
9/2 L2 FPGA Basics RC Ch 1
(skim RC Ch 4,13,14)
2 9/7 Labor Day; No Classes
9/9 L3 FPGA Less Basic
3 9/14 L4 Modern FPGAs ZB Ch 2
(skim ZB Ch 3,10; [Ahmed16], [Versal])
Lab 1: FPGA SoC
9/16 L5 Design Metrics read H&P chapter on performance if you haven't
4 9/21 L6 Hard vs Soft Logic (skim [Kuon06][Papamichael12][Chung10])
9/23 L7 Structural RTL HDL Compiler for Verilog Reference Manual;
Vivado Design Suite User Guide: Synthesis (UG901)
5 9/28 L8 Abstract Models (skim RC Ch 5,8,9,10) Lab 2: IP HLS
9/30 L9 C-to-HW RC Ch 7; [Edwards05]
(skim IEEE Design & Test of Computers, Issue 4, 2009)
6 10/5 L10 Vivado HLS ZB Ch 15;
Vivado Design Suite User Guide: High-Level Synthesis (UG902)
10/7 L11 Intel OpenCL Intel SDK for OpenCL: Best Practices Guide
7 10/12 L12 Memory Architecture (skim [Brewer10]) Lab 3: HW Acceleration
10/14 L13 Memory Techniques [Kung86] [Williams09]
8 10/19 L14 Dynamic Partial Reconfiguration ZB Ch 5.6
10/21 L15 FPGA “Architecture”
9 10/26 L16 Service-Oriented Memory Architecture
Guest Speaker: Joe Melber (CMU)
Lab 4: HPC HLS
10/28 Midterm 1 2nd-Half Kick Off: [Tessier15] (skim [DeHon15])
10 11/2 Term Project Proposal Student Presentations
11/3 Term Project Proposal Student Presentations
11 11/9 L17 FPGAs in Datacenter [Caulfield16] [Shu19]
11/11 L18 Security [Zhang19] [Ramesh18]
12 11/16 L19 Network Acceleration
Guest Speaker: Zhipeng Zhao (CMU)
[Firestone18] [Zhao20]
11/18 L20 Machine Learning
Guest Speaker: Gabe Weisz
[Fowers18] [Jouppi17]
13 11/23 L21 High Level Synthesis [Lai19] [Josipovic18]
11/25 Thanksgiving
14 11/30 L22 DSL [Wang17] [Chen18]
12/2 L23 Overlay [Abdelfattah18] [Taras19]
15 12/7 L24 Accelerator Landscape
Guest Speaker: Eriko Nurvitadhi (Intel)
[Tan19] [Nurvitadhi19]
12/9 L25 OS [Korolija21] [Vaishnav20]
16 12/14~
12/18
Term Project Student Presentations
(20 minutes scheduled slots)