title: Analyse und Optimierung von USB-HPS-FPGA Datenpfaden
Creators: name: Schrammel, Hermann
Publisher: name: TU Wien
Year: 2017
Subjects: subject: FPGA
subject: Analyse
subject: Optimierung
subject: FPGA
subject: Analysis
subject: Optimierung

description: Diese Diplomarbeit beschäftigt sich im Rahmen eines Projekts mit einer Anwendung, bei dem es notwendig ist Daten mit Raten von 40 Megabyte pro Sekunde, von mehreren Datenquellen zu verarbeiten und die Ergebnisse an ein zentrales Datencenter über ein Ethernet/IP-Netzwerk zu senden. Um dies zu erreichen wird ein System auf Basis eines System-On-Chip (SoC) entwickelt, welches die Rohdaten vorverarbeitet. Das SoC besteht aus einem Field Programmable Gate Array (FPGA) und einem Hard Processor System (HPS). Es werden Möglichkeiten zum Datenaustausch zwischen HPS und FPGA, sowie Datenquelle und FPGA evaluiert. Die Datenpfade werden so ausgelegt, dass die Kommunikation zwischen FPGA und HPS minimal ist. Dies wird durch die Verwendung des Accelerator Coherency Port (ACP) erreicht, welcher einen kohärenten Zugriff auf den Cache des HPS von FPGA-Logik ermöglicht. Es zeigt sich, dass das On-Chip Memory (OCM) im HPS am besten dafür geeignet ist, um Parameter und Resultate für Hardwarebeschleunigung mit dem FPGA auszutauschen. Die Rohdaten der Datenquelle werden über USB 3.0 und PCIe direkt in das FPGA zur Verarbeitung geleitet. Der rechenintensive Teil des Verarbeitungsalgorithmus wird in Hardware realisiert. Der Algorithmus zur Datenverarbeitung wird optimiert. Am HPS wird eine Echtzeit-Linux-Distribution basierend auf RT-Preempt aufgesetzt. So kann das System die Echtzeitanforderungen mit Zykluszeiten von einer Millisekunde einhalten und trotzdem die Funktionalität eines High-Level Betriebssystems anbieten. Das Resultierende System erfüllt alle geforderten Anforderungen und hat sich bereits im Feld bewährt.
description: This thesis is part of a project with an application that requires the processing of data at rates of 40 megabytes per second, of several data sources and sending the results to a central data center via an Ethernet/IP network. To achieve this, a system based on a System-on-Chip (SoC) is developed, which pre-processes the raw data. The SoC consists of a Field Programmable Gate Array (FPGA) and a Hard Processor System (HPS). Possibilities for data exchange between HPS and FPGA, as well as data source and FPGA are evaluated. The data paths are designed in such a way that communication between FPGA and HPS is minimal. This is achieved by using the Accelerator Coherency Port (ACP), which allows for coherent access to the cache of the HPS of FPGA logic. It is shown that on-chip memory (OCM) in the HPS is best suited to exchange parameters and results for hardware acceleration with the FPGA. The raw data of the data source are passed directly into the FPGA for processing via USB 3.0 and PCIe. The computer-intensive part of the processing algorithm is implemented in hardware. The algorithm for data processing is optimized. A real-time Linux distribution based on RT-Preempt is set up on the HPS. This allows the system to meet the real-time requirements with a cycle time of one millisecond and still provide the functionality of a high-level operating system. The resulting system fulfills all the requirements and has already proven itself in the field.