Bachelor-Arbeiten
Student*in: Namik Eren
Betreuer*in: David Scheunert
Zeitraum: 24.06.2024 - 25.11.2024
Master-Arbeiten
Student*in: Danya Rivaldi
Betreuer*in: David Scheunert
Zeitraum: 22.07.2024 - 20.01.2025
Coarse Grained Reconfigurable Arrays (CGRA) sind hochparallele Rechenstrukturen, die eine sehr große Rechenleistung bereitstellen können. Häufig werden sie in Prozessor-basierte Systeme als Beschleuniger integriert. Dann werden rechenintensive Teile der Anwendung vom Prozessor an das CGRA delegiert.
Die Programmierung des CGRA erfolgt mit Hilfe eines sehr speziellen Schedulers, der den Binärcode für das CGRA generiert. Das Format der Eingangsdaten für den Scheduler ist eine spezialisierte Graph-Struktur (SCAR = Scheduler Application Representation).
In einigen Anwendungen ist es nützlich, wenn das CGRA stand-alone betrieben werden kann. In diesen Fällen soll seine Programmierung mit regulärem C-Code erfolgen.
Das existierende Tool für die Abbildung von C-Code auf SCAR-Graphen hat eine Reihe von Schwächen und beherrscht nicht alle Programmstrukturen, die gebraucht werden. Ziel dieser Arbeit ist es, ein neues Tool für die Abbildung von C-Code auf SCAR-Graphen zu entwickeln. Als Basis für dieses neue Tool kommen verschiedene Frameworks in Frage: Cetus, LLVM oder auch GCC.
Es bietet sich an, die Masterarbeit mit einem vorangestellten Projektseminar zu verbinden.
Student*in: Jonas Schoenen
Betreuer*in: Leon Mayrhofer
Zeitraum: 01.09.2024 - 31.03.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: Katharina Schultheis
Betreuer*in: Christoph Flothow
Zeitraum: 25.04.2024 - 24.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.
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.
Student*in: Laurenz Lemke
Betreuer*in: David Scheunert
Zeitraum: 15.04.2024 - 15.08.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.
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.