Analýza a optimalizace vybrané RISC-V open-source mikroarchitektury
RISC-V open-source microarchitecture analysis and optimization
Typ dokumentu
diplomová prácemaster thesis
Autor
Ondřej Golasowski
Vedoucí práce
Štepanovský Michal
Oponent práce
Jeřábek Stanislav
Studijní obor
Návrh a programování vestavných systémůStudijní program
InformatikaInstituce přidělující hodnost
katedra číslicového návrhuObhájeno
2025-06-12Práva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Tato diplomová práce se zaměřuje na návrh soft-procesoru a systému na čipu (SoC). Procesor je založen na rozšíření stávající RISC-V mikroarchitektury. Cílem je analyzovat a implementovat funkcionality, které umožní využít procesor v praktických aplikacích, přičemž je kladen důraz na zachování jednoduchosti původní mikroarchitektury. Tato vlastnost je klíčová pro využití ve výuce počítačových architektur. Výsledkem práce je procesor s jednocyklovou mikroarchitekturou podporující instrukční sadu RV32IMZicsr, privilegovaný režim Machine Mode a ladění prostřednictvím nástroje GNU Debugger dle oficiální specifikace. Procesor je taktován na frekvenci 50 MHz a využívá systémovou sběrnici Wishbone. V rámci práce byl rovněž vyvinut systém na čipu integrující navržený procesor a širokou škálu periferií, včetně 512 KiB systémové RAM, HDMI audio-video adaptéru, sériového portu, univerzálních vstupů a výstupů, ladicího modulu a dalších komponent. Systém je syntetizovatelný pro FPGA platformu Nexys Video a obsahuje kompletní simulační konfiguraci s podporou virtuálního JTAG rozhraní. Syntéza i simulace jsou řízeny jednotným konfiguračním nástrojem, který slouží jako uživatelsky přívětivé rozhraní nad nástroji hardwarového návrhu (EDA tools). Součástí práce je také softwarová podpora v podobě vývojové sady (SDK) pro jazyk C. Sada zahrnuje nízkoúrovňové i vysokoúrovňové ovladače pro periferie a je demonstrována na vzorových aplikacích, například hudebním přehrávači. Celkový návrh systému byl koncipován s důrazem na jednoduchost a srozumitelnost, což z něj činí vhodný nástroj pro vzdělávací účely. This master's thesis focuses on the soft-processor and system on chip (SoC) design. The processor is based on the extension of a RISC-V processor microarchitecture. The aim is to analyze and implement features that enable practical use of the soft-processor, while maintaining the simplicity of the original microarchitecture. This property is crucial for applications in computer architecture courses. The outcome of the thesis is a processor with a single-cycle microarchitecture supporting the RV32IMZicsr instruction set, the Machine Mode privileged level, and debugging via the GNU Debugger tool according to the official specification. The processor operates at a clock frequency of 50 MHz and uses the Wishbone system bus. As part of the work, a system on chip was also developed, integrating the designed processor and a wide range of peripherals, including 512 KiB of system RAM, an HDMI audio-video adapter, a serial port, general-purpose inputs and outputs, a debugging module, and other components. The system is synthesizable for the Nexys Video FPGA platform and includes a complete simulation setup with support for a virtual JTAG interface. Both synthesis and simulation are managed by a unified configuration tool, which works as a user-friendly front-end for underlying electronic design automation (EDA) tools. The thesis also includes software support in the form of a C language Software Development Kit (SDK). The SDK provides both low-level and high-level drivers for peripherals. The use of the SDK is illustrated through sample applications, such as a music player. The overall system design was conceived with a strong emphasis on simplicity and clarity, making it a suitable tool for educational purposes.