Einleitung
Integrierte Schaltkreise bestehen in der Digitaltechnik aus einer Anordnung von logischen Verknüpfungen, den sogenannten Gattern. Jedes Gatter verarbeitet mehrere binäre Eingangssignale zu einem Ausgangssignal, wobei es drei wichtige Grundgatter gibt, durch deren Anordnung sämtliche Schaltungen aufgebaut werden können:
• UND-Verknüpfung (Konjunktion)
• ODER-Verknüpfung (Disjunktion)
• NICHT-Verknüpfung (Negation)
Mit Hilfe der genannten Grundelemente lassen sich auch komplexere Strukturen aufbauen, z.B Addierer oder Multiplizierer, aber auch Register oder ganze Prozessoren. Der Vorteil programmierbarer Logik liegt nun darin, dass die Schaltung beim Endverbraucher (im Feld) jederzeit angepasst werden kann. Und genau das haben Sie sogar schon genutzt. Oder haben Sie noch nie ein Update auf Ihrem Internetrouter durchgeführt? Jeder DSL-Zugangspunkt arbeitet heute aus Gründen der einfachen Adaptierbarkeit mit FPGA-basierten System. So kann die notwendige Signalaufbereitung zur Generierung der DSL-Signale, aber auch der WLAN oder DECT-Funksignale schnell optimiert oder an einen neuen Standard angepasst werden. Die Vielfalt der Möglichkeiten wird dabei lediglich von der Anzahl der logischen Gatter, also der Größe der Bausteine begrenzt. Und diese kann heute ohne Probleme eine Millionen Gatter übersteigen.
Vorlesung
In der Vorlesung werden die theoretischen Grundlagen der digitalen Signalverarbeitung besprochen und der Aufbau eines FPGA-basierten Entwicklungsboards gezeigt. Der unmittelbare Bezug zur Hardware und die Umsetzung verschiedener Algorithmen auf der Zielplattform spielen dabei eine besondere Rolle. Vorlesung und Praktikum sind daher optimal aufeinander abgestimmt, so dass der Praxisbezug jederzeit erkennbar bleibt. Im Detail werden folgende Inhalte besprochen:
- Zahlensysteme
- Binäre Arithmetik
- Beschreibung und Minimierung kombinatorischer Schaltung
- Kombinatorische- / Sequentielle Logik
- Zähler und Automaten
- Architektur von Feldprogrammierbarer Logik (FPGA)
- FPGA-basierter Schaltungsentwurf
- Taktsysteme
- Entwurfsmethoden
- Entwurfsverifikation und Simulationsmethoden
- Zeitverhalten von Schaltungsentwürfen
- Spezielle Fragestellungen des FPGA-basierten Schaltungsentwurfs
Praktikum
Die Vorlesungsinhalte werden jeweils didaktisch passend in einem zugehörigen Praktikum vertieft. Dazu werden Algorithmen der digitalen Signalverarbeitung auf einer FPGA-basierten Zielplattform implementiert und die Auswirkungen auf dem Entwicklungsboard beobachtet. Für einen gelungenen Einstieg in die FPGA-Entwicklung wird dazu anfangs die schnell erlernbare, grafische Schaltplaneingabe gewählt und das Design in entsprechende Blöcke unterteilt. Durch hierarchische Anordnung können auf diese Weise einfach und schnell komplexere Schaltungen erstellt werden. Folgende Versuche bieten sich an:
- Aufbau digitaler Grundschaltungen, wie Halbaddierer, Volladdierer, Synchronzähler und Gatter
- Ansteuerung einer Siebensegment-Anzeige
- Ansteuerung von Peripherie, z.B. angeschlossener Temperatursensor über SPI, Einlesen- und Ausgeben von Audio-Daten über einen Audio-Codec
- Aufbau einfacher Digitalfilter
- Implementierung eines kleinen Prozessors
Organisatorisches
- Umfang: 3 SWS Vorlesung, 1 SWS Übung, 2 SWS Praktikum
- Prüfungsform: Klausur (90 Minuten)
- Unterlagen zur Vorlesung, den Übungen und zum Praktikum finden Sie im ILIAS
Literatur
- Cord, E., FPGAs für Maker: Eine praktische Einführung in die programmierbare Logik, Dpunkt Verlag, 2016
- Hamblen, J.O., Hall, T.S., Furman, M.D., Rapid Prototyping of Digital Systems, Springer Verlag, 2006
- Fehn, H.-G., Einführung in die Digitaltechnik, Schlembach Verlag, 2011
- Molitor, P., Ritter, J., Kompaktkurs VHDL, Oldenbourg Verlag, 2013