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.