Schwerpunkte

PLS weitet Architektursupport aus

Debugging von RISC-V und Cyclone-V

06. Oktober 2020, 13:40 Uhr   |  Manne Kreuzer

Debugging von RISC-V und Cyclone-V
© PLS

PLS Programmierbare Logik & Systeme unterstützt mit dem modularen Debug-, Test- und Systemanalysetool „Universal Debug Engine“ (UDE) ab sofort auch die offene und lizenzfreie RISC-V-Architektur sowie die Cyclone-V-FPGA-Familie von Intel.

Bei RISC-V handelt es sich um eine 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 basierten 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 weiterer 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 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 Multiplication and 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 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 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 FPGAs mit der Performance und dem Ökosystem der Arm-Applikationsprozessoren kombiniert. Die Cyclone-V-Baureihe mit ihrem minimiertem Stromverbrauch deckt mit den integrierbaren IP-Blöcken eine Vielzahl von Anwendungen in den Bereichen Industrial, Wireless, Broadcast und Consumer Electronics ab.

Die UDE unterstützt das Applikations-Debugging unter anderem mit vielfältigen 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