PLS Programmierbare Logik & Systeme nutzt die Modularität des Debug-, Test- und Systemanalyse-Tools „Universal Debug Engine“ (UDE), um jetzt auch die offene und lizenzfreie RISC-V-Architektur sowie die Cyclone-V-FPGA-Familie von Intel zu unterstützen.
RISC-V ist eine auf dem RISC-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 SoCs in Wortbreiten von 32, 64 oder auch 128 bit realisieren. Zudem lassen sich verschiedene Unterbefehlssätze implementieren, die beispielsweise spezielle Funktionen für Embedded Systeme oder Integer-Arithmetik ermöglichen.
Neben der generellen Befehlssatzunterstützung der RISC-V-Architektur für 32- und 64-bit-Anwendungen bietet die UDE Anwendern eine Reihe weiterer praktischer Vorteile.
So sind beispielsweise seitens der verfügbaren Compiler beziehungsweise 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 mit der UDE stehen Entwicklern im Core-Register-Fenster beide Aufrufkonventionen zur Verfügung.
Als erstes reales Silizium unterstützt die UDE die High-Performance-MCU E31 von SiFive. Dieser Baustein implementiert den RV32IMAC-Befehlssatz (32 bit, Integer-Multiplikation und Division Support, Atomic Mode und Compressed Mode). Für die schnelle und zuverlässige 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 zehn 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 die UDE zudem eine weitere FPGA-basierte Bausteinfamilie unterstützt. Alle genannten Bausteine bieten als SoC-FPGAs ein integriertes Hard Processor System (HPS) in Form eines ARM-Cortex-A9-Single- oder -Dual-Core-Prozessors an. Damit wird die Flexibilität der programmierbaren Logik eines FPGA mit der Performance und dem Ökosystem der ARM-Applikationsprozessoren kombiniert. Die Cyclone-V-Baureihe reduziert den Stromverbrauch und deckt mit den integrierbaren IP-Blöcken eine Vielzahl von Anwendungen in den Bereichen Industrial, Wireless, Broadcast und Konsumelektronik ab.
Die UDE unterstützt das Applikations-Debugging unter anderem mit umfangreichen Visualisierungsmöglichkeiten. Besonders anwenderfreundlich erweist sich in der Praxis auch der umfangreiche 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 hocheffiziente 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.