00 - Einführung
00 - Einführung
00 - Einführung
rekonfigurierbarer Hardware
Einführung
Rüdiger Willenberg
V1.6 – WS18/19
Kurzvorstellung Dozent
Prof. Dr. Rüdiger Willenberg
Dipl.-Ing.(FH) Nachrichtentechnik/Elektronik (FH Mannheim)
Hard- und Firmware-Entwickler (tesa scribos GmbH, Hd.)
M.Sc. Informationstechnik (HS Mannheim)
Ph.D., Computer Engineering (University of Toronto, Kanada)
email: [email protected]
• Lösungsansatz: CAN-Bus
+ ausgetestet und gut etabliert
+ von praktisch allen Herstellern unterstützt
+ Unterstützung durch aufgesetzte Higher-Level-
Softwareprotokolle (z.B. SDS, CANopen)
FPGA
Frame
average S
• Sie haben ein FPGA-System entworfen, dass echtzeitfähig mit einer
Verzögerung von wenigen Millisekunden einen Videostream modifiziert:
– Auf jedes Bild (Frame) wird ein weichzeichnender Gaußfilter der Größe
5x5 Pixel angewendet
– Die durchschnittliche Helligkeit jedes Eingangs-Bildes wird durch
Aufaddieren ermittelt.
– Über eine Wertetabelle (Look-up table) wird jeder der drei R,G,B-Kanäle
entsprechend eine Gamma-Kurve in seiner Helligkeit angepasst.
FPGA
Frame
average S
Neuberechnung
• Problem 3:
Berechnung der neuen Gamma-Tabellen in Software in
zusätzlichem Mikrocontroller
CPU Peripherie A
z.B. UART
Treiber A
FPGA
Treiber A
Treiber B
FPGA
Board Support
Hardware-
Package-
Implementierung
Generierung
Treiber-,
Design- Hardware- (Applikations-)
Entwicklung
Iterationen Verifikation
Debugging
Design-
soweit möglich Iterationen
ohne Zielhardware
Integration
Debugging,
weitere
Applikations-
Entwicklung
FPGA/VHDL-
Programmierung
Rechner- System-
architektur design
Embedded-
Software und
Treiber
• Themen:
– VHDL-Design und -Debugging mit Xilinx Vivado
– Blockbasiertes Embedded-System-Design mit Xilinx Vivado
– Embedded-Softwareentwicklung mit Xilinx SDK
– Xilinx MicroBlaze Prozessor; ARM-A9-Prozessor im Xilinx Zynq PS
– ARM AXI4-Bustypen: Full, Lite, Stream
– Design von AXI-Peripheriebausteinen und Software-Zugriff/Treiber
– Speichertypen in FPGA-Systemen
– Timing von synchronen FPGA-Schaltungen und Performanceoptimierung
– Linux für Emb.Systems, speziell Zynq/Zedboard (inkl. "Selbstbau" im Labor)
• 42% Miniprojekte:
– 3 Miniprojekte zur selbständigen Systementwicklung/Benutzung der Tools
– Jeweils 2 Wochen Zeit; Design/Simulation im Labor/Zuhause möglich, Test
und Demo im Labor
– Jeweils 14% für den erfolgreichen Abschluss
• 34% Klausurnote:
– Einstündige schriftliche Klausur
• Git