Bachelor Theses
Student: Nikolai Shauchenka
Supervisor: Leon Mayrhofer
Time period: 09/01/2025 - 03/02/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: Michael Peter
Supervisor: Katharina Schultheis
Time period: 12/11/2025 - 05/13/2026
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 auf Memristor-Basis dar.
Memristoren sind elektronische 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 von NV-FPGAs berücksichtigt werden. Daher wird derzeit an alternativen Architekturen sowohl für Logikblöcke als auch Routing-Netzwerke geforscht. Im Zuge dessen müssen auch die Tools für die Logiksynthese angepasst oder neu entwickelt werden.
Im Rahmen dieser Arbeit soll ein bereits existierendes Technology Mapping-Verfahren um ein Verbindungsnetzwerk erweitert werden, welches es ermöglicht, innerhalb dieses Netzwerkes Signale kombinatorisch zu verknüpfen. Hierfür muss das Mapping von Funktionen angepasst werden, sodass von diesen Verbindungen Gebrauch gemacht werden kann.
Master Theses
Student: Rocío Dominguez Moa
Supervisor: Katharina Schultheis
Time period: 11/26/2025 - 05/26/2026
In traditional Field Programmable Gate Arrays (FPGAs), Look-Up-Tables (LUTs) are used to realize logic functions. They contain SRAM-based memory cells which store a design's configuration data. This memory type is volatile, i.e. data is lost as soon as the device’s power supply is disrupted and consequently needs to be rewritten during each power up. As an alternative, Non-Volatile (NV)-FPGAs are a current research topic. One technology that allows the realization of non-volatile memory cells is the use of memristors.
The memristor is an electrical component whose resistance depends on the history of current flowing through it. Due to its fabrication process, a number of memristors will likely be defective. Even a single damaged memory cell reduces the usability of a traditional LUT significantly. Therefore, an alternative architecture for FPGA logic elements is being developed which is more resilient to those defects. Since state-of-the-art FPGA synthesis tools only support technology mapping to LUTs, new approaches need to be developed which are suited for those alternative architectures.
The goal of this thesis is the development and evaluation of such a technology mapping approach.
Project Seminars Bachelor
Student: Zoe Reigl
Supervisor: Jonas Gehrunger
Time period: 11/14/2023 - 04/02/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.Project Seminars Master
Student: Cagri Ipek
Supervisor: Jonas Gehrunger
Time period: 04/15/2024 - 08/15/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: Kacper Wiecek
Supervisor: Jonas Gehrunger
Time period: 05/17/2024 - 08/30/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.