Verifikation von Prozessor-IP RISC-V-Prozessorkerne auf Konformität testen

Chip auf Leiterplatte mit 3D-IP-Blöcken
Verifizieren von RISC-V-Prozessorkernen auf Konformität.

Mit der RISC-V Verification App bietet OneSpin Solutions ein Werkzeug zum Verifizieren von RISC-V-IP-Implementierungen – zur Sicherstellung der 100-prozentigen Konformität zur Befehlssatzarchitektur (ISA).

Bei der RISC-V Verification App von der OneSpin Solutions GmbH handelt es sich um die erste App im Rahmen der von OneSpin entwickelten Werkzeug-Suite RISC-V Integrity Verification. Mit der App erhält die immer größer werdende RISC-V-Community eine Möglichkeit Prozessorkerne zu verifizieren, um sicherzustellen, dass bei der Entwicklung und Integration der RISC-V-Kerne keine Fehler unbemerkt bleiben und dass eine uneingeschränkte Konformität zur Befehlssatzarchitektur (Instruction Set Architecture – ISA) gegeben ist. Anbieter von RISC-V-Kernen können durch die Verifikation besser mit älteren, etablierten Befehlssatzarchitekturen konkurrieren.

Für die Einrichtung der App wird nur eine Woche benötigt, die Verifikation eines kompletten RISC-V-Prozessorkerns dauert zwei Stunden. Im Vergleich dazu kann bei anderen Verifikationskonzepten das Einrichten einer Simulation Monate dauern, gefolgt von wochenlangen Regressionstests, bei denen dennoch kritische Fehler unentdeckt bleiben können. Formale Methoden verwenden nur partielle Nachweise, können dadurch nicht alle verborgenen Funktionen feststellen und resultieren somit in einer unvollständigen Verifikation.

Testen von RISC-V-Varianten und Optionen

Mit der Nachfrage nach der Open-Source-Befehlssatzarchitektur RISC-V wachsen auch die Qualitätsanforderungen. Eine schwierige Herausforderung für die Verifikation ist, dass die RISC-V-ISA nicht nur zahlreiche Konfigurationsoptionen, sondern auch eine breite Palette von Mikroarchitekturen ermöglicht und das Hinzufügen kundenspezifischer Ergänzungen erlaubt.

Die RISC-V Verification App von OneSpin Solutions, für die Werkzeug-Suite RISC-V Integrity Verification, trägt den Verifikations-Herausforderungen von RISC-V-Prozessorkernen Rechnung, indem sie Implementierungsvarianten wie etwa Mikroarchitektur- und ISA-Optionen erfasst und verifiziert.

Sie identifiziert nicht spezifizierte Instruktionen und CSRs (Control and Status Registers), erfasst und verifiziert die von RISC-V erlaubten kundenspezifischen Erweiterungen und verifiziert formal die ISA-Konformität des Kerns – erfasst durch mehrere SystemVerilog Assertions (SVA). Die RISC-V Verification App deckt sämtliche konformitätsrelevanten Fehler auf und kann – wenn keine Fehler gefunden werden – die 100-prozentige Konformität nachweisen.

Die RISC-V Verification App wurde auf verfügbaren quelloffenen RISC-V-Kernen erprobt. Dabei entdeckte die App im Rocket Core mehrere Fehler, die von den Entwicklern bestätigt und im Open-Source Repository beseitigt wurden.