FPGA Programming syllabus#
Implementing digital circuits with Systemverilog
4 SWS, 5 ECTS, in degree program AI Master and as FWP in ET Master
Intended learning outcomes#
The purpose of the course is for you (the student) to learn to:
explain the typical structure of FPGAs
differentiate a hardware description language from a typical programming language, e.g., regarding structure and purpose
use Systemverilog and a state-of-the-art FPGA development tool to develop circuits on an FPGA
differentiate between structural and behavioral design approaches
analyze behavioral description and write code that implement the behavior
classify which data processing tasks are better suited for FPGAs than general processors
cooperate in a pair programming setting
evaluate someone else’s work and give constructive feedback (e.g., in context of peer-assessed exercises)
Fundamental programming tools (e.g, control flow, data structures, functions)
Digital logic (e.g., transistor, logic gate, K-map, SOP, POS, multiplexer, counter)
The learning materials contain a graceful introduction to digital logic so you can still attend the course if you do not have any experience with digital logic. But expect more workload in this case.
Content (what we do to reach the learning outcomes)#
Getting started with the FPGA board
Implementation (including testing using testbenches) of:
combinational logic, e.g., multiplexer, decoder, shifter, encoder
sequential logic, e.g., flip-flop, latch, counter, memory
arithmetic circuits, e.g., adder, multiplier
a digital system: reaction time monitor
To reach the learning outcomes we will use the following didactic methods:
Labs with feedback sessions and pair programming
During the labs you are encouraged to work with a partner in a pair programming setting. Your partner and the instructor will give you feedback.
Mini projects on the FPGA
Every week there will be problems that you must solve on an FPGA board.
Written exam 90 min.
The examination is based on the intended learning outcomes.
Lecture videos related to the content can be found in the section Lectures on EE214 course page from Washington State University
Accompanying lecture notes: Digital logic notes
Realdigital Boolean FPGA board will be provided by the instructor that you may use during the class. It is not possible to borrow a board for home. If you want to work at home, please buy one.