2023-06-252023-06-25https://tore.tuhh.de/handle/11420/15780Ein gegebenes digitales System zu verstehen, ist mindestens genauso schwer, wie es zu entwerfen. Insbesondere gilt dies für Systeme, die im Rahmen großer Projekte entworfen werden, in denen keine Einzelperson alle Details kennt, existierende Komponenten mit schlechter oder veralteter Dokumentation wiederverwendet werden und die Team-Mitglieder häufig wechseln. Designer versuchen dann, die innere Logik des Entwurfes mittels verschiedener Quellen zu verstehen -- informelle Gespräche mit Team-Mitgliedern, textueller Information wie Dokumenten zu Anforderungen und Spezifikationen und Review sowie Ausführung von Quellcode und Testfällen.Das vorliegende Projekt möchte Designer darin unterstützen, den Quellcode eines Systementwurfes auf Register Transfer Ebene (RTL) zu verstehen und setzt auf einen durchgängigen Ansatz:Es sollen Methodik, Theorie und Algorithmen untersucht werden, um Designer durch den Quellcode "zu führen". Um die zugrunde liegende Komplexität zu handhaben und genaue Erklärungen zu einem Entwurf zu liefern, soll eine Entwurfsumgebung zur interaktiven Nutzung realisiert werden, die eine leicht-gewichtige Führung mit Algorithmen kombiniert, die automatisch Ergebnisse berechnen, die gut zu verstehen sind. Die Entwurfsumgebung, welche die Methodik realisiert und die darunter liegenden Algorithmen nutzt, soll in empirischen Entwurfsstudien evaluiert werden. Diese Studien sollen Entwurfsaufgaben auf frei verfügbaren System-Entwürfe betrachten.Das Projekt geht weit über den Stand der Technik hinaus, da es eine Methodik für das Verstehen von Entwürfen formalisieren, den Prozess durchgängig von einer vollständigen Entwurfsaufgabe bis hin zu einzelnen Teilschritten untersuchen und eine umfassende Evaluation des praktischen Nutzens in empirischen Studien realisieren soll. DFG-Verfahren SachbeihilfenUnderstanding a given digital system is at least as hard as implementing it. Particularly this holds for systems designed in large projects where no single person knows all details, legacy components with poor or outdated documentation are reused, and team members change regularly. Designers then try to understand the inner logic of the design using various sources -- informal discussions with team members, textual information like documents for requirements and specifications, and review as well as execution of source code and test cases.This project strives to support a designer in understanding the source code of a system design at Register Transfer Level (RTL) in a holistic way:We will study methodology, theory, and algorithms to guide a designer through the source code. To handle the underlying complexity and to provide concise explanations for a design, we will devise a framework for interactive usage that combines light-weight guidance with algorithms that automatically derive result which are understandable. The framework implementing our methodology and underlying algorithms will be evaluated in empirical design studies for different tasks on practical designs taken from the open source domain.The project is ground breaking as it formalizes the methodology for design understanding, holistically addresses design understanding starting from a full design task to individual steps, and comprehensively evaluates the practical impact in empirical studies.Methodik, Algorithmen und Umgebung zum Verstehen von Hardware-BeschreibungenMethodology, Algorithms, and Framework for Hardware Design Understanding