Nächstes Semester

FPGA-Programmierung

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

Voraussetzungen / Organisatorisches

Voraussetzungen: Technische Informatik

Die Übungen finden mit FPGA Evaluation-Boards statt (auch zu Hause) - Details dazu in der ersten Vorlesung.

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

Digitale Lehre

Die Vorlesungen und Übungen finden bis auf Weiteres via Big Blue Button Videkonferenzen statt, von den Vorlesungen werden Aufzeichnungen zur Verfügung gestellt. Für die Übungen werden kleine FPGA-Boards abgegeben. Details dazu auf der Kurswebseite.

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
14.04.2021 (Mittwoch) 10:00 - 12:00 Online
21.04.2021 (Mittwoch) 10:00 - 12:00 Online
28.04.2021 (Mittwoch) 10:00 - 12:00 Online
05.05.2021 (Mittwoch) 10:00 - 12:00 Online
12.05.2021 (Mittwoch) 10:00 - 12:00 Online
19.05.2021 (Mittwoch) 10:00 - 12:00 Online
26.05.2021 (Mittwoch) 10:00 - 12:00 Online
02.06.2021 (Mittwoch) 10:00 - 12:00 Online
09.06.2021 (Mittwoch) 10:00 - 12:00 Online
16.06.2021 (Mittwoch) 10:00 - 12:00 Online
23.06.2021 (Mittwoch) 10:00 - 12:00 Online
30.06.2021 (Mittwoch) 10:00 - 12:00 Online
07.07.2021 (Mittwoch) 10:00 - 12:00 Online
14.07.2021 (Mittwoch) 10:00 - 12:00 Online