Bachelor-Arbeiten
Student*in: Nikolai Shauchenka
Betreuer*in: Leon Mayrhofer
Zeitraum: 01.09.2025 - 02.03.2026
MIDI ist ein Protokoll, mit dem Audiosignale digital übertragen werden können und das weit verbreitet ist. Ein mögliches Endgerät ist beispielsweise die Tesla-Spule aus dem Fachgebiet Hochspannungstechnische Betriebsmittel und Anlagen, mit der die empfangenen Töne abgespielt werden können.
Das Abspielen von bereits fertig codierten MIDI-Dateien stellt dabei keine große Herausforderung dar. Anders sieht es bei der Echtzeit-Verarbeitung und Ausgabe von live Aufnahmen aus. Als Beispiel-Instrument wurde für diese Arbeit ein Cello ausgewählt, dessen Musik auf der Tesla-Spule wiedergegeben werden soll. Zur Realisierung eines solchen Systems bietet sich ein FPGA mit einem SpartanMC Soft-Core für die allgemeine Kommunikation und einem dedizierten Hardwarebeschleuniger für die Konvertierung an.
Im Rahmen eines vorgeschalteten Projektseminars ist eine High-Level Software-Implementierung einer Verarbeitungspipeline erstellt worden, die auf einem normalen Rechner läuft und Cello-Aufnahmen über MIDI abgespielen kann. Die Bearbeitung des Eingangssignals umfasst zuerst die Vorfilterung des Cello-Signals und anschließend die Konvertierung in die entsprechenden MIDI-Töne. Für eine feinere Auflösung der Töne in MIDI sollte das MIDI Pitch Bend feature implementiert werden.
Aufbauend auf den Ergebnissen des vorangegangenen Projektseminars soll im Rahmen dieser Bachelor-Arbeit das bestehende High-Level System in ein auf einem Nexys Video-Board lauffähiges System portiert werden. Dabei soll ein SpartanMC Prozessor die Kommunikation mit der Ausenwelt übernehmen und ein dedizierter Hardwarebeschleuniger befasst sich mit der Filterung des Cello-Signals und der Konvertierung zu MIDI.
Student*in: Hoang Trung Tran
Betreuer*in: Christoph Flothow
Zeitraum: 18.03.2025 - 16.09.2025
Eines der Forschungsgebiete des Fachgebiets Rechnersysteme ist die Logiksynthese für Field Programmable Gate Arrays (FPGAs). Ein wichtiger Schritt dabei ist das sogenannte Technology Mapping, bei dem die gewünschte Funktionalität - in Form einer Booleschen Beschreibung vorliegend - auf die Look-up Tables (LUTs) des FPGAs abgebildet wird. Aktuell wird an einem Technology Mapping Verfahren basierend auf Binary Decision Diagrams (BDDs) geforscht.
Bei Technology Mapping mit BDDs ist die Anzahl an Knoten direkt unter dem Cut sehr wichtig. Sie beinflusst sowohl die Anzahl an Variablen, die in die LUT unter dem Cut passen, als auch die Anzahl an Hilfsfunktionen, die aus dem Teil über dem Cut hervorgehen. Insofern ist es meistens Vorteilhaft, eine möglichst kleine Anzahl an Knoten direkt über dem Cut zu haben. Allerdings ist die Anzahl an Knoten, die in einem (reduzierten) BDD vorhanden sind, sehr stark von der aktuellen Variablenreihenfolge des BDDs abhängig.
Das Ziel dieser Bachelorarbeit ist das Entwickeln und Auswerten von neuen Strategien, um eine möglichst gute Variablenreihenfolge zu finden, gegeben dass ein Cut an einer bestimmten Höhe gemacht werden soll.
Es würde sich anbieten, sich zuerst mit einem vorangestellten Projektseminar in die Thematik einzuarbeiten. Alternativ könnte der Umfang der Aufgabenstellung auch für eine Masterarbeit angepasst werden.
Student*in: Rainer Schneider
Betreuer*in: David Scheunert
Zeitraum: 05.05.2025 - 02.11.2025
Am Fachgebiet Rechnersysteme wird in Kooperation mit der GSI an Cavity-in-the-Loop geforscht. In diesem Projekt wird ein Hardware-in-the-Loop-Ansatz verfolgt, um das Verhalten eines Teilchenbeschleunigers in Echtzeit in Hardware zu simulieren.
Das Ergebnis dieser Simulation ist ein Strahlsignal, das den im Teilchenbeschleuniger gemessenen Ionenstrom widerspiegelt. Vereinfacht wird dieses Signal bisher durch das Abspielen einer vorberechneten Gaußkurve erzeugt.
In dieser Arbeit soll dieser naive Ansatz durch einen flexibleren Ausgabesignalgenerator ersetzt werden. Gedanklich wird hierfür das Ausgabesignal in viele kleine Teilabschnitte aufgeteilt, welche einzeln berechnet werden können. Der neue Ausgabesignalgenerator soll in der Lage sein, diese vielen Teilergebnisse der Gaußkurve entgegenzunehmen und sinnvoll zu überlagern.
Master-Arbeiten
Student*in: Jonas Schoenen
Betreuer*in: Leon Mayrhofer
Zeitraum: 01.03.2025 - 31.08.2025
In FPGAs werden zur Speicherung der Konfigurationsdaten typischerweise SRAM-Speicherzellen verwendet. Diese stellen einen flüchtigen Speicher dar, verlieren also bei Unterbrechung der Spannungsversorgung ihre Information. Deswegen wird an Non-Volatile (NV)-FPGAs geforscht, die nicht-flüchtigen Konfigurationsspeicher besitzen. Eine Möglichkeit, diese zu implementieren, stellen Speicherzellen aus Memristoren dar.
Memristoren sind elektrische Bauelemente, deren Widerstandswert von der Vorgeschichte des hindurchgeflossenen Stromes abhängt. Aufgrund der additiven Fertigung von Memristor-basierten Speichern ist davon auszugehen, dass ein gewisser Anteil der Speicherzellen defektbehaftet ist. Diese potentiellen Defekte müssen im Entwurf der Architektur und bei den Synthese-Werkzeugen für NV-FPGAs berücksichtigt werden.
In einer vorhergehenden Arbeit wurde gezeigt, dass für traditionelle Logik-Elemente (Lookup-Tables) eine gewisse Defekttoleranz allein durch angepasste Synthese-Werkzeuge erreicht werden kann. Das Ziel dieser Arbeit ist es, die relevanten Schritte des Synthese-Prozesses entsprechend anzupassen. Dazu sollen das Technology Mapping, Packing und Placement der Synthese-Toolchain Verilog-to-Routing modifiziert werden. Die erreichte Defekttoleranz soll anhand der Synthese aussagekräftiger Beispiel-Entwürfe ermittelt werden.
Student*in: Syed Sohail Sultan
Betreuer*in: Christoph Flothow
Zeitraum: 13.12.2024 - 31.07.2025
Das Technology Mapping ist ein wichtiger Schritt in der Logiksynthese, in der die gewünschte Funktionalität der Schaltung, als Boolesche Funktionen beschrieben, auf Elemente der Zieltechnologie abgebildet wird. Bei FPGAs handelt es sich hierbei um Lookup Tables (LUTs). Die Güte dieser Abbildung kann sowohl Auswirkungen auf die erreichbare Taktfrequenz, als auch auf die Anzahl der LUTs und somit auf die Größe des benötigten FPGAs haben.
Mit einem am Fachgebiet entwickelten Verfahren, dass auf Binary Decision Diagrams (BDDs) basiert, konnten vielversprechende Ergebnisse mit kleinen Schaltungen erzielt werden. Allerdings können BDDs bei größeren Funktionen sehr schnell wachsen, was sich negativ in der Ergebnisqualität der Mappings bemerkbar machte. Das akademische Tool ABC verwendet ein anderen Ansatz, der auf And-Inverter Graphs (AIGs) basiert, der auch auf deutlich größeren Eingabedateien anwendbar ist. Mit diesem Verfahren könnte eine anfängliche Aufteilung der Funktionen durchgeführt werden, und die kleineren Subfunktionen könnten dann mit dem BDD-basierten Verfahren behandelt werden. Ein solcher hybrider Ansatz könnte unter Umständen die Vorzüge von beiden Verfahren so vereinen, dass bessere Ergebnisse erzielt werden.
Student*in: Nora Simon
Betreuer*in: David Scheunert
Zeitraum: 22.04.2025 - 20.10.2025
Im Bereich der Entwicklung von Steuergeräten und eingebetteten Systemen hat sich seit einigen Jahren die Methodik "Hardware-in-the-loop" etabliert. Dabei wird ein Steuergerät nicht mit dem realen System verbunden, welches es kontrollieren soll, sondern mit einer Simulation dieses Systems. Diese Methodik lässt sich auch auf komplexe Regelungssysteme im wissenschaftlichen Bereich übertragen. So ist es denkbar, die Strahlregelung eines Cyclotrons nicht am realen Cyclotron zu testen und zu entwickeln, sondern stattdessen ein Modell eines Strahls zu rechnen und somit die Strahlreaktion auf die Regelungseingriffe nur zu simulieren.
Für den Simulator des Fachgebiets Rechnersysteme soll in dieser Arbeit eine neue Schnittstelle zur analogen Welt entworfen werden. Dafür wurden in einer vorherigen Arbeit bereits passende Analog-Digital-Wandler ausgesucht. Nun muss eine Platine für diese Wandler konstruiert, gefertigt und bestückt werden. Ziel dabei ist es auch, die Plattform für andere Anwendungen, wie beispielsweise den Photonen-Spektrum-Analyzer des Fachgebiets Terahertz Devices and Systems, nutzbar zu machen, sowie die Genauigkeit des Cavity-in-the-Loop-Projekts zu steigern.
Student*in: Ruiben Chen
Betreuer*in: Christoph Flothow
Zeitraum: 30.04.2025 - 28.10.2025
Ein wichtiger Schritt der Logik Synthese ist das sogenannte Technology Mapping, bei dem die gewünschte Funktionalität - in Form einer Booleschen Beschreibung vorliegend - auf die Elemente der Zieltechnologie abgebildet wird. Bei FPGAs sind diese die Lookup Tables.
Es existieren diverse Verfahren, um das Technology Mapping durchzuführen. Das akademische Tool ABC verwendet ein Verfahren, das auf sogenannten "Priority Cuts" basiert. Dies ist ein heuristisches Verfahren, das den Suchraum stark eingrenzt und daher sehr effizient ist, aber trotzdem sehr gute Ergebnisse erreicht. Die Güte der Ergebnisse, im Vergleich zu erschöpfender Suche, soll in dieser Arbeit betrachtet und ausgewertet werden.
Außerdem soll die Güte des Verfahrens bewertet werden, wenn größere Cuts benutzt werden, die nicht direkt auf Lookup Tables gemapped werden. Hier sollen dann auch mögliche Anpassungen betrachtet und alternative Strategien entwickelt werden, die mit diesen größeren Cuts besser umgehen können.
Projektseminare Bachelor
Student*in: Zoe Reigl
Betreuer*in: Jonas Gehrunger
Zeitraum: 14.11.2023 - 02.04.2024
Am Fachgebiet Rechnersysteme wird ein SoC-Kit rund um den SpartanMC Soft-Core entwickelt. Dieser ist ein speziell für die Verwendung in FPGAs entwickelter CPU-Core. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
Für den SpartanMC werden die Toolchains verschiedener FPGA-Hersteller, unter anderem von Xilinx/AMD und Altera/Intel, unterstützt. Der chinesische Hersteller Gowin stellt kompakte und günstige FPGAs her, die gut für die Anwendung in eingebetteten Anwendungen geeignet sind. Die verfügbaren Primitive in Gowin-FPGAs unterscheiden sich jedoch von denen, die etwa in Xilinx-FPGAs anzutreffen sind.
Ziel dieses Projektseminars ist es, das SoC-Kit und den SpartanMC Soft-Core auf FPGAs der LittleBee-Familie des Herstellers Gowin zu portieren. Dazu soll zunächst der SpartanMC Soft-Core zur Nutzung der Gowin-Primitive angepasst und anschließend die Unterstützung für die Gowin-EDA Toolchain in das SoC-Kit integriert werden.
Aufbauend auf diesem Projektseminar soll innerhalb einer Bachelorarbeit die korrekte Funktion der Portierung durch den Aufbau eines Demonstrators nachgewiesen werden. Details dazu finden sich hier. Das Projektseminar wird nur in Zusammenhang mit der Bachelorarbeit vergeben.Projektseminare Master
Student*in: Cagri Ipek
Betreuer*in: Jonas Gehrunger
Zeitraum: 15.04.2024 - 15.08.2024
In FPGAs werden zur Speicherung der Konfigurationsdaten typischerweise SRAM-Speicherzellen verwendet. Diese stellen einen flüchtigen Speicher dar, verlieren also bei Unterbrechung der Spannungsversorgung ihre Information. Deswegen wird an Non-Volatile (NV)-FPGAs geforscht, die nicht-flüchtigen Konfigurationsspeicher besitzen. Eine Möglichkeit, diese zu implementieren, stellen Speicherzellen aus Memristoren dar.
Memristoren sind elektrische Bauelemente, deren Widerstandswert von der Vorgeschichte des hindurchgeflossenen Stromes abhängt. Aufgrund der additiven Fertigung von Memristor-basierten Speichern ist davon auszugehen, dass ein gewisser Anteil der Speicherzellen defektbehaftet ist. Diese potentiellen Defekte müssen im Entwurf der Architektur und Synthese-Werkzeuge für NV-FPGAs berücksichtigt werden.
In vorhergehenden Arbeiten wurde gezeigt, dass traditionelle Routing-Elemente, die auf mehrstufigen Multiplexern basieren, besonders intolerant gegenüber defekten Speicherzellen sind. Daraufhin wurde eine neue Architektur für diese Switchbox-Elemente entwickelt, die Memristoren im Signalpfad verwendet. In Simulationen auf Architekturebene hat sich gezeigt, dass dies die Defekttoleranz deutlich steigert.
In diesem Projektseminar sollen zunächst die verfügbaren Modelle zur Schaltungssimulation von Memristoren untersucht werden. Für verschiedene Materialien und Verfahren soll dabei jeweils die Stabilität, Genauigkeit und Geschwindigkeit der verfügbaren Schaltungsmodelle evaluiert und analysiert werden. Aufbauend auf den Ergebnissen soll im Rahmen einer Masterarbeit dann die analoge Simulation von Switchbox-Elementen in FPGAs für verschiedene Bauteilparameter von Memristoren durchgeführt werden.
Student*in: Kacper Wiecek
Betreuer*in: Jonas Gehrunger
Zeitraum: 17.05.2024 - 30.08.2024
Am Fachgebiet Rechnersysteme wird im Rahmen des (EES)²-Projektes die Hardware-Beschleunigung der Schaltungssimulation von Memristoren mithilfe der Software SPICE untersucht. Dabei sollen neben dem aus der Schaltung abgeleiteten Gleichungssystem Modelle der Schaltungselemente in einem Hardwarebeschleuniger parallelisiert ausgewertet werden.
Zu diesem Zweck wurde in einer vorhergehenden Arbeit eine parametrisierbare und skalierbare Implementation eines Hardwarebeschleunigers in der Hardware-Beschreibungssprache Chisel entwickelt. Diese geht von Zeitschritten mit fester Breite während der Simulation aus.
SPICE benutzt die Breite der Zeitschritte während der Simulation, um die Berechnung von unnötigen Iterationen (z.B. zwischen Taktflanken in digitalen Schaltungen) zu minimieren und bei Schaltungen mit schlechtem Konvergenzverhalten durch eine sehr kleine Schrittweite eine höhere numerische Stabilität zu erreichen. Diese dynamische Anpassung der Zeitschrittweite soll innerhalb dieses Projektseminars implementiert und in den vorhandenen Hardware-Beschleuniger integriert werden.