Lehrveranstaltungen

FPGA-Programmierung

Dozent:innen: Univ. Prof. Dr. Niklaus Berger
Kurzname: 08.079.20590
Kurs-Nr.: 08.079.20590
Kurstyp: Vorlesung/Übung

Voraussetzungen / Organisatorisches

Voraussetzungen: Technische Informatik

Die Übungen finden mit FPGA Evaluation-Boards statt - Details dazu in der ersten Vorlesung.

Kurswebsite: https://agberger.kph.uni-mainz.de/teaching/summer-2020/fpga-programmierung-2020/

Digitale Lehre

Solange keine Präsenzlehre möglich ist, finden die Vorlesungen über das Big Blue Button Videokonferenzsystem statt.
Dieses läuft im Webbrowser, es kein Client nötig, verbinen Sie einfach mit https://epyc2.kph.uni-mainz.de/b/pro-46d-dwx
Updates und Änderungen dazu finden sich falls notwendig auf der Kurswebseite:
https://agberger.kph.uni-mainz.de/teaching/summer-2020/fpga-programmierung-2020/

Wir haben auch einen Mattermost-Chat für die Volresung eingerichtet:
https://mattermost.gitlab.rlp.net/signup_user_complete/?id=837ey1xr7if9tp5yf36nzsxcrh

Für die Übungen erhalten Sie ein FPGA-Evaluation Board nach Hause geschickt, Details dazu in der ersten Vorlesung.

Empfohlene Literatur

Es gibt diverse Bücher zu FPGAs und VHDL - leider kann ich keines davon uneingeschrenkt empfehlen.

Inhalt

Wir besprechen Funktion und Anwendungen von programmierbaren Logikbausteinen (FPGAs). Der Entwurf, die Synthese und die Simulation von digitalen Schaltungen in der Hardwarebeschreibungssprache VHDL werden sowohl in der Vorlesung als auch in praktischen Übungen mit FPGAs behandelt. Die Teilnehmer sollen am Ende des Kurses in der Lage sein, unter Benutzung der entsprechenden Werkzeuge eine eigene Schaltung (z.B. eine einfache CPU) in einem FPGA umzusetzen und die von den Werkzeugen eingesetzten Techniken und Algorithmen zu verstehen. Wir behandeln die Optimierung von Schaltungen im Bezug auf Geschwindigkeit und Ressourcenverbrauch Weitere Themen sind Kommunikations- und Bus-Standards sowie schnelle Signalübertragung.

Vorläufiges Programm:
Weshalb FPGAs? Weshalb VHDL?
CMOS, Gatter, kombinatorische Logik
Register, Takt, Pipelines
Simulation
Synthese
Place & Route
Schnelle Schaltungen
VHDL Design Patterns
Synchronisation
Speicher und vordefinierte Logikblöcke (IP)
Busse und andere Interfaces
Anwendungsbeispiele

Termine

Datum (Wochentag) Zeit Ort
22.04.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
29.04.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
06.05.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
13.05.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
20.05.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
27.05.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
03.06.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
10.06.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
17.06.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
24.06.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
01.07.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik
08.07.2020 (Mittwoch) 10:00 - 12:00 04 432
2413 - Neubau Physik/Mathematik