Egert, F. (2023). FRANCIS-V: FRAmework for iNtegrating custom instructionS into RISC-V systems [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.105102
Embedded Systems sind ein unverzichtbarer Bestandteil in nahezu allen Bereichen des heutigen Lebens. Während die Designanforderungen stetig steigen, bedingen wachsende Einsatzfelder eine gewisse Vielseitigkeit dieser Systeme. Application Specific Instruction Set Processors (ASIPs) besitzen ein solches vielseitiges Grundset an Instruktionen, welches zur Effizienzsteigerung mit anwendungsspezifischen Custom Instructions (CIs) erweitert werden kann. Die aufstrebende Open-Source-Architektur RISC- V belebt dieses Thema mit neuen Herausforderungen. Die RISC-V-Community benötigt Tools zur Automatisierung des aufwendigen CI-Entwicklungsprozesses, vor allem, um dem Mangel an flexiblen Integrationslösungen für kompatible und wiederverwendbare Komponenten entgegenzuwirken. In dieser Arbeit wird FRANCIS-V vorgestellt, ein Framework zur Verringerung des Integrationsaufwands von CI-basierten Systemen. Das Framework generiert Coprozessoren basierend auf dem CORE-V eXtension Interface (XIF) der OpenHW Group und stellt ein zugehöriges RISC-V-Prozessorsystem, einen Compiler, einen Simulator, und Verifikationsfunktionen zur Verfügung. Weiters wird eine umfassende Analyse des CI-Entwicklungsprozesses präsentiert und Auswahl, Hardwaregenerierung, Integration und Verifikation von CIs als dessen herausforderndste Teilaufgaben identifiziert. Um die Zeit zu ermitteln, die durch den Einsatz von FRANCIS-V im Entwicklungsprozess gewonnen werden kann, wurden Expertenmeinungen eingeholt. Die Auswertung ergibt eine Zeitersparnis von etwa 16 Werktagen oder 34% der gesamten Entwicklungszeit. Die durch das Framework generierten Systeme werden weiters auf Basis der Anwendungsfälle AES und CRC beurteilt. Bei der Evaluierung ergibt sich eine deutliche Reduktion der benötigten Taktzyklen um bis zu 87.53% und nur ein geringfügiger LUT- und FF-Utilization-Overhead von 0.85% und 2.75%, wodurch FRANCIS-V ähnliche Werte gegenüber vergleichbaren Tools erzielt. Die generierten Coprozessoren unterstützen ein vielfältiges Spektrum an CIs und sind kompatibel zu XIF-basierten RISC-V Prozessoren. In dieser Arbeit wird die Notwendigkeit von flexiblen und standardisierten RISC-V CI Interfaces betont und die Weiterentwicklung von CI-Integration und der übergeordneten CI-Entwicklungsautomatisierung motiviert. FRANCIS-V trägt zur CI-Integration und Verifikation bei und ist im Hinblick auf ein Zusammenspiel mit zukünftigen Identifikations- und Hardwaregenerierungs-Tools konzipiert. Sowohl unerfahrene als auch versierte Entwickler können von dem optimierten CI-Entwicklungsprozess profitieren.
de
Embedded systems are essential building blocks in nearly every aspect of today’s life. Simultaneously to increasingly tight design requirements, the steady growth of application fields raises the need for versatile systems. Application Specific Instruction Set Processors (ASIPs) offer an efficiency and versatility trade-off by providing a flexible base instruction set extensible with application-specific Custom Instructions (CIs). The emerging open-source architecture RISC-V introduces new challenges to the topic. The RISC-V ecosystem requires tools for automating the tedious CI development process. In particular, there is a lack of flexible methodologies to facilitate the integration of compatible and reusable components. This thesis proposes FRANCIS-V, an integration framework to reduce the effort required for designing CI-based systems. Its main contribution is a flexible interfacing methodology for coprocessor generation based on the OpenHW Group’s CORE-V eXtension Interface (XIF), complemented by a predefined RISC-V processor system as well as compilation, simulation, and verification features. The thesis further proposes a comprehensive analysis of the CI development process, recognizing CI identification, hardware generation, integration, and verification as its major challenges. An expert estimation is performed to evaluate the potential development time reduced by utilizing FRANCIS-V, yielding a reduction of around 16 workdays or 34% of saved total time. The generated systems are further evaluated based on two use cases, AES and CRC. The evaluation yields a considerable cycle count decrease of up to 87.53% and a marginal LUT and FF utilization overhead of 0.85% and 2.75%, respectively, positioning the framework as competitive to comparable tools. The generated coprocessors support a broad range of CIs and are compatible with XIF-based RISC-V processors. FRANCIS-V contributes to the identified challenges of CI integration and verification, and it is further designed for collaboration with prospective identification and hardware generation solutions. It significantly improves the CI development process for designers with varying expertise. The thesis emphasizes the need for flexible and standardized RISC-V CI interfacing solutions and motivates further work on CI integration and overall CI design automation.