Offene Arbeiten

Bachelor-Arbeiten

Betreuer*in: David Scheunert
Frühester Beginn: im Anschluss an Projektseminar

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.

In einem vorhergehenden Projektseminar werden das SpartanMC SoC-Kit und der Softcore Prozessor auf die Toolchain des chinesischen FPGA Herstellers Gowin portiert. Aufbauend auf dieser Arbeit soll nun die korrekte Funktion der Portierung durch den Aufbau eines Demonstrators nachgewiesen werden. Als Grundlage für den Demonstrator soll das Spiel "Whack-A-Mole" (Video) dienen.

Für den Demonstrator sollen in der Arbeit Steuerungsplatine, mechanischer Aufbau (inklusive Modellierung und 3D-Druck) und Software für den SpartanMC entwickelt und aufgebaut werden.

Das Thema wird nur in Zusammenhang mit dem vorhergehenden Projektseminar vergeben. Details zum Projektseminar finden sich hier.

Projektseminare Bachelor

Betreuer*in: David Scheunert
Frühester Beginn: sofort

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.

Projektseminare Master

Betreuer*in: Christoph Flothow
Frühester Beginn: sofort

Das Technology Mapping ist ein wichtiger Schritt in der Logiksynthese, in der die gewünschte Funktionalität der Schaltung, als Boolesche Funktionen beschrieben, auf Elemente der Zieltechnologie abgebildet wird. Bei FPGAs handelt es sich hierbei um Lookup Tables (LUTs). Die Güte dieser Abbildung kann sowohl Auswirkungen auf die erreichbare Taktfrequenz, als auch auf die Anzahl der LUTs und somit auf die Größe des benötigten FPGAs haben.

Ein gängiges Verfahren in diesem Bereich ist der sogenannte Priority Cuts Algorithmus, der in dem open source Tool ABC implementiert ist. Hier werden Cuts in einem And-Inverter Graph (AIG) so gesetzt, dass die gesamte Logik, die in einem Cut enthalten ist, direkt auf eine einzelne LUT abgebildet werden kann. Diese Cuts sind in ihrer Größe stark begrenzt, da die Anzahl an Eingangssignalen limitiert ist auf die Anzahl der Eingänge einer einzelnen LUT. Eine Erweiterung dieses Verfahrens hat erreicht, dass etwas größere Cuts im Laufe des Mappings mit einbezogen werden konnten, in dem diese später weiter dekomponiert werden. Dies führte dann zu besseren Ergebnissen in Bezug auf die Tiefe des Mappings.

Der aktuelle Algorithmus ist auf Cuts mit einer Größe von maximal 11 Eingängen begrenzt. Es wird vermutet, dass die Nutzung von größeren Cuts hier zu einer Verbesserung der Ergebnissen führen könnte. Ziel dieser Arbeit ist es, zu analysieren wie häufig es vorkommt, dass mit größeren Cuts eine sogenante "Composition Funktion" gefunden werden kann, die mit einer LUT mit 6 Eingängen realisiert werden kann. Je nachdem, welche Erkenntnisse aus dieser Analyse gewonnen werden, wäre es möglich eine Abschlussarbeit anzuschließen, wo die tatsächliche Erweiterung des Algorithmus vorgenommen wird.

Generelle Hinweise

Es werden grundsätzlich keine Arbeiten angeboten, für die ausschließlich Kenntnisse in der Programmiersprache Python eine ausreichende Grundlage an Programmiererfahrung darstellen.

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.

Logo des Fachgebiets