Kursleitung: Gerhard Eichelsdörfer
Zeitumfang: 40 Unterrichtsstunden
Voraussetzungen:
Grundkenntnisse in der digitalen Schaltungstechnik (UND, ODER, NICHT, RS- oder D-Flipflop)
und der Schaltalgebra (NAND->NOR, de Morgan'sche Gesetze)
Digitale intergrierte Schaltungen der 74er-Familie werden heutzutage praktisch nicht mehr eingesetzt. An Stelle vieler solcher ICs sind einzelne programmierbare logische Bausteine (programmable logic devices, PLDs) getreten, die auch das Platinenlayouten erheblich vereinfachen beziehungsweise eine höhere Dichte an digitalen Funktionen zulassen. Nicht zuletzt liegen Vorteile auch darin, die Funktionsweise eines PLD nach der Herstellung eines Schaltungsprototyps durch Programmieren verändern zu können. Bei einigen Typen gelingt dies sogar innerhalb der fertigen Schaltung (Servicefreundlichkeit).
Dieser Kurs bietet die Grundlagen zur Programmierung relativ kleiner und noch überschaubarer PLDs. Die PAL-Familie (programmable array logic) besitzt eine innere Struktur, die sich in ähnlicher Form auch in höher integrierten ICs wiederfindet. Eine Sondergruppe stellen die GALs dar (generic array logic), von denen jeder Baustein verschiedene PALs ersetzen kann und die viele Male elektrisch lösch- und neu programmierbar sind. Zum Entwurf der digitalen Funktionalität (Hardware-Programmierung) solcher GALs stehen verschiedene Sprachen zur Verfügung. Eine für Lernzwecke gut geeignete Sprache ist Abel, die verschiedene sprachliche Strukturen für eine Implementation zur Verfügung stellt. Diese Sprache bietet auch besonders hilfreiche Tests, mit denen vor der Programmierung des Bausteins das logische Verhalten des eigenen Entwurfs mit dem gewünschten Verhalten verglichen werden kann.
In diesem Kurs vorgesehene Inhalte sind:
Bei Bedarf und zügigem Kursfortschritt können noch optionale Inhalte behandelt werden wie komplexe programmierbare Logikbausteine (CPLDs wie isp1016 von Lattice), Einblick in die Standard-Hardwarebeschreibungssprache VHDL.