18-643 Course Schedule, Fall 2019

  • Lecture notes are posted within 24 hours after the lecture; you may find it useful to preview lecture notes from Fall 2017 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 4 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/27 L1 Introduction 1st-Half Kick Off: [Trimberger15] Lab 0: Warm-Up
8/29 L2 FPGA Basics RC Ch 1
(skim RC Ch 4,13,14)
2 9/3 L3 FPGA Less Basic
9/5 L4 Modern FPGAs ZB Ch 2
(skim ZB Ch 3,10; [Ahmed16], [Versal])
3 9/10 L5 Design Metrics read H&P chapter on performance if you haven't Lab 1: Vivado SoC
9/12 L6 Hard vs Soft Logic (skim [Kuon06][Papamichael12][Chung10])
4 9/17 L7 Structural RTL HDL Compiler for Verilog Reference Manual;
Vivado Design Suite User Guide: Synthesis (UG901)
9/19 L8 Abstract Models (skim RC Ch 5,8,9,10)
5 9/24 L9 C-to-HW RC Ch 7; [Edwards05]
(skim IEEE Design & Test of Computers, Issue 4, 2009)
Lab 2: Vivado HLS
9/26 L10 Vivado HLS ZB Ch 15;
Vivado Design Suite User Guide: High-Level Synthesis (UG902)
6 10/1 L11 Altera OpenCL (skim [Aydonat17] and
Altera SDK for OpenCL: Programming Guide)
10/3 L12 Memory Architecture (skim [Brewer10], [Choi18])
7 10/8 L13 Memory Techniques [Kung86] [Williams09] Lab 3: HW Accelerate
10/10 L14 Dynamic Partial Reconfiguration ZB Ch 5.6
8 10/15 Midterm 1 2nd-Half Kick Off: [Tessier15] (skim [DeHon15])
10/17 L15 Guest: Eriko Nurvitadhi (Intel). AI and Big Data [Nurvitadhi19]
9 10/22 Term Project Proposal Student Presentations
10/24 Term Project Proposal Student Presentations
10 10/29 L16 FPGAs in Datacenter [Caulfield16] [Shu19]
10/31 L17 OS/runtime [Khawaja18] [Eskhandari19]
11 11/5 L18 CGRA and Overlay [Xilinx19] [Abdelfattah18]
11/7 L19 Network Acceleration [Li16] [Firestone18]
12 11/12 L20 Accelerator Landscape
Guest: Derek Chiou (Microsoft). ASIC vs FPGA
[Tan19] [Nurvitadhi19]
11/14 L21 DSL
Guest: Suchit Subhaschandra (Megh). Streaming Analytic
[Hagerty16] [Prabhakar17]
13 11/19 L22 Embedded [Lin18] [Chen16]
11/21 L23 Machine Learning
Guest: Eric Chung (Microsoft). Brainwave
[Fowers18] [Jouppi17]
14 11/26 L24 High Level Synthesis [Lai19] [Josipovic18]
11/28 Thanksgiving
15 12/3 Term Project Student Presentations
12/5 Term Project Student Presentations