Embedded Systems in rekonfigurierbarer Hardware (ESR)
Vorlesungsdaten:
| Beschreibung | FPGA, SoC, Embedded Systems, Rechenbeschleuniger, Hardware Acceleration |
| Vorlesungsart | 40% Vorlesung, 40% Laborpraktikum und 20% Miniprojekte als Wahlpflichtmodul |
| Studiengang | Masterstudiengänge Informationstechnik (NM), Medizintechnik (MTM) und Technische Informatik (TIM) |
| Umfang | 4 SWS / 5 CR |
| Prüfungsmodus | Labortestate (Funktion, Fragen) = 24% der Fachnote Miniprojekte (Funktion) = 42% der Fachnote Schriftliche Klausur über 60 Minuten = 34% der Fachnote |
| Dozent | Prof. Dr. Willenberg |
| Voraussetzungen | Struktur von FPGAs, fundierte Grundlagenkenntnisse in VHDL oder Verilog (z.B. Vorlesung PLB); Aufbau und Programmierung von eingebetteten Systemen (z.B. Vorlesungen DMC, EMB). grundlegende Englischkenntnisse (Leseverständnis technischer Dokumentation) |
| Hilfsmittel (Software, etc.) | Xilinx Vivado FPGA Design Suite, Xilinx Software Development Kit |
| Studentischer Arbeitsaufwand | Präsenzstudium 40h, Laborpraktikum 50h, Miniprojekte 50h |
| Zulassungsvoraussetzungen | Beschränkte Teilnehmerzahl (ca. 24) wg. Laborplätzen |
Inhalte der Vorlesung:
Wiederholung und Ergänzung
Schaltungstiming in FPGAs, Pipelining, Struktur und Komponenten von eingebetteten Systemen, Programmierung und Peripheriezugriff, Grundlegende Prozessorarchitektur, Speicher, DMA und Bussysteme
Fortgeschrittene Architektur von digitalen Systemen
Taktverteilung und -synchronisation, Daten- und Kontrollflussmechanismen, Zugriff auf und Verwendung von internen und externen Speichern
Embedded Systems in FPGAs
- Soft-Prozessoren am Beispiel Xilinx MicroBlaze
- Das ARM Advanced eXtensible Interface (AXI)
- Das Zynq/ARM Processing System
- Entwurf von Peripheriemodulen, Busmaster-Hardware und Co-Prozessoren
- Hardware-Zugriff auf selbstgeschriebene Peripherie aus Embedded-Software Embedded-Linux auf FPGA-Systemen
3 Miniprojekte: Entwurf eines Multiprozessor-Systems sowie von zwei Peripheriekomponenten inkl. Software-Treibern nach Spezifikation. Optionale Zusatzthemen je nach Zeitfortschritt:
- Echtzeitbetriebssysteme und FPGA-Hardware
- Linux-Treiber für eigene Hardware
- High-Level-Synthesis am Beispiel Vivado HLS
- Automatische Hardware-Generierung aus anderen Sprachen und Entwicklungsplatformen (z.B. MATLAB, Xilinx SDSoC)
Lernziele:
Allgemein: Die Vorlesung vermittelt ein grundlegendes Verständnis des Systemon-Chip-Designs für FPGAs und Verfahrensweisen für das SW/HW-Co-Design. Studenten lernen den Umgang mit einer verbreiteten kommerziellen Entwurfssoftware und den zugehörigen IP-Komponenten. Der Entwurfsprozess eigener Busperipherie oder Co-Prozessoren und korrespondierender Software wird im Rahmen von Laboren und Miniprojekten praktisch erlernt. Studierende lernen Entwicklungsaufwand und Performancegewinn selbstentwickelter Beschleunigerhardware einzuschätzen
Zusammenhänge mit anderen Modulen: ESR kombiniert die in den Bachelor-Modulen DMC und EMB gesammelten Erfahrung mit Mikroprozessorsystemen mit den in PLB erworbenen Kenntnissen zur FPGA-Programmierung. Die Aspekte zum System-On-Chip-Entwurf und der VHDL-Implementierung von Peripherie-Komponenten sind für den allgemeinen ASIC-Entwurf wie z.B. im Projektlabor Embedded Systems hilfreich und auch zur funktionalen Ergänzung von FPGA-Bildverarbeitungssystemen (FBV) verwertbar. In EES diskutierte Eigenschaften und Möglichkeiten von Echtzeitsystemen finden auch in den in ESR behandelten eingebetteten Systemen Anwendung.
Kompetenzen / Schlüsselqualifikationen:
- Überblick über die in FPGA-Systemen einsetzbaren Prozessor- und Bussysteme und die zur Verfügung stehenden Speicherressourcen.
- Einschätzung des möglichen Performancegewinns durch Einsatz von applikationsspezifischen Hardwarekomponenten; Kontrastierung mit dem höheren Entwicklungs- und Verifikationsaufwand.
- Auswahl geeigneter Systemhierarchien und Kommunikationskanäle zur Optimierung von Performance und Ressourcenbedarf.
- Implementierung, Debugging, Evaluation und Optimierung von geplanten Systems-on-Chip sowie von applikationsspezifischen Peripheriekomponenten.
Berufsvorbereitung: Mit dem theoretisch und praktisch erworbenen Verständnis können die Teilnehmer vollständige Systems-on-Chip und applikationsspezifische Hardware-Komponenten planen, implementieren und optimieren. Dabei gewinnen Sie Erfahrung mit den in der Industrie eingesetzten Entwicklungstools eines großen FPGA-Herstellers. Ein Einstieg in Software und Hardware eines Mitbewerbers ist durch das Verständnis der grundlegenden Abläufe und Konfigurationsmöglichkeiten kurzfristig realisierbar.
Literatur
- Patterson/Hennessy: Computer Organization and Design, Morgan Kaufmann Brown/Vranesic: Fundamentals of Digital Logic with VHDL, McGraw Hill