Schwerpunkte

Erweiterter Architektur-Support

Debugging von RISC-V und Cyclone-V

05. November 2020, 10:20 Uhr   |  Manne Kreuzer

Debugging von RISC-V und Cyclone-V
© PLS

Die Universal Debug Engine von PLS unterstützt jetzt auch die RISC-V- und Cyclone-V-Architekturen.

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.

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Verwandte Artikel

pls Programmierbare Logik & Systeme GmbH