Offene Arbeiten

Bachelor-Arbeiten

Betreuer*in: Ramon Wirsch
Frühester Beginn: sofort

Am Fachgebiet Rechnersysteme werden Hardware-Beschleuniger für verschiedene Prozessorarchitekturen entwickelt. Hierzu sollen reguläre Programme ohne jegliche Anpassungen an den Hardware-Beschleuniger zur Laufzeit analysiert und partiell mit diesem ausgeführt werden können.

Eine Form dieser Beschleuniger ist das CGRA, das sich insbesondere durch seine Parallelität mit vielen gleichzeitig arbeitenden Recheneinheiten auszeichnet. Die Recheneinheiten arbeiten aber nicht unabhängig voneinander, sondern müssen regelmäßig, taktgenau Daten zwischeneinander austauschen. Das Debuggen von Programmen, sogenannten Kerneln, für diese Hardwarebeschleuniger ist dementsprechend schwer.

Im Rahmen dieser Arbeit soll ein grafisches Tool entwickelt werden, um die Kernel für das CGRA nachzuvollziehen. Es soll möglich sein, jeden einzelnen Zeitschritt des Kernels detailliert, grafisch darzustellen und die exakten Tätigkeiten jeder einzelnen Einheit zu erkennen und sich schrittweise durch die Zeitschritte zu bewegen.

Die CGRA-Programme werden automatisch von einem Scheduler erzeugt. Deshalb soll die grafische Darstellung auch Informationen des Schedulers über die Erstellung des Programms nutzen können. So können Nutzer besser nachvollziehen, warum zum Beispiel eine bestimmte Operation nur auf einer bestimmten Einheit ausgeführt werden kann oder warum der Beschleuniger auf spezifische Daten warten muss. Auf der Suche nach Fehlern können so schneller unerwartete Scheduling-Entscheidungen identifiziert werden.

Es existiert bereits ein taktgenauer Simulator des CGRAs, der genutzt werden kann, um auch echte Werte aus der Simulation in die Darstellung zu integrieren. So könnte das Tool bis hin zu einem vollständigem Debugger für den CGRA ausgebaut werden.

Betreuer*in: Tobias Schwarz
Frühester Beginn: sofort

Am Fachgebiet Rechnersysteme wird ein Verfahren zur Abbildung digitaler Entwürfe auf FPGA-Technologie entwickelt, das Binary Decision Diagrams (BDDs) als Zwischendarstellung nutzt. Ein entscheidender Faktor für die Laufzeit des Verfahrens ist die Performanz der BDD-Erzeugung. Aktuell wird eine in Kotlin geschriebene Bibliothek verwendet, die aus in BLIF beschriebenen Entwürfen BDDs generiert. Diese weist für Funktionen mit vielen Variablen eine sehr große Laufzeit auf, was die Abbildung von komplexen Entwürfen erschwert oder verhindert.

Das Ziel dieser Bachelorarbeit ist die Optimierung der BDD-Bibliothek, sodass diese auch aus komplexen Entwürfen BDDs generieren kann. Für die Bearbeitung sind Vorkenntnisse in Kotlin sowie sehr gute Programmierkenntnisse gute Voraussetzungen.

Master-Arbeiten

Betreuer*in: Tobias Schwarz
Frühester Beginn: sofort

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 passive 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 fehlerbehaftet 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 Fehler und ihre Auswirkungen also im Sinne einer besseren Fehlertoleranz berücksichtigt werden.

Das Ziel dieser Masterarbeit ist die Evaluation eines Logikelements für NV-FPGAs, dessen Grundstruktur auf einem Programmable Logic Array (PLA) basiert. Dafür muss zunächst ein Abbildungsalgorithmus für das neue Logikelement entwickelt werden. Dann können im Rahmen einer Design Space Exploration die Parameter des Logikelements optimiert werden und seine Toleranz gegenüber defekten Speicherzellen evaluiert werden.

Generelle Hinweise

Wenn Sie eines der Themen interessiert, es sich aber um die falsche Art der Arbeit handelt, können Sie trotzdem Kontakt mit dem/der Betreuer/in aufnehmen. Möglicherweise kann die Arbeit Ihren Bedürfnissen angepasst werden oder es findet sich ein ähnliches Thema.

Die hier aufgeführten Bachelor-Projektseminare werden nur an Studierende vergeben, die nicht Datentechnik (B.Sc. ETiT) vertiefen. Projektseminare werden häufig in einem ähnlichen Themenbereich wie die anschließende Bachelor-Arbeit absolviert. Daher können Sie bei der Suche nach einem Projektseminar auch nach den Themen für Bachelor-Arbeiten schauen.