RISC-V

Entwicklungswerkzeuge von Microsemi. Microsemi

Seit geraumer Zeit hat sich niemand mehr zum Thema Prozessorarchitekturen geäußert. Schließlich ist die Auswahl normalerweise auf eine Intel x86-Variante oder einen Prozessor der Klassen ARM A, R oder M begrenzt. Diese beiden Möglichkeiten sind für die große Mehrheit der Verarbeitungsanforderungen verwendet worden. Genau wie die Beliebtheit dieser Architekturen zugenommen hat, finden auch die zugehörigen Befehlssatzarchitekturen (ISA) wachsenden Zuspruch.

Warum viele Entwickler auf die RISC-Architektur von ARM (Reduced Instruction Set Computing) umgestiegen sind, lässt sich auf die unnötig hohe Komplexität der x86-CISC-Architektur (Complex Instruction Set Computing) zurückführen. Heute jedoch, mit so vielen Variationen von ARM-Prozessoren, ist deren ISA an einem Punkt angelangt, an dem es fast eine CISC-Architektur ist. Aus diesen und vielen anderen Gründen hat sich die alternative Verarbeitungslösung RISC-V entwickelt.

Die Prozessor-Plattform RISC-V ist an sich keine neue Architektur, sondern eine neue feste ISA. RISC-V ist eine Schöpfung, die ihren Ursprung als Forschungsprojekt am UC Berkley Computer Science Department hat. Damals suchte man eine effizientere Computing-Plattform über die Bauteile der ARM- und x86-Klasse hinaus.

ECK-DATEN

Mit dem Aufkommen von RISC-V haben Entwickler heute Zugang zu einer neuen alternativen Prozessorarchitektur. Von den Vorteilen wie Design-Portabilität und geringerer Energieverbrauch können die meisten Anwendungen profitieren. Für Applikationen, bei denen Vertrauen, Daten- und funktionale Sicherheit im Vordergrund stehen, könnte RISC-V ebenfalls eine überzeugende Wahl sein. Für Ingenieure, die es vorziehen, zusammenzuarbeiten und die Open Source Community zu nutzen, ist RISC-V die logische Wahl. Unabhängig von Ihrer Begründung gibt es keine Zweifel, dass der Einsatz eines RISC-V-Core für Embedded-Entwickler eine neue Generation der Innovation freisetzt.

Nach einiger Forschungsarbeit entschieden sich die Zuständigen, ihren eigenen Prozessor zu entwickeln. Der Hauptpunkt war jedoch, dass man die Chip-Architektur nicht erschaffen würde, sondern stattdessen den Befehlssatz zum Eckpfeiler machen wollte. Befehlssätze wurden für 16-, 32-, 64- und 128-Bit-Datenpfade erschaffen.

RISC-V Foundation

Die RISC-V Foundation steuert die künftige Entwicklung von Hard- und Software-Spezifikationen sowie des Ökosystems und treibt ferner den Einsatz der RISC-V ISA voran. Aufgrund der endgültig festgelegten ISA können Ingenieure jetzt die Prozessor-Architektur implementieren, die auf ihre Anforderungen optimiert ist. Sie kann sich zum Standard einer neuen offenen Prozessor-Architektur für direkte native Hardware-Implementierungen entwickeln.

Quelloffene Natur von RISC-V

Die quelloffene Natur der Prozessor-Architektur bietet fünf wesentliche Vorteile. Der Prozessor-Core ist ein völlig neues stabiles Design und bietet eine klare und sichere Trennung zwischen User- und Privileged-Modes. Designs lassen sich auf der Basis von weniger als 50 Befehlen und mehreren Standard- Erweiterungen – die alle festgeschrieben sind – sehr einfach entwickeln. Ergänzungen des Standard-Befehlssatzes erfolgen über Erweiterungen, nicht aber neue ISA-Versionen, was für zusätzliche Stabilität für künftige Designs sorgt. Mit den neuen Befehlen lassen sich einfache Architekturen erstellen, woraus wiederum sehr energieeffiziente Prozessoren resultieren.

Die Portabilität von RISC-V eröffnet neue Freiheitsgrade. Der Mehrwert ist, dass die Software komplett portabel über alle Geräte mit dem Prozessor-Core ist. Dies schafft einen lizenzfreien Prozessor-Subsystem-RTL-Code, der in Hardware implementiert werden kann. Entwickler können ihr Design für die am besten geeignete Plattform modifizieren beziehungsweise anpassen und migrieren. Sie beginnen ein Design in einem FPGA mit einer Soft-Gate-Version eines RISC-V-Cores und starten damit die Auslieferung des Produkts. Wenn ausreichend hohe Stückzahlen erreicht sind, kann man ein Retargeting der RTL-Quelle auf ein ASIC durchführen, ohne dass Lizenzgebühren anfallen. Dies wäre mit einem ARM- oder x86-Prozessor einfach nicht möglich.

Da RISC-V-Designs den RTL-Source-Code zur Verfügung stellen können, ermöglicht dies ein hohes Maß an Vertrauen und Sicherheit. Weder Intel noch ARM waren daran interessiert, ihren RTL-Quellcode zu teilen. In der Lage zu sein, den RTL-Quellcode eines RISC-V-Cores zu sehen, gestattet tiefgreifende Prüfungen und sorgt für Vertrauen. Um noch einen Schritt in Richtung größtmögliche Sicherheit zu gehen, kann durch Booten des Cores von auf dem Chip integriertem Secure Flash der Boot-Prozess gesichert werden. Kürzlich hat Microsemi einen RISC-V-IP-Core für seine Flash-basierenden FPGAs vorgestellt. Der RISC-V-Core kann vom sicheren On-Chip-Flash booten. Dies bringt eine zusätzliche Sicherheitsebene mit sich und eliminiert Bedrohungen durch Malware oder dass ein Root Kit in den Boot-Code geschrieben wird.

Für sicherheitsrelevante Designs ermöglicht die Flexibilität individuelle Lösungen. Zum Beispiel könnte man ein System mit mehreren funktional vergleichbaren Cores realisieren, die unabhängig voneinander für höchste Redundanz entwickelt sind. Ein Core könnte der Microsemi RV32IM und der andere ein In-House-Design sein, das funktional ähnlich und doch komplett anders ist. Auch weil RISC-V vollständige Flexibilität über die Architektur ermöglicht, könnte man SEU (Single Event Upset) Schutzmaßnahmen für den Daten- und Befehlsspeicher zur Verfügung stellen. Dies sind nur einige Beispiele die zeigen, wie sicherheitsbewusste Designs RISC-V nutzen könnten.

Da die RISC-V ISA unter eine großzügige BSD-Lizenz (Berkeley Software Distribution) fällt, kann sich die Open-Source-Gemeinde an der Zusammenarbeit bei RISC-V-Projekten beteiligen. Durch die Verfügbarkeit der Zusammenarbeit lassen sich neue Innovationen auf einem höheren Niveau freisetzen. Ingenieure können durch Anpassung, Modifikation, Zusammenarbeit und Migration eine Schaltung in ein äußerst überzeugendes Design verwandeln. Eine steigende Zahl von Ingenieuren nutzt die Open-Source-Gemeinde, um Entwicklungsherausforderungen gemeinsam anzugehen. Da ein RISC-V-Design RTL-Source-Code mit sich bringt, der sich teilen lässt, sind die Möglichkeiten für Innovation grenzenlos.

RISC-V-Cores im nächsten eigenen Design

RISC-V

Bild 1: Creative Board M2S025 mit LCD, auf dem ein RISC-V-Core arbeitet. Microsemi

Wo lässt sich mehr über den Einsatz eines RISC-V-Cores im nächsten eigenen Design erfahren? Es gibt mehrere Stellen für den Start. Für Hintergrundinformationen über den Prozessor und die Organisationen ist die Homepage www.riscv.org hilfreich. Falls man einfach nur sofort in ein Design eintauchen und Code für einen Core schreiben möchte, steht die Microsemi Github Site https://github.com/RISCV-on-Microsemi-FPGA zur Verfügung. Auf dieser Website war Microsemi der erste FPGA-Hersteller, der einen IP-Core mit offener Architektur und eine umfassende Software-Lösung anbietet.

Entwickler können den IP-Core in mehreren verschiedenen FPGAs einsetzen, darunter Igloo2-, Smartfusion2- und RT-G4-Flash-basierte FPGAs. Embedded-Ingenieure können die Vorteile dieser offenen HDL-Architektur in ihren individuellen FPGA-Designs nutzen, indem sie die SoC-Design-Suite Libero heranziehen.

Falls man lediglich einen RISC-V-Core prüfen und ausführbaren Softwarecode schreiben möchte, hat Microsemi eine Serie von Referenzdesigns entwickelt. Eine preiswerte Lösung ist das Referenzdesign Creative Board (Bild 1). Mit dem Creative Entwicklungskit von Future Electronics und einem Arduino Touch-Screen-Display hat Microsemi den RV32IM-Core implementiert und Quellcode kompiliert, um ein Tick-Tack-Toe-Spiel zu spielen. Für die Entwicklung von Software-Code bietet die Eclipse-basierte Soft Console IDE (Integrated Development Environment) auf einer Linux-Plattform vollständige Entwicklungsunterstützung. Ein C- oder C++-Compiler und eine Debugger-Funktion wird im Rahmen von Soft Console unterstützt.

Das komplette Referenzdesign lässt sich erstellen, indem man das Creative Board auf www.FutureElectronics.com/CreativeDevelopmentBoard und das Arduino-Shield-Display auf https://www.adafruit.com/products/1651 kauft. Zusammen kosten diese etwa 85 US-Dollar. Der Microsemi RISC-V-IP-Core, die Libero SoC-Entwicklungssoftware und die Soft Console IDE können kostenlos heruntergeladen werden.