Sidan finns bara på engelska

Advanced FPGA implementation

The course has two parts. Part 1 runs for the first two weeks and has lectures (T) and guided labs (L). The second part runs for the final two weeks and students work on a project on their own time.

To pass the course you need 1) to pass the online test at the end of week 2 that covers the lectures and guided labs and 2) to pass the main project work that involves getting the system to compute a large matrix multiplication problem correctly in real hardware and be faster than CPU execution.

Content

In this course we will explore initially the architecture and features of modern FPGAs. Then, we will learn how to use C-based high level synthesis as an alternative to traditional Verilog/VHDL RTL design. The course will cover different hardware optimization strategies and how pragmas are used to control the output generated by high level synthesis. The VITIS HLS and VIVADO synthesis and implementation tools will target a SoC Zynq FPGA that includes, in addition to the configurable logic, an ARM-based processing system. The course contains hands-on labs that use the PYNQ (Python on Zynq) framework to interface and control the programmable logic. A final project completes the learning objectives by designing a hardware accelerator suitable for large general matrix multiplications in a resource-constrained PYNQ-Z2 board.

Prerequisites

C++ or C programming, digital systems, computer architecture, some experience with VHDL or Verilog is beneficial.

Schedule

Week 1

16th April T T SYSTEMET 10:15-12 L1 FPGA technology
17th April W T SYSTEMET 11:15-13 L2 High-level-synthesis introduction
18th April Th T SYSTEMET 11:15-13 L3 High-level-synthesis optimization/ recap quiz
19th April Fri L MUX2 10:15-12 LAB1 Creating an IP block with VITIS HLS Xilinx tools

Week 2

23th April Tue L MUX2 10:15-12 LAB1/LAB2 VIVADO implementation and PYNQ (Python for Zynq)
24th April W T SYSTEMET 10:15-12 L4 intro to main project General Matrix Multiplication
25th April Th L MUX2 10:15-12 LAB2/LAB3 Hardware testing with the PYNQ-Z2 board
26th April F L MUX2 10:15-12 LAB1/LAB2/LAB3 Online Test

Week 3 and week 4 own work on main project.