Bachelor Theses
Supervisor: David Scheunert
Earliest start: 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.
Supervisor: Christoph Flothow
Earliest start: sofort
Ein wichtiger Schritt der Logiksynthese ist das sogenannte Technology Mapping, bei dem die gewünschte Funktionalität - in Form einer Booleschen Beschreibung vorliegend - auf die Elemente der Zieltechnologie abgebildet wird. Bei FPGAs sind diese die Lookup Tables (LUTs).
Es existieren diverse Verfahren, um das Technology Mapping durchzuführen. Viele dieser Verfahren basieren darauf, die gewünschte Funktionalität zuerst als ein Boolesches Netzwerk darzustellen, und dann auf diesem Netzwerk Cuts so zu machen, dass die entstehenden Subgraphen jeweils mit einer einzelnen LUT implementiert werden können. Ein Vorteil dieser Verfahren ist, dass sie auch bei größeren und komplexeren Funktionen angewendet werden können, die für viele andere Herangehensweisen nicht mehr handhabbar sind. Allerdings hängt die Qualität des Ergebnisses sehr stark von dem initialen Netzwerk ab und jede Funktion kann auf beliebig viele verschiedene Boolesche Netzwerke abgebildet werden.
Ziel dieser Arbeit ist es, ein simples Technology Mapping Verfahren zu implementieren, dass direkt auf die Wahrheitstabelle einer Funktion angewendet werden kann. So kann garantiert werden, dass die Tiefe und die benötigte Anzahl der LUTs der finalen Lösung unter bestimmten Schranken bleiben. Die Korrektheit der Implementierung soll dann anhand mehrerer Benchmarks nachgewiesen werden.
Bei Bedarf kann auch ein Projektseminar vor der eigentlichen Arbeit angeboten werden.
Master Theses
Supervisor: Christoph Flothow
Earliest start: 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. Eine mögliche Optimierung dieses Verfahrens ist es, den AIG um sogenannte Structural Choices zu erweitern. Hier werden Choice Nodes dem AIG hinzugefügt, wo an jedem Eingang prinzipell identische, strukturel jedoch unterschiedliche Subgraphen angeschlossen sind. Da alle Eingänge funktional identisch sind, muss allerdings nur eine dieser Varianten tatsächlich implementiert werden, und während des Mappings kann der Algorithmus die Variante wählen, die das aktuelle Optimierungsziel am besten erreicht.
Die Erweiterung des AIG um solche Choice Nodes wird aktuell von ABC nur vor dem eigentlichen Mapping durchgeführt. Im Gegensatz dazu ist das Ziel dieser Arbeit, den Priority Cuts Algorithmus so zu erweitern, dass dynamisch während des Mappings neue Choice Nodes dem Graphen hinzugefügt werden nach gewissen Kriterien. Insbesondere wird erwartet, dass so die Tiefe des finalen Mappings verbessert werden kann.
Project Seminars Bachelor
Supervisor: David Scheunert
Earliest start: 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.
Supervisor: Julian Veit
Earliest start: sofort
Am Fachgebiet Rechnersysteme werden regelmäßig verschiedene Platinen entwickelt und von Hand bestückt. Eine automatische Bestückung ist i.d.R. bei kleinen Stückzahlen zu teuer oder auch gar nicht möglich, weil andere Bauteile benötigt werden, die die Dienstleister nicht zur Verfügung haben. Am Fachgebiet wird daher ein Tool (placers) entwickelt, welches die Beschreibung einer Platine einliest (GERBER-Format) und einen Bestückungsplan nach bestimmten Kriterien erstellt. Anschließend wird dieser Plan während der Bestückung interaktiv dargestellt, sodass die Bestückung möglichst einfach und schnell von der Hand geht.
Im Rahmen dieses Projektseminars soll placers um einen Laser-Galvanometer erweitert werden. Dazu ist eine Platine zu entwickeln, welche die digitale Ansteuerung des Galvanometers übernimmt und ein Protokoll zur Steuerung über USB ermöglicht. Des Weiteren ist eine zweite, kleinere Platine zur Modulation des Lasers zu entwerfen. Abschließend soll das neue System in placers integriert werden, sodass z. B. das aktuell zu bestückende Teil umrahmt wird.
General Information
In principle, no topics are offered for which it is sufficient if the only programming knowledge is of the Python programming language.
If you are interested in one of the topics but the type of thesis does not match, you can cantact the supervisor anyway. Maybe, the work can be adopted to your requirements or a similar topic can be found.
The Bachelor Project Seminars listed here are only assigned to students who do not major in Computer Engineering (B.Sc. ETiT). In project seminars, students often work on topics similar to their succeeding bachelor theses. Therefore, you can have a look at bacholor theses topics when you are looking for a project seminar topic.