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 the Course Home Page
- 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) |