Laufende Arbeiten

Bachelor-Arbeiten

Student*in: Sebastian Engel
Betreuer*in: Jonas Gehrunger
Zeitraum: 05.02.2024 - 05.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.

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*in: Jan Osterwisch
Betreuer*in: Christoph Flothow
Zeitraum: 01.03.2024 - 30.08.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-Arbeiten

Student*in: Katharina Schultheis
Betreuer*in: Tobias Schwarz/Jonas Gehrunger
Zeitraum: 08.04.2024 - 07.04.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*in: Jian Jiang
Betreuer*in: Jonas Gehrunger
Zeitraum: 11.12.2023 - 10.06.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.

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.