Design-Praxis RISC-V Von den Grundlagen bis zum Prototyp

IV. Fazit

RISC-V-Spezifizierung und Plattformen in Soft- und Hardware sind derzeit für die Erstimplementierung eines c-Codes, dessen funktionalen Check und statische Analysen geeignet.  

Die Performanzanalyse und Optimierung fordert dagegen erheblichen Entwicklungsaufwand: ohne trace-fähigen RISC-Chip wird der Anwender einen externen Simulator oder FPGA-Emulator betrachten müssen. Weiterhin ist nicht klar, ob der c-pulp-Compiler derart konfiguriert werden kann, dass er die komprimierten Bitsequenzen verwendet. An generischer Stelle (readme.txt, internet-Suche) ist dazu nichts dokumentiert. Die Kompression müsste im c-Programm auf inline-asm-Ebene, durch direktes Programmieren des zugehörigen Befehlssatzes (e.g. C.asm-befehl regx, regy), gesetzt werden.
 
Das Vega-Board ist also mit der eingeschränkten Werkzeugkette auf RISC-V-Seite, zunächst kein vollwertiges RISC-V-Labor auf Chipebene. Ein realistisches Szenario ist die Entwicklung einer komplexen Anwendung auf arm-Seite, mit anschließender Portierung für eine effizientere Implementierung auf der RISC-Seite. (ct)

Literatur

[1] The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2, Editors Andrew Waterman and Krste Asanović, RISC-V Foundation, May 2017.

[2] The RISC-V Instruction Set Manual Volume II: Privileged Architecture Version 1.10, Editors Andrew Waterman and Krste Asanovic, RISC-V Foundation, May 2017.

[3] DVCon Europe Tutorial 7 - Tutorial on RISC-V Design and Verification

[4] The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2, Seite 7, Editors Andrew Waterman and Krste Asanović, RISC-V Foundation, May 2017.

[5] Andrew Waterman. Improving Energy Efficiency and Reducing Code Size with RISC-V Compressed. Master’s thesis, University of California, Berkeley, 2011.

[6] RISC-V External debug Support Version 0.13.1

[7] VEGA-SDK-Manual – Getting Started with RV32M1 SDK (ARM)

[8] PULP GNU Toolchain

[9] arm GNU Toolchain

[10] VEGA-SDK-Manual – Multicore-Applikationsbericht

[11] RISC-V Tutorial, HiPEAC2019, Valencia

[12] RV32M1 Series Reference Manual

 

* Die Fachsprache kennt aufgrund ihrer Historie keine deutsch-sprachige Entsprechung für das task der Prozessor-Ebene, den thread. 
** Vor der Übersetzung mit dem build-Skript empfiehlt sich auf arm-Seite
eine Ausführung des clean-Skripts.