Ziel dieses Kurses ist es, den Umgang mit Field Programmable Gate Arrays (FPGAs) zu erlernen, um Prototypen oder Produkte für eine Vielzahl von Anwendungen zu erstellen. Obwohl FPGA-Design ein komplexes Thema sein kann, werden wir es so einführen, dass die grundlegenden Konzepte mit ein wenig Mühe leicht erlernt werden können, aber auch eine Herausforderung für den erfahreneren Designer darstellen. Wir werden die Komplexität, die Möglichkeiten und die Trends von Field Programmable Gate Arrays (FPGA) und Complex Programmable Logic Devices (CPLD) erkunden. Konzeption, Design, Implementierung und Debugging werden geübt. Wir lernen die Besonderheiten von eingebetteter IP und Prozessorkernen kennen, einschließlich der Abwägungen zwischen der Implementierung und dem Erwerb von IP. In den Projekten werden die neuesten Software- und FPGA-Entwicklungstools und Hardwareplattformen eingesetzt, um einen umfassenden Überblick über die Möglichkeiten verschiedener programmierbarer SoC-Lösungen zu erhalten. Die Themen umfassen:
Verilog-, VHDL- und RTL-Design für FPGA- und CPLD-Architekturen
FPGA-Entwicklungstools: Spezifizieren, Synthetisieren, Simulieren, Kompilieren, Programmieren und Debuggen
Konfigurierbare eingebettete Prozessoren und eingebettete Software
Verwendung von Soft-Core- und Hard-Core-Prozessoren und OS-Optionen
FPGA-Systementwicklung, Software-Hardware-Integration und Testen
IP-Entwicklung und Einbindung von IP von Drittanbietern
Der Abschlusskurs gibt dem Lernenden die Möglichkeit, die behandelten Konzepte zu üben und zu implementieren, indem er FPGA-Systeme auf der Grundlage von kostengünstigen Evaluierungsboards erstellt.
Praktisches Lernprojekt
Die Kursteilnehmer üben das Erstellen und Testen verschiedener FPGA-Projekte unter Verwendung von FPGA-Hardware-Entwicklungstools nach Industriestandard, indem sie Fähigkeiten wie VHDL- und Verilog-Codierung, programmierbare Logiksynthese und -simulation, statische Timing-Analyse und FPGA-Bausteinprogrammierung anwenden. Der Höhepunkt dieser Bemühungen wird die Konstruktion eines konfigurierbaren Softcore-Prozessorsystems auf einem Chip unter Verwendung des DE10-Lite Evaluation Boards sein.