Running Theses

Bachelor Theses

Student: Sebastian Engel
Supervisor: Jonas Gehrunger
Time period: 02/05/2024 - 08/05/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.

Für das Lösen des linearen Gleichungssystems innerhalb einer Iteration sowie für die Linearisierung der Modelle wurde je in einer vorangehenden Arbeit bereits ein Beschleuniger implementiert. Für die bessere Verwendbarkeit der Hardware soll nun die Integration in die SPICE-Anwendung, die auf dem Host-PC läuft, vollzogen werden. Dafür müssen sowohl die Eingabedaten der Simulation an den Beschleuniger übertragen, als auch die berechneten Ergebnisse wieder in SPICE zurückgeführt werden, damit dort eine Auswertung möglich ist.

In dieser Arbeit soll der Austausch von Daten zwischen ngspice auf dem Host-PC und dem in der Hardwarebeschreibungssprache Chisel auf dem FPGA implementierten Beschleuniger realisiert werden.

Student: Jan Osterwisch
Supervisor: Christoph Flothow
Time period: 03/01/2024 - 08/30/2024

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 ein Technology Mapping Verfahren entwickelt, welches auf Binary Decision Diagrams (BDDs) basiert. Diese werden aus der Eingabedatei generiert, wobei aktuell durch das wiederholte Einsetzen von Funktionen genau ein BDD pro Ausgangsfunktion erstellt wird. Dies hat zur Folge, dass bei komplexeren Entwürfen mit steigender Anzahl an Variablen pro Ausgangsfunktion die Verarbeitungszeit dramatisch steigt und die Ergebnisqualität sinkt. Entsprechend wird ein neuer Ansatz versucht, bei dem die Anzahl an generierten BDDs an die Komplexität der jeweiligen Funktion angepasst wird. Das Ziel dieser Bachelorarbeit ist das Optimieren und Erweitern der BDD-Bibliothek, um das Mappen von komplexeren Entwürfen zu ermöglichen.

Master Theses

Student: Jonas Schoenen
Supervisor: Tobias Schwarz
Time period: 09/01/2024 - 03/31/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: Katharina Schultheis
Supervisor: Tobias Schwarz/Jonas Gehrunger
Time period: 04/25/2024 - 04/24/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 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. Eine einzige defekte Speicherzelle mit undefiniertem Zustand führt dazu, dass klassische Look-up-Tables (LUTs) nur noch zur Hälfte nutzbar sind. Beim Entwurf von Logik-Elementen für NV-FPGAs müssen potentielle Defekte und ihre Auswirkungen also im Sinne einer besseren Defekttoleranz berücksichtigt werden.

Das Ziel dieser Masterarbeit ist der Entwurf eines alternativen Logikelements für NV-FPGAs. Die Entwurfsparameter des Elements sollen im Rahmen einer ausführlichen Design Space Exploration ermittelt werden. Diese soll auf einem aussagekräftigen Satz von Schaltungsentwürfen beruhen. Als Zielfunktionen der Optimierung sind sowohl der Hardware-Bedarf, die Verzögerungszeit, als auch die Defekttoleranz zu berücksichtigen.

Student: Jian Jiang
Supervisor: Jonas Gehrunger
Time period: 12/11/2023 - 06/10/2024

Am Fachgebiet Rechnersysteme wird im Rahmen des (EES)²-Projektes die hardwarebeschleunigte Schaltungssimulation von Memristoren mithilfe der Software SPICE untersucht. Dabei werden Modelle der Schaltungselemente in einem Hardwarebeschleuniger parallelisiert ausgewertet und das resultierende Gleichungssystem gelöst. Ein Engpass der Simulation ist das Erzeugen des Gleichungssystems, da hierbei eine große Anzahl von Speicherzugriffen durchgeführt wird.

Eine Möglichkeit, das Volumen der Speicherzugriffe zu reduzieren und die Anzahl der Speicherabhängigkeiten bei der Modellauswertung zu minimieren besteht darin, die Berechnung der Werte von der Addition auf Matrixeinträge zu trennen. Dies würde den Modelleinheiten ermöglichen, ihre Beiträge zu einem Eintrag und die Addresse des Eintrags zurückzugeben statt den vollen Wert jedes Matrixeintrages zu bestimmen. Eine Herausforderung bei diesem Ansatz ist, dass das Lesen aus dem Speicher, die Durchführung einer Floating-Point Addition und das Zurückschreiben des Ergebnisses mehrere Takte in Anspruch nimmt und mögliche überlappende Zugriffe berücksichtigt werden müssen.

In dieser Arbeit soll ein Cache-inspirierter Matrix-Akkumulator implementiert werden. Er soll die von den Modelleinheiten zurückgegebenen Beiträge zu den Matrixeinträgen sammeln und zusammenfassen, bevor sie mit einer möglichst kleinen Gesamtzahl an Speicherzugriffen zurückgeschrieben werden.

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.

Student: Laurenz Lemke
Supervisor: Jonas Gehrunger
Time period: 04/15/2024 - 08/15/2024

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 auszutesten und zu entwickeln, sondern stattdessen ein Modell eines Strahls zu rechnen und somit die Strahlreaktion auf die Regelungseingriffe nur zu simulieren.

Am Fachgebiet Rechnersysteme wird seit mehreren Jahren an Coarse Grained Reconfigurable Arrays (CGRA) als Rechenbeschleuniger geforscht. Dabei wurde in einem vorhergehenden Projekt auch schon ein physikalisches Modell in einem industriellen Umfeld in Echtzeit simuliert. CGRAs haben also bereits bewiesen, dass sie für den Einsatz in Echtzeitsystemen gut geeignet sind. Es bietet sich daher an, die Strahlsimulation ebenfalls mithilfe von CGRAs zu realisieren. Dies wurde im Rahmen einer vorhergehenden Arbeit umgesetzt und die Implementation am realen Strahlregelungssystem getestet.

Im Rahmen dieses Projektseminars soll die Stabilität der Verarbeitung der Eingangssignale des Simulators verbessert werden. Dazu soll zunächst das Fehlerbild untersucht werden, dass zum Aufschwingen der Simulation führt. Anschließend soll die Verarbeitung der Eingangssignale angepasst werden, um etwa Nullstellen und Umlaufzeiten des Eingangssignals zuverlässig zu erkennen und interpolierte Fließkommazeitpunkte zu liefern.

In einer weiterführenden Bachelorarbeit soll dann das Modell des Simulators angepasst werden, um die interpolierten und genaueren Messwerte ideal nutzen zu können.

Project Seminars Master

Student: Nico van de Weijer
Supervisor: Jonas Gehrunger
Time period: 04/22/2024 - 07/28/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.

Um bei Änderung des Programms nicht eine volle Synthese zur Änderung des Speicherinhaltes durchführen zu müssen, wurde für das SpartanMC SoC-Kit eine Library entwickelt, die auch einen nachträglichen Ausstausch von Speicherinhalten im fertigen Bitstream in Sekunden ermöglicht. Da dieser Austausch nicht für alle Konstellationen aus FPGA und Speicherstruktur funktioniert, soll FPGoAt überarbeitet werden.

Ziel dieses Projektseminars ist es, einen Überblick über die vorhandenen Tools zur Modifikation von Speicherinhalten in Bitstreams, deren Möglichkeiten und Einschränkungen zu gewinnen. Dazu gehören etwa Rapidwright, das für den Microblaze Soft-Core angebotetene updatemem und weitere. Korrektes Verhalten des jeweiligen Tools soll mit einer Reihe an Beispielprojekten überprüft werden.

Aufbauend auf diesem Projektseminar soll im Rahmen einer Masterarbeit das am besten geeignete Tool in FPGoAt integriert werden, um die nachträgliche Aktualisierung von beliebigen Speicherinhalten ermöglichen.

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.