EEL4720/5721 - Reconfigurable Computing (Fall 2023)

Announcements

Overview

Fundamental concepts at advanced undergraduate level (EEL4720) and introductory graduate level (EEL5721) in reconfigurable computing based upon advanced technologies in field-programmable logic devices. Topics include general concepts, device architectures, design tools, metrics and kernels, system architectures, and application case studies.

Course Information

Lectures


Date Topic Slides/Reading Material
W, Aug 23 Course info, Intro to RC Slides
Overview Paper: Compton, Hauck Survey
Motivating FPGA Example: Scalable Window Generation for the Intel Broadwell+Arria 10 and High-Bandwidth FPGA Systems
Tutorial: Start reading "My VHDL Tutorial" under VHDL Resources.
F, Aug 25 VHDL: Introduction, Combinational Logic (2:1 Mux) Github tutorial for combinational logic
M, Aug 28 VHDL: Combinational Logic (mux, adder)
W, Aug 30 VHDL: Combinational Logic (adder, ALU, latches)
Adder, Cont. (start ~37:00)
ALU (stop ~40:00)
F, Sep 1 VHDL: Sequential Logic
Github tutorial for sequential logic
M, Sep 4 Holiday
W, Sep 6 VHDL: Sequential Logic, Cont.
VHDL: Testbench Intro
VHDL: Structural Architectures
Github tutorial for SystemVerilog testbenches (optional)
F, Sep 8 Guest Lecture: Verification
VHDL: Structural Architectures
Previous lecture on structural architecture (Start at 38:30) Github tutorial for structural architectures
M, Sep 11 VHDL: FSMs
Github tutorial for FSMs
W, Sep 13 VHDL: FSMDs
Github tutorial for FSMDs
FSMD example used in class
F, Sep 15 VHDL: FSM+Ds
Lab 1
Testbenches, Cont.
Github tutorial for FSMDs
FSMD example used in class
M, Sep 18 Device Tradeoffs Device tradeoff slides
Extra video
W, Sep 20 Device Tradeoffs, Cont.
FPGA Architectures
Architecture Slides
F, Sep 22 FPGA Architectures, Cont.
M, Sep 25 Lab 2
FPGA Architectures, Cont.
W, Sep 27 Lab 2, Cont.
F, Sep 29 Optimization Problems Slides
M, Oct 2 Optimization Problems, Cont.
RTL Synthesis, Placement, and Routing
Synthesis, placement, and routng slides
Papers: Placement/Routing, Pathfinder, Versatile Place+Route (VPR)
W, Oct 4 RTL Synthesis, Placement, and Routing, Cont.
F, Oct 6 (No class) Pipelining, Parallelism, Systolic Arrays Pipelining Slides
Watch the following videos:
Video 1 (from 5:40 on)
Video 2 (from beginning to 26:00 for midterm)
M, Oct 9 Midterm Review
Lab 3
W, Oct 11 Midterm 1
F, Oct 13 Lab 3
M, Oct 16 Lab 3, Cont.
Pipelining, Cont.
W, Oct 18 Midterm 1 Solution
VHDL: for-generate
Misc VHDL
For-generate example
For-generate Lecture Video (Watch from 37:31 on)
Structural delay example
Behavioral delay example
Delay Lecture Video 1 (Watch from 11:35 on)
Delay Lecture Video 2 (Watch from beginning to 19:50)
F, Oct 20 High-level Synthesis High-level Synthesis Slides
Video 1 (Watch from 32:00 on)
Video 2
M, Oct 23 High-level Synthesis, Cont. Video
W, Oct 25 Lab 4
F, Oct 27 High-level Synthesis, Cont.
M, Oct 30 High-level Synthesis, Cont.
W, Nov 1 Metastability, Clock-Domain Crossing Papers
Basics of setup and hold time
F, Nov 3 Metastability, Clock-Domain Crossing, Cont.
M, Nov 6 Lab 5
W, Nov 8 FIFOs, buffers Buffering Slides
Paper 1
Paper 2
Sliding-Window Paper
Sliding-Window Paper on Broadwell+Arria10
F, Nov 10 Holiday
M, Nov 13 FIFOs, buffers, cont.
W, Nov 15 Final Project Overview
F, Nov 17 No Class
Final Project Overview
Final Project (Overview) (starts at 27:40)
Final Project (pipeline, user_app)
Final Project (signal/kernel buffers)
Final Project (dram_rd)
Final Project (dram_wr)
M, November 20 Timing Optimization: background, common strategies Timing optimization background video
Timing optimization strategies video
Github repo for timing optimization (includes slides)
W, November 22 Holiday
F, November 24 Holiday
M, November 27 No class (finish timing optimization videos)
W, November 29 Special topics: scalable design strategies, misc verification Absorption FIFOs
SystemVerilog Testbenches
F, December 1 Special topics: assertion properties, sequences, implication See assertions section of SV testbench tutorial
M, December 4 Special topics: coverage, constrained-random verification, UVM
Q&A
See testbench section of SV tutorial

VHDL and RTL Resources