ENGR315.github.io

Welcome to ENGR 315

Spring 2022

Description

Welcome to E315!

This course provides an introduction to hardware/software interaction and using hardware to accelerate software-based applications. A more detailed description can be found in the syllabus.

Syllabus

Lecture Slides

Other Downloads

Autograder

Canvas (Registered students only)

Zoom

Remote Setup

Pynq Network Setup

Projects

P1 - Circles

P2 - EMA

Course Schedule

This is the tentative schedule for this semester.

Date Day Number Lecture Topic Project Topic
1/11 Tuesday 00 Introduction  
1/13 Thursday 01 Performance Profiling P1 Circles (Py)
1/18 Tuesday 02 C Interfacing  
1/20 Thursday 03 Intro to Buses P2 Exp Mov Avg (V)
1/25 Tuesday 04 Partitioning  
1/27 Thursday 05 Interfaces P2 Exp Mov Ava (V)
2/01 Tuesday 06 On-Chip Buses I  
2/03 Thursday 06 Memory-Mapped I/O P3 MMIO Popcount (V)
2/08 Tuesday 07 On-Chip Buses II  
2/10 Thursday 08 Direct Memory Access I P3 MMIO Popcount (V)
2/15 Tuesday 09 Direct Memory Access II  
2/17 Thursday 10 Direct Memory Access III P4 DMA Popcount (V)
2/22 Tuesday 11 Direct Memory Access IV  
2/24 Thursday 12 Memory Management I P5 Linux MMIO (C)
3/01 Tuesday 13 Memory management II  
3/03 Thursday 14 C / Linux Interfacing I P6 Linux DMA (C)
3/08 Tuesday 15 C / Linux Interfacing II  
3/10 Thursday 16 C / Linux Interfacing III P7 Dot (V)
3/15 Tuesday SPRING BREAK  
3/17 Thursday SPRING BREAK P7 Dot (V)
3/22 Tuesday 17 Review  
3/24 Thursday 18 Exam P7 Dot (V)
3/29 Tuesday 19 Linux Kernel I  
3/31 Thursday 20 Linux Kernel II PX Accel Dot (V)
4/05 Tuesday 21 Linux Kernel III  
4/07 Thursday 22 Hardware Optimization I PX Accel Dot (V)
4/12 Tuesday 23 Hardware Optimization II  
4/14 Thursday 24 PX Progress Reports PX Accel Dot (V)
4/19 Tuesday 25 PX Progress Reports  
4/21 Thursday 26 Overflow PX Accel Dot (V)
4/26 Tuesday 27 Overflow  
4/28 Thursday 28 Overflow PX Accel Dot (V)
5/05 Thursday - Final Report Due @ 7.20pm