Student : Python-Entwicklung: Constant-Propagation zur Optimierung digitaler Schaltungen
Role details
Job location
Tech stack
Job description
Die Optimierung digitaler Schaltungen hinsichtlich Fläche und Performanz ist ein entscheidender Prozess in der modernen Hardwareentwicklung. Am IMMS wird ein eigens entwickeltes Python-Framework verwendet, das Netzlisten automatisiert einliest, analysiert und modifiziert. Ein Kernaspekt dieser Optimierung ist die sogenannte "Constant Propagation". Aktuell kann das Tool Gatter vereinfachen, deren Eingänge vollständig konstant sind. Im Folgenden soll diese Funktionalität auf komplexere Fälle ausgeweitet werden: Eine Logik für Gatter soll implementiert werden, bei denen nur ein Teil der Eingänge konstant ist. Unter Ausnutzung der Gesetze der booleschen Algebra sollen diese Schaltungsteile effizient reduziert und das konstante Signal korrekt propagiert werden, sodass die ausgegebene Schaltung hinsichtlich des Platzbedarfs weiter optimiert wird. Das Aufgabengebiet umfasst die Einarbeitung in die bestehende Software-Architektur, die systematische Analyse der Gatter-Logik (welche Fälle lassen sich optimieren) sowie die entsprechende Implementierung und Dokumentation der neuen Features in Python. Gute Programmierkenntnisse in Python und ein Grundverständnis von Digitalschaltungen werden vorausgesetzt., * Analyse des Verhaltens primitiver Gatter, wenn nur ein Teil der Eingänge konstant ist (z. B. ein Eingang eines AND-Gatters liegt auf "0", dann ist der Ausgang immer "0") und Erarbeitung von Optimierungsregeln basierend auf den Gesetzen der Booleschen Algebra
- Implementierung der erarbeiteten Optimierungsregeln samt Dokumentation
Requirements
- Fortgeschrittene Python-Kenntnisse
- Grundlegende Kenntnisse von Digitalschaltungen
- Grundlegende Kenntnisse im Umgang mit Git
Benefits & conditions
Während deines Studiums kannst du dich bei uns in laufende Forschungsprojekte einbringen. Geh mit uns an Grenzen des technisch Machbaren und sei dabei, wenn wir gemeinsam Neuland betreten. Wir bieten vielfältige herausfordernde und praxisorientierte Themen für Pflichtpraktika, Bachelor- bzw. Master-Arbeiten oder studentische Assistenztätigkeiten an. Du analysierst wichtige wissenschaftliche Vorlauffragestellungen und stehst den Projektteams mit unterstützenden Entwicklungstätigkeiten zur Seite., * einen attraktiven Arbeitsplatz in einem modernen sehr gut ausgestatteten und industrienah agierenden Forschungsinstitut
- Arbeit direkt an der Schnittstelle zwischen Universität und Industrie
- Mitarbeit in einem flexiblen und kreativen Team und an innovativen herausfordernden Themen