Bild mit Unilogo
home uni uni kontakt kontakt
unilogo Universität Stuttgart
Institut für Kommunikationsnetze und Rechnersysteme (IKR)

Themenbeschreibung

Druckansicht
 

Master-Arbeit Nr. 1048    (In Bearbeitung)   [pdf]

Entwurf und Implementierung eines PCIe Transaction Layer Packet Generators mit Hilfe eines AMD FPGA mit integriertem ARM-Prozessor (SoC)


Methoden

Themengebiete

Entwurf digitaler Systeme
Hardwarenahe Programmierung

Hardware-Software-Co-Design
PCIe


Beschreibung

Hintergrund

FPGA-Bausteine haben in der jüngsten Vergangenheit einen Übergang von einer einfachen FPGA-Architektur mit programmierbarer Logik (PL) zu einer System-on-Chip (SoC) Architektur mit integrierten Prozessoren vollzogen. Im Rahmen dieser Weiterentwicklung beinhalten auch die bei VIAVI Solutions verwendeten FPGA-Bausteine der Versal-Serie von AMD eine Application Processing Unit (APU) auf Basis eines ARM-Cortex Prozessors. Dieser Wandel der FPGA-Technologie bietet eine gute Grundlage für die Erforschung künftiger Messtechnikanwendungen und Entwicklungen im Bereich der digitalen Schaltungstechnik unter Einsatz dieser Prozessoren. Der bisherige Verzicht auf die Verwendung der integrierten APUs führte dabei zu einem unvollständigen Ausschöpfen des Potentials dieser Bausteine. Diese APUs sollen daher zukünftig für das Implementieren von Testfunktionen verwendet werden, um den Funktionsumfang der von VIAVI Solutions entwickelten Messapplikation zu erweitern.

Problembeschreibung

Um verschiedene technische Ansätze zum Datenaustausch zwischen APU und PL evaluieren zu können, soll eine eingehende Untersuchung zur Einbindung dieser APU in ein bestehendes FPGA-Design durchgeführt werden. Der Entwurf und die Implementierung verschiedener Ansätze für Schnittstellen zwischen APU und PL in einer Hardwarebeschreibungssprache soll dabei als Grundlage für eine Leistungsbewertung und das Implementieren zukünftiger Funktionalitäten dienen.

Ausgehend von den gewonnen Erkenntnissen über die Schnittstelle zwischen APU und PL, soll in einer konkreten Anwendung ein PCIe Transaction-Layer-Packet (TLP) Generator in Software und PL entstehen. Die dabei zu erzeugenden Testpakete können von einem Anwender über eine Softwareschnittstelle definiert und mittels programmierbarer Logik an den Device-Under-Test übertragen werden.

Die Umsetzung dieser Bewertung sowie die anschließende Implementierung des PCIe TLP-Generators kann anhang der folgenden Schritte vorgenommen werden

Aufsetzen und Kennenlernen der Versal Entwicklungsumgebung inkl. Betriebssystem

Entwurf und Implementierung von VHDL/Verilog-Modulen für den Austauisch von Daten zwischen APU und PL

Beurteilung der Leistungsfähigkeit der jeweiligen Designvarianten (APU-PL Interfaces)

Entwicklung von Software (C/C++) zur Übertragung von PCIe TLPs über eine implementierte Schnittstelle

Erworbene Kenntnisse und Fähigkeiten

Durch die Implementierung verschiedener Schnittstellen zwischen APU und PL werden Sie Ihre Kenntnisse beim Entwurf von digitalen Systemen mit VHDL und SystemVerilog ausbauen. Während der Umsetzung der Softwarekomponenten in C/C++ werden Sie Ihr Wissen über die Programmierung von Embedded Systems erweitern. Die Erzeugung und Analyse von PCIe TLPs werden Ihre Kenntnisse über die aktuell gültige PCIe Spezifikation aufbauen und vertiefen. Diese Arbeit wird sie damit befähigen, eingebettete Systeme auf Basis von modernen FPGA-gestützten SoCs für neue Produkte und zukünftige Anwendungen zu entwickeln.


Voraussetzungen

Erwünschte Vorkenntnisse

Entwurf digitaler Systeme

Programmierkenntnisse in C
Programmierkenntnisse in C++


Kontakt

M.Sc. Christian Koehler, Raum 1.320 (ETI II), Telefon 685-69001, [E-Mail]