Kontakt aufnehmen

Schulungsübersicht

Grundlagen der RISC-V-Architektur und Übersicht über das Ökosystem

Überblick über die ISA-Landschaft von RISC-V sowie deren Verbreitung in der Industrie

  • Die Philosophie offener ISAs – sowie die Standardisierungsarbeiten durch RISC-V International
  • Das grundlegende Verständnis von RISC-V: Load-Store-Architektur, Registerdatei und Byte-Reihenfolge
  • Vergleich mit ARM, x86 sowie POWER – Vor- und Nachteile für heterogene Computing-Umgebungen
  • Evaluation der Reife des RISC-V-Ökosystems: Akteure wie SiFive, T-Head und Western Digital sowie die zunehmende Community aus Open-Source-Entwicklern
  • Standardisierte Schnittstellen: Das RISC-V Privileged ISA sowie der Machine Software Abstraction Layer (MSBL)

Speichermodelle und Einhaltung von ABI-Regeln

  • Vorgaben der unprivilegierten Architektur: Registerzuordnung, Fehlerbehandlung sowie Speicherorganisation
  • Die Befehlssätze RV32I und RV64I – sowie deren Abwärtskompatibilität für plattformübergreifende Softwareentwicklung
  • Regeln zur Speicheroderung und Sperrbefehle in Systemen mit mehreren Prozessoren

RISC-V-Assemblerprogrammierung und Compiler-Toolchains

Einführung in das niedrigschwellige Programmieren

  • Grundlegende Ganzzahl-Befehle (I), Operationen mit Multiplikation/Division (M) sowie atomare Aktionen (A)
  • Programmierrichtlinien für 32- und 64-Bit-Zielsysteme
  • Aufrufkonventionen sowie Verwaltung des Stacks in zeitsensitiven bzw. embedded-Umgebungen

Beherrschung der Compiler-Toolchains

  • LLVM-basierte Werkzeuge: Clang, LLVM und Binutils für die Cross-Kompilierung unter RISC-V
  • Konfiguration von Linker-Skripten, Speichersegmenten sowie Speicheraufteilung in Umgebungen ohne Betriebssystem oder im Rahmen von Echtzeitbetriebssystemen
  • Verwendung kompilierseitiger Intrinsics, Optimierungsoptionen und Analysemethoden zur Leistungssteigerung des Codes
  • Entwicklungsprozesse für Open-Source-Toolchains: Erstellung, Tests sowie Verpackung von angepassten GCC- oder Clang-Ausführungen

Entwicklung eingebetteter Systeme und Echtzeitbetriebssysteme

Programmierung im reinen Hardware-Modus sowie unter RTOS-Umgebungen

  • Systemprogrammierung mit Rust für RISC-V: abstraktionsarme Ansätze, sichere Speicherverwaltung und Entwicklung „am Silizium“
  • Nutzung von No-Std-Umgebungen: individuelle Linker-Einstellungen, Gerätetreiber-Entwicklung sowie Arbeit mit speicherspezifischen Zugriffen
  • Zephyr RTOS sowie Implementierung eines Buildroot-BSP für RISC-V-Systeme
  • Programmierung von Peripheriebauteilen: GPIO, I2C, SPI, UART sowie DMA-Controller

Energieeffizienz und Performance-Optimierung

  • Einsatz von Taktabschaltung, Verwaltung von Stromdomänen sowie Optimierung energiesparender Modi
  • Genaue Analyse der Ausführungsgeschwindigkeit mittels Simulationsprofilern und Hardware-Messgrößen
  • Tuning der Interrupt-Reaktionszeiten in sicherheitsrelevanten Systemen<\/li>

Entwicklung von Linux-Kernel und Bootloader für RISC-V

Firmware-Entwicklung sowie Bootprozess-Einrichtung

  • Erstellung von OpenSBI – der Implementierung des SBI-Standards – als Boot-Firmware
  • Aufbau einer modernen Firmware-Umgebung mittels UEFI bzw. EDK II für RISC-V-Systeme
  • Portierung von Coreboot und U-Boot auf RISC-V-Platinen mit geringem Hardware-Aufwand

Integration des Linux-Kernels

  • Erfahrungen bei der Beitragsleistung zum Hauptkern von Linux: Erstellung von Device Tree-Definitionen, Konfiguration der CPU-Struktur sowie Treiber für Interrupt-Controller nach AIA-Standard
  • Erstellung von Vendor-BSPs sowie konfigurierbarem Kernel für individuelle SoC-Systeme
  • Betriebssystem-Unterstützung: Dateisysteme, Netzwerkfunktionen sowie Containertechnologien wie Docker und Kubernetes unter RISC-V

SoC-Design mit RISC-V sowie Prototypierung via FPGA

Aufbau von Mehrkern-Systemen und deren Integration

  • Möglichkeiten des Netzwerk-on-Chip (NoC)-Entwurfs in mehrkernigen RISC-V-Umgebungen
  • Verwendung von Axi4 bzw. CHI zur Gewährleistung von Cache-Kohärenz und Kommunikation zwischen Prozessoren
  • Einsatz offener IP-Bausteine: OpenCores, ChIPS Framework sowie kommerzielle RTL-Module aus der Industrie
  • Entwurf von Bus-Strukturen sowie Anbindung diverser Speichertypen wie DDR, SRAM, eMMC oder PCIe

Prototypisierung mittels FPGA-Technologie

  • Synthese von RISC-V-Kernen (z. B. BOOM, VexRiscv oder PULP) in FPGAs
  • Einführung in die funktionale Verifizierung mittels SystemVerilog Assertions (SVA) sowie UVM-Methodik
  • Nutzung von Formal Verification-Werkzeugen zur Qualitätssicherung und Überprüfung von Eigenschaften des RISC-V-Kerns

RISC-V Vektorerweiterungen sowie fachspezifische Beschleunigerlösungen

Vertiefte Betrachtung der RVV-Erweiterung (RISC-V Vector)

  • Optimierungsmöglichkeiten durch Vektor-Lese-/Schreiboperationen, Fused Multiply-Add (VFMA) sowie Matrixberechnungen
  • Nutzung variabler Vektorgrößen – das heißt VL und VLEN – für optimierte SIMD-Ausführungen je nach Aufgabenstellung
  • Kontrolle mittels Vektormasken, Segmentsteuerung sowie flexible Datentyp-Einstellungen für DSP- oder ML-Anwendungen

Eigene DSP-Lösungen und Anpassung der Instruktionsarchitektur

  • Entwurf von fachspezifischen Beschleunigerbausteinen mittels individueller Erweiterungen und CBAR-basierter Schnittstellen für Operanden
  • Anpassung des Compiler-Frontends zur Generierung sowie Ausgabe maßgeschneiderter Befehle
  • Strategien der Aufteilung von Software- und Hardware-Ressourcen – notwendig bei der Integration von Beschleunigerkomponenten in produktionsfähige SoCs

KI-Beschleunigung sowie Edge-Machine-Learning auf RISC-V-Systemen

Entwurf und Einbindung von NPUs für RISC-V-Prozessoren

  • Aufbau einer neuronalen Recheneinheit: Aufgaben sind z. B. Verwendung von Systolic-Arrays, Tensor Cores sowie Gewichtskompression zur effizienten KI-Ausführung direkt auf dem Chip
  • Methoden der Modellquantisierung (INT8, INT4, FP8) – zentral für den Einsatz von RISC-V im Edge-Umfeld
  • Funktionale Kompatibilität mit gängigen KI-Frameworks: TensorFlow Lite Micro, ONNX Runtime sowie PyTorch Edge unterstützen ebenfalls RISC-V-Systeme

Heterogenes Computing für komplexe KI-Aufgaben

  • Gemeinsame Entwicklung einer RISC-V-Hauptprozessor-CPU mit zugeordneter NPU für zeitkritische Inferenz-Prozesse
  • Optimierung der Speicherinfrastruktur: gezieltes Management von HBM- und DDR-Bandbreiten zur Verarbeitung großer KI-Modelle
  • Einhaltung thermischer sowie Energieaufwandsgrenzen bei Einsatz solcher Systeme im Edge-Bereich

Hardware-Sicherheit und vertrauliches Rechnen unter RISC-V

Schutz von Speichern sowie sichere Ausführungsumgebungen

  • Nutzung physikalischer Speicherschutzmechanismen (PMP) und Sicherheitsarchitekturen für Seitentabellen
  • Implementierung von Trusted Execution Environments auf Basis des OP-TEE-Modells – ebenso wie Umgebungen im Stil von AMD SEV
  • Sicherung der Boot-Prozesskette: Schaffung einer Root of Trust, sicherer Startmechanismen sowie Nachweis der Integrität bei Systemstart

Beschleunigung kryptografischer Algorithmen

  • RISC-V-Erweiterungen für Kryptographie (Zk, Zkr und K-Familien): Nutzung von Hardware-Befehlen etwa zur Beschleunigung von SHA, AES, RSA sowie ECC-Vorgängen
  • Einsatz moderner post-quanten-kryptographischer Verfahren – auch für kommende Generationen von RISC-V-Prozessoren denkbar
  • Gegenmaßnahmen gegen Seitenkanalangriffe: Einsatz konstantzeitlicher Programmiermethoden, Maskierungstechniken sowie Hardware-gestützte Zufallsgeneratoren

Fortgeschrittenes Architekturentwurf und Erweiterung der Instruktionssätze

Fachspezifische Architekturgestaltung sowie neue Befehlsstrukturen

  • Entwicklungsprinzipien für ISA-Erweiterungen: Kodierungsregeln, Tabellenaufbau, Einfluss auf die ABI sowie das formelle Antragsverfahren bei RISC-V International
  • Erstellung individualisierter Registergruppen mittels CBAR – also kundenspezifischer Basisadressregister zur Verteilung von Operanden
  • Einfluss auf die Befehlspipeline: Ermittlung möglicher Hazard-Situationen und entsprechende Modifikationen für neue Funktionen

Verifizierung sowie Qualitätskontrolle bei neuen Architektur-Anpassungen

  • Erstellung von Testumgebungen: Unterschiedliche Strategien wie zielgerichtetes oder randomisiertes Stimulus-Generieren
  • Einsatz von Regressionsverfahren und kriteriengesteuerten Prüfmethoden zur Erfolgskontrolle der Änderungen
  • Sicherstellung der Kompatibilität: neue Instruktionen müssen stets mit etablierten ABI-Vorgaben harmonieren

Anwendungsbereiche in sicherheitsrelevanten Systemen und Automobilindustrie

Einhaltung funktionaler Sicherheitsnormen sowie Konformität mit Automobilstandards

  • Erfüllung der ISO 26262-Anforderungen für sicherheitskritische Automobilprozessoren auf Basis von RISC-V
  • Zuweisung von ASIL-Q-Grade sowie Ausarbeitung detaillierter Sicherheitshandbücher zur Nutzung von Silizium-IP im Fahrzeugbereich
  • Verwendung deterministischer Interrupt-Verwaltung, Lockstep-Kernpaare sowie speicherbezogener Schutzmechanismen in RISC-V-Systemen

Einsatz in der industriellen Echtzeittechnik und am Edge

  • Konformität mit IEC 61508 SIL-Standards – ebenso wie planbare Prozessabläufe in Mehrkern-Systemen
  • Ausbau von industriellen IoT-Gateways unter RISC-V: Vernetzungsfunktionen, Analysedienste am Edge sowie automatisierte Update-Mechanismen für Firmware

Abschlussprojekt: Vollständige Entwicklung eines RISC-V-Systems von Grund auf

Gesamtprozess des Projekts

  • Ausarbeitung einer detaillierten Architekturspezifikation – inklusive geplanter ISA-Erweiterungen und Kerneinstellungen für den konkreten Anwendungsfall
  • Implementierung des Designs mittels SystemVerilog sowie Validierung durch UVM-Tests und Formal Verification-Methoden
  • Aufbau eines FPGA-Prototyps, Erstellung der Boot-Firmware sowie Integration maßgeschneiderter Treiberpakete für den Hardware-Modus
  • Anpassung des Linux-BSPs ebenso wie individueller Compiler-Toolchains an das eigenentwickelte RISC-V-Design
  • Einführung sowie Test einer KI-Arbeitslast: Implementierung der NPU, Modellquantisierungsmethode und abschließende Performance-Messung
  • Durchführung aller Sicherheitsprüfungen: Verifizierung der PMP-Regeln, Überprüfung sicherer Boot-Prozesse sowie Analyse der kryptographischen Beschleunigungsperformance
  • Erstellung einer technischen Architekturdokumentation, Auswertung des IP-Potenzials sowie Präsentation der Ergebnisse vor einem interdisziplinären Team

Voraussetzungen

Keine Vorkenntnisse erforderlich.

 21 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (2)

Kommende Kurse

Verwandte Kategorien