This repo contains the course material for the 2022 FPGA course. The course has been broken into two parts: "FPGA Basics" and "Advanced FPGA Technologies".
Students are encouraged to fork the repository and push their work to the GitHub server. If a private repository is desired, please add the presenter as a collaborator on your repository.
EEE5117Z: 27 to 29 April 2022
This course is part 1 of a two part course that aims to cover a complete overview of FPGAs. Part 1 of the course aims to introduce the student to the basics of FPGA programming.
This includes introducing concepts to ensure the student is able to:
- Understand the underlying physical architecture of FPGAs
- Understand the concept of timing constraints, clock domains and other timing-related issues
- Use the tool-set, including JTAG debugging and the general Verilog-based compilation process
Presented on campus, Room 6.08, 6th Floor, Menzies Building
Presenter: John-Philip Taylor
3 CPD points, ECSA course code: UCTREDFBS22
EEE5118Z: 02 to 04 May 2022
This is a practical course that provides students with a hands on approach to FPGAs. This course is part 2 of a two part course that presents the principles and techniques fundamental to low-level FPGA firmware development. It is biased towards digital signal processing typically found in Radar, Radio-astronomy and Communication systems.
The course covers a variety of practical topics, including:
- Design FPGA firmware systems on a high level
- Design FPGA firmware blocks on a low level (i.e. RTL representations of finite state machines and pipelines)
- Implement FPGA firmware systems
- Debug an FPGA firmware implementation
- Analise timing closure issues and solve the problem such that the final design meets all timing requirements.
It is recommended that EEE5117Z is taken before this course.
Presented on campus, Room 6.08, 6th Floor, Menzies Building
Presenter: John-Philip Taylor
3 CPD points, ECSA course code: UCTREDAFT22