Engr315

Welcome to ENGR 315

Fall 2025

Description

Welcome to ENGR E315 (and CSCI B590)

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

Zoom

Remote Setup

Pynq Network Setup

Projects

P1 - Optimization

P2 - EMA in C

P3 - EMA in HW

P4 - MMIO Popcount

P5 - MMIO Popcount in C

P6 - DMA Popcount

P7 - DMA Popcount in C

P8 - Dot Product

PX - Accel Dot

Course Schedule

This is the tentative schedule for this semester.

Date Day Number Lecture Topic Project Topic
08/27 Wednesday 00 Performance Profiling P1 Optimization(Py)
09/03 Wednesday 01 Performance Profiling II P2 Exp Mov Avg (C)
09/10 Wednesday 02 Buses P3 Exp Mov Avg (V)
09/17 Wednesday 03 MMIO P3 Exp Mov Avg (V)
09/24 Wednesday 04 High Performance Buses P4 MMIO Popcount (V)
10/01 Wednesday 05 Memory / Tristate P5 Linux MMIO (C)
10/08 Wednesday 06 C / Linux Interfacing P5 Linux MMIO (C)
10/15 Wednesday 07 Direct Memory Access P6 DMA Popcount (V)
10/22 Wednesday 08 Pipelining P6 DMA Popcount (V)
10/29 Wednesday 09 Parallelism I P7 Linux DMA (C)
11/05 Wednesday 10 Parallelism II / Review
11/12 Wednesday Exam P8 Dot (V)
11/19 Wednesday 11 Parallelism III P8 Dot (V)
11/26 Wednesday BREAK PX Accel Dot (V)
12/03 Wednesday 12 Linux Kernel PX Accel Dot (V)
12/10 Wednesday Final Report Due @ 06:55pm PX Accel Dot (V)