Open-Source-Hardware RISC-V Der Weg in die industrielle Anwendung

Interview mit Prof. Robert Oshana, Vizepräsident für Software-F&E in der Geschäftssparte Mikrocontroller und Mikroprozessoren bei NXP.
Interview mit Prof. Robert Oshana, Vizepräsident für Software-F&E in der Geschäftssparte Mikrocontroller und Mikroprozessoren bei NXP.

Die Befehlssatzarchitektur RISC-V muss aus dem akademischen Kreis der Hochschulen heraus in die Industrie in Anwendungen getragen werden, um erfolgreich zu sein. Wie der praktische Einstieg für Unternehmen ablaufen kann, weiß Prof. Robert Oshana von NXP -Semiconductors.

Der Schritt von der Forschung in die industrielle Anwendung kann eine nicht zu unterschätzende Hürde bilden. Insbesondere Industrieunternehmen stellt die Anpassung an vorhandene, etablierte Prozesse und Qualitätsstandards vor Herausforderungen.

Einen praktischen Ansatz bei der Implementierung der offenen Befehlssatzarchitektur RISC-V hat Prof. Robert Oshana entwickelt, der als Vizepräsident für Software-Forschung und -Entwicklung in der Geschäftssparte Mikrocontroller und Mikroprozessoren bei NXP Semiconductors tätig ist. Er referiert dazu auch auf der embedded world Conference 2019. Mit seinem Vortrag »RISC-V Practical Industry Approach to Getting Started with This Technology« eröffnet er die Session 5 »RISC-V« am 26. Februar 2019.

 

?   Herr Prof. Oshana, was ist die größte Herausforderung für Unternehmen und Entwickler, die erstmals ein SoC mit RISC-V entwickeln wollen?

!   Robert Oshana: In vielerlei Hinsicht ist die Implementierung eines RISC-V-Kerns vergleichbar mit dem Prozess der Implementierung eines anderen Hardware-IPs.

  • Sie möchten sicherstellen, dass Sie die richtige Verifizierungsabdeckung für das IP haben.
  • Sie möchten sicherstellen, dass Sie über eine angemessene Software-Unterstützung für das IP verfügen.
  • Und Sie wollen sichergehen, dass Sie die richtigen Tools für die Unterstützung des IPs haben.

Wenn Sie zu einem kommerziellen RISC-V-Anbieter gehen, können Sie all dies finden. Wenn Sie einen Community-RISC-V-Kern wie PULPino verwenden möchten, müssen Sie möglicherweise zusätzliche Arbeiten durchführen, um die erforderliche Software und Tools für den Kern zu erhalten. Wenn Sie planen, den Befehlssatz zu erweitern, dann sollten Sie einen Plan zur Unterstützung der Befehlserweiterungen sowie zum Testen und Verifizieren dieser Erweiterungen haben.

Daher ist es hilfreich, eine geeignete Emulations-/FPGA-Umgebung für diese Analyse zu nutzen. Bei der ersten Verwendung eines RISC-V-Kerns ist es möglicherweise notwendig, einige zusätzliche unterstützende IPs zur Anpassung und für Zwischenschichten zu entwickeln, damit sich der Kern problemlos in den SoC integrieren lässt und weniger Änderungen an der bestehenden Verifikationsumgebung vorgenommen werden müssen.

 

?   Was unterscheidet die Implementierung eines Open-Source-IPs von der Implementierung kommerzieller IPs?

!   Oshana: RISC-V ist eine offene Spezifikation, keine Implementierung. Es gibt jedoch mehrere kommerzielle und gemeinschaftliche Implementierungen – sehr ähnlich wie kommerzielle und Community-Distributionen für Linux.

SiFive zum Beispiel ist ein kommerzieller RISC-V-IP-Anbieter mit einigen sehr innovativen webbasierten Implementierungsmodellen, die es einem Kunden ermöglichen, »einige Knöpfe zu drehen«, um seinen eigenen RISC-V-basierten Kern zu entwerfen und zu verifizieren.

Die ETH Zürich hingegen verfügt über mehrere Community-basierte RISC-V-Implementierungen, die kostenlos zur Verfügung stehen. In Kürze ist auch eine Verifikations-Suite verfügbar, die es einem RISC-V-Anwender ermöglicht, seinen RISC-V-Kern zu verifizieren.

Die Implementierung eines RISC-V-basierten SoC hat sich für Industrie-Entwicklerteams als relativ einfach erwiesen. Wie in der Open-Source-Software-Gemeinschaft ist der Einsatz von Open-Source-Technik oft zuverlässiger und robuster als bei internen Implementierungen.

 

?   Profitiert Open-Hardware von den Erfahrungen der Open-Software?

!   Oshana: Ja, absolut. Ich habe darüber oft in meinen Keynote-Vorträgen gesprochen. Viele der besten Methoden, die sich aus der Open-Source-Software-Industrie wie Linux entwickelt haben, können auf Open-Source-Hardware angewendet werden.

So wie es Hunderte von Distributionen für Linux gibt, sowohl kommerzielle als auch gemeinschaftsbasierte, können ähnliche Verwaltungspraktiken auf RISC-V angewendet werden.

Als wir kürzlich den Community-basierten PULPino von RISC-V verwendet haben, haben wir IP wieder in die PULPino »Hauptentwicklungslinie« eingebracht und diese wurde in die nächste Version übernommen, ähnlich wie bei Linux heute. Es gibt einige Unterschiede, da RISC-V eine offene Spezifikation und keine Implementierung ist, aber viele der anderen Praktiken sind sehr ähnlich.

 

?   Wie lässt sich Open-Hardware am besten in einen bestehenden Entwicklungsprozess integrieren?

!   Oshana: Wir haben Vertrauen in die Fähigkeit gewonnen, RISC-V in einer industriellen Entwicklungsumgebung einzusetzen, indem wir den Prozess genau untersucht haben. Um zu bestätigen, dass wir dieses IP in unsere bestehenden Entwicklungsprozesse und -umgebungen integrieren können, haben wir einen RISC-V-Testchip entwickelt.

Nicht immer werden Testchips benötigt, auch eine FPGA-Plattform könnte funktionieren. Aber die Möglichkeit, ein komplettes IC herzustellen, gab uns die Gewissheit, dass wir dieses IP problemlos in unserer Entwicklungsumgebung nutzen können.

Es kann hilfreich sein, dafür eine bestehende Implementierung zu verwenden. Das war der erste Schritt. Nachdem wir mehr Vertrauen in das IP gewonnen haben, entwickelten wir eine eigene »Clean Sheet«-Implementierung, die vorzeitig mit hoher Qualität abgeschlossen wurde.

 

?   Worauf sollten Entwickler achten, wenn Sie mit Open-Hardware und RISC-V starten?

!   Oshana: Eine Herausforderung ist die Verifikation. Wir empfehlen die Entwicklung geeigneter Schnittstellenanpassungen, damit ein RISC-V-Kern in die SoC-Bus- und Schnittstellenstruktur integriert werden kann. Dadurch können die bestehenden Verifikationstests ohne wesentliche Änderungen durchgeführt werden.

Da RISC-V auch einfache Befehlserweiterungen ermöglicht, ist darauf zu achten, dass der Compiler die dazugehörenden Fähigkeiten bietet oder die Erweiterungen direkt vom Compiler unterstützt werden. Obwohl es ein schnell wachsendes Wirtschaftsökosystem für RISC-V gibt, ist es sinnvoll, frühzeitig über die Tool-Unterstützung und über die geeignete Debug-Architektur und Schnittstellen nachzudenken – gleich zu Beginn des Entwicklungsprozesses.

Denken Sie schließlich an die »Nicht-Kern«-Teile des SoC. Der RISC-V-Kern selbst wird relativ einfach zu integrieren sein, aber es sind die Nicht-Kern-IPs wie der Interrupt-Controller, Busverbindungen usw., auf die Sie etwas genauer schauen müssen.

 

 

Prof. Robert Oshana

ist bei NXP als Vizepräsident für Software-F&E in der Geschäftssparte Mikrocontroller und Mikroprozessoren verantwortlich für Software-Ausrüstung, IoT, Middleware und Software-Sicherheit, Betriebssysteme, Software-Dienstleistungen und fortschrittliche Techniken.

Er ist Mitglied mehrerer Industriebeiräte, hat Bücher und Artikel über Software-Entwicklung und Embedded Systems verfasst und ist außerordentlicher Professor an der University of Texas und der Southern Methodist University sowie Senior Member des IEEE.