FPGA Programming


This lab emphasizes on the practical aspects of Field Programmable Gate Arrays (FPGAs). In the beginning, a short background introduction on FPGAs is given, Followed by a tutorial on the workflow of Configuring and programming to FPGA. This lab includes FPGA design using schematic layouts as well as Several example of VHDL / Verilog programming to implement some sample digital circuits. Students will learn to design and to simulate digital circuits with FPGA. The design will be compiled on a run FPGA. The lab is designed around the DE2-115 prototyping board, Which Provides a programmer, program memory, and array of switches, buttons, LEDs, LCD on, and Several I / O ports.

Date: One full week some time after the lectures.


Dieses Praktikum konzentriert sich auf die praktischen Aspekte von Field Programmable Gate Arrays (FPGAs). Am Anfang gibt es eine kurze Einführung zu FPGAs, gefolgt von einem Tutorial zum Konfigurieren und Programmieren eines FPGAs. Das Praktikum beinhaltet FPGA Design durch Schaltpläne genauso wie diverse Beispiele digitaler Schaltungen in den VHDL und Verilog Hardware-Beschreibungssprachen. Studenten erlernen das Designen und Simulieren von digitalen Schaltungen mit FPGA. Anschließend werden die Designs kompiliert und auf einem FPGA zum Laufen gebracht. Das Praktikum konzentriert sich auf das DE2-115 Prototyping Board, welches einen Programmieradapter, Programmspeicher, und eine Reihe an Schaltern, Tastern, LEDs, ein LCD und diverse Eingabe/Ausgabe Schnittstellen anbietet.

Zeit: Nach Ende der Vorlesungszeit als ganzer Block innerhalb einer Woche.


4 SWS / 3 ECTS

Lab Week

21.08.2017 - 25.08.2017


Students will learn to design and to simulate digital circuits with FPGA.

Registrierung / Registration

The lab is full for this Semester, no registrations can be accepted anymore.

There are limited slots and the registration is handled in a first-come, first-served manner. So make sure you sign-up as early as possible. We can only consider registrations with the correct documents or from the online system ( https://campus.studium.kit.edu/exams/index.php )

Regular CS Students:

For SPO 2008, please sign up the generic container module "Informatik Praktikum", there is 1, 2 and 3. Please try to sign up the one with 3 ECTS. If this is unavailable you can also sign one up with non-matching ECTS, which can then be corrected later. Unfortunately we have no live feedback on that, so please, at the same time, write a mail with a screenshot to cdnc@itec.kit.edu so we can reserve a seat for you in the lab.

For SPO 2015 please sign up the according FPGA programming module. If this does not work, you might need to add it to your Studienplan first, before sign-up, otherwise go to Studienbüro.

If there are any problems with sign-up, the usual practice is to go to the Studienbüro and they will help you sign-up. They probably want to know the name of the lab "FPGA programming lab". (Opening TImes, Studiengangsspezifische Anliegen, https://www.sle.kit.edu/wirueberuns/studierendenservice_oeffnungszeiten.php )

Erasmus/Exchange students or other faculties:

If you are from other faculties (e.g. electrical engineering "Elektrotechnik"), you need to register by the desired method of your faculty. We have no knowledge how they handle it. Please contact us after correctly registering it with the required details, so we can make sure that we have a seat reserved for you.

If you are Erasmus/Exchange student, you have to bring a form "Anerkennung von Leistungen". You have to collect a form from Informatik Studiengangsservice ( http://www.informatik.kit.edu/iss.php ) for "Prüfungszulassung", on which the specific Prüfung "FPGA programming lab" is written, and bring it to Ms. Schroeder Piepka ( http://cdnc.itec.kit.edu/21_121.php ). Only after we received this document here, we can reserve a seat for you.

Contact for further questions: cdnc@itec.kit.edu


Prof. Dr. Mehdi B. Tahoori

Dennis Gnad, Ahmed Erozan