Bei RISC-V handelt es sich um eine auf dem RISC-(Reduced Instruction Set Computer-)Designprinzip beruhende Befehlssatzarchitektur, die im Gegensatz zu anderen Architekturen dank der BSD-Lizensierung für alle Interessenten frei zugänglich ist. Bezüglich der Applikationsdomänen ist die RISC-V-Architektur sehr variabel einsetzbar. Halbleiterhersteller können ihre auf RISC-V basierenden Ein-Chip-Systeme (SoCs) in Wortebreiten von 32, 64 oder auch 128 Bit realisieren. Zudem lassen sich verschiedene Unterbefehlssätze implementieren, die beispielsweise spezielle Funktionen für eingebettete Systeme oder Integer-Arithmetik bieten.
Neben der generellen Befehlssatzunterstützung der RISC-V-Architektur für 32- und 64-Bit-Anwendungen bietet die UDE Anwendern eine Reihe praktischer Vorteile. So sind beispielsweise seitens der verfügbaren Compiler bzw. Assembler für RISC-V bezüglich der Registernamen zwei Aufrufkonventionen gebräuchlich: die Standard-Calling-Convention, bei der den Registernamen entweder „x“ oder „f“ vorangestellt wird, und die psABI mit symbolischen Namen. Beim Debugging von Applikationen stehen Entwicklern im Core-Register-Fenster beide Aufrufkonventionen zur Verfügung.
Als erstes reales Silizium ...
unterstützt die UDE die MCU E31 von SiFive. Dieser Baustein implementiert den RV32IMAC-Befehlssatz (32 Bit, Integer Multiplication and Division Support, Atomic Mode und Compressed Mode). Für die Debug-Kommunikation über JTAG zum E31 stehen Anwendern wahlweise die drei Geräte UAD2pro, UAD2next und UAD3+ der Universal Access Device-Familie von PLS zur Verfügung. Da der E31 mit der physischen und elektrischen Implementierung der Debug-Schnittstelle der Arm-Spezifikation mit 10 Pins folgt, kommt für die Verbindung zwischen den Geräten der UAD-Familie und dem E31 der universelle Arm-Adapter von PLS zum Einsatz. Auch eine galvanische Isolation der Debug-Schnittstelle des UAD ist optional verfügbar. Zu den weiteren derzeit von der UDE unterstützten Bausteinen mit implementierter RISC-V-Architektur zählen die GD32VF103-Familie von GigaDevice sowie das Ultra Low Power Multicore SoC GAP8 von Seeed.
Mit den drei Varianten Cyclone V SE, SX und ST von Intel wird durch den UDE zudem eine weitere FPGA-basierte Bausteinfamilie unterstützt. Alle genannten Bausteine bieten als sogenannte SoC FPGAs ein integriertes Hard Processor System (HPS) in Form eines Arm Cortex-A9 Single- oder Dual-Core-Prozessors an.
Die UDE unterstützt das Applikations-Debugging ...
unter anderem mit Visualisierungsmöglichkeiten. Besonders anwenderfreundlich erweist sich laut PLS in der Praxis auch der Support für die Dual Core-Varianten. So werden beispielsweise beide Kerne in einer einzigen Debug-Sitzung und innerhalb einer einzigen gemeinsamen Debugger-Instanz gesteuert. Außerdem stehen Entwicklern weitere Multicore Debug-Funktionen wie Multicore Run Control für synchrones Stoppen und Starten und Multi Core Breakpoints, die in gemeinsam verwendetem Code benutzt werden können, zur Verfügung.









