Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
RISC-V Architecture Fundamentals and Ecosystem Overview
RISC-V ISA Landscape and Industry Adoption
- Understanding the open ISA philosophy and the RISC-V International standardization landscape
- Mental model of RISC-V: Load-Store architecture, register file organization, and byte ordering
- Comparative analysis with ARM, x86, and POWER architectures: evaluating trade-offs for heterogeneous computing systems
- Assessment of ecosystem maturity: insights into SiFive, T-Head, Western Digital, and the expanding open-source silicon community
- Standardized interfaces: RISC-V Privileged ISA and Machine Software Abstraction Layer (MSBL)
Memory Models and ABI Compliance
- Unprivileged Architecture specification: Control and Status Registers (CSR) map, exception handling mechanisms, and memory hierarchies
- RV32I and RV64I instruction sets ensuring ABI compliance for cross-platform binary portability
- Memory ordering conventions and barrier instructions essential for multiprocessor systems
RISC-V Assembly Programming and Compiler Toolchain
Low-Level Instruction Programming
- Fundamentals of base integer instructions (I), Multiply/Divide (M), and Atomic operations (A) extensions
- Bitness-aware programming strategies tailored for 32-bit and 64-bit RISC-V targets
- Calling conventions and stack frame management optimized for embedded and real-time software systems
Compiler Toolchain Proficiency
- Mastery of LLVM-based compiler toolchains: utilizing Clang, LLVM, and Binutils for RISC-V cross-compilation
- Configuration of linker scripts, sections, and memory layouts for bare-metal and RTOS environments
- Leveraging compiler intrinsics, optimizing code through various optimization levels, and performing profiling-driven code tuning
- Workflows for open-source toolchain development: building, testing, and packaging custom GCC/Clang toolchains
Embedded Systems Development and Real-Time Operating Systems
Bare-Metal and RTOS Programming
- Rust systems programming for RISC-V: leveraging zero-cost abstractions, unsafe memory management techniques, and bare-metal development practices
- Navigating no-Std environments: implementing custom linkers, developing device drivers, and managing memory-mapped I/O
- Developing Zephyr RTOS and Buildroot Board Support Packages (BSP) for RISC-V targets
- Peripheral interfacing techniques: programming GPIO, I2C, SPI, UART, and DMA controllers
Power and Performance Optimization
- Strategies for clock gating, power domain management, and low-power mode optimization
- Cycle-accurate performance analysis utilizing simulation profilers and hardware performance counters
- Tuning real-time interrupt latency to meet requirements for safety-critical applications
Linux Kernel and Bootloader Development for RISC-V
Boot Firmware and Bootloader Ecosystem
- Developing bootloader firmware via OpenSBI (implementation of the SBI specification)
- Implementing UEFI/EDK II on RISC-V for modern firmware boot stack development
- Porting Coreboot and U-Boot for RISC-V single-board computers
Linux Kernel Integration
- Contributing to the RISC-V mainline kernel: working with device tree overlays, CPU topology, and developing interrupt controller (AIA) drivers
- Developing Vendor BSPs and configuring kernels for custom SoC platforms
- Enabling file system support, networking stacks, and containerization capabilities (Docker, Kubernetes) on RISC-V host systems
RISC-V SoC Design and FPGA Prototyping
Multicore SoC Architecture and Integration
- Network-on-Chip (NoC) design methodologies for RISC-V multi-core processors
- Implementing Axi4/CHI cache coherence protocols and inter-processor communication standards
- Integrating open-source IP cores from OpenCores, the ChIPS Framework, and vendor RTL components
- Designing bus matrices and integrating memory controllers (DDR, SRAM, eMMC, PCIe)
FPGA-Based Processor Prototyping
- Synthesis and implementation of RISC-V cores on FPGA platforms (e.g., BOOM, VexRiscv, PULP)
- Applying SystemVerilog Assertions (SVA) and UVM-based functional verification methodologies
- Utilizing formal verification tools and property-based testing for rigorous RISC-V core validation
RISC-V Vector Extensions and Domain-Specific Acceleration
RVV (RISC-V Vector) Extension Deep Dive
- Mechanics of vector load/store operations, vector-fused multiply-add (VFMA), and matrix computation acceleration
- Leveraging variable-length vector operations (VL, VLEN) for workload-optimized SIMD execution
- Utilizing vector mask operations, segment control, and data type flexibility for Digital Signal Processing (DSP) and Machine Learning (ML) workloads
Custom DSP and Domain-Specific Instruction Design
- Designing domain-specific accelerators through custom extensions and CBAR-based operand interfaces
- Modifying compiler frontends to generate custom instructions and emit optimized code
- Developing hardware-software partitioning strategies for effective accelerator integration in production SoCs
AI Acceleration and Edge Machine Learning on RISC-V
NPU Design and Integration for RISC-V Processors
- Neural Processing Unit (NPU) architecture fundamentals: systolic arrays, tensor cores, and weight compression for on-chip AI acceleration
- Applying model quantization techniques (INT8, INT4, FP8) for efficient edge deployment on RISC-V
- Ensuring framework compatibility with TensorFlow Lite Micro, ONNX Runtime, and PyTorch Edge on RISC-V targets
Heterogeneous Computing for AI Workloads
- Co-designing the RISC-V host CPU with an AI accelerator NPU to support real-time inference pipelines
- Optimizing the memory subsystem: managing HBM/DDR bandwidth for ML model weights and activations
- Establishing thermal and power budgets essential for edge AI inference systems
Hardware Security and Confidential Computing on RISC-V
Physical Memory Protection and Trusted Execution
- Implementing Physical Memory Protection (PMP) and securing Page Table walker mechanisms
- Building Secure Enclave/TEE architectures for RISC-V: integrating OP-TEE and SEV-class trusted execution environments
- Ensuring boot chain security through establishing a root of trust, secure boot processes, and measured launch attestation
Cryptographic Acceleration
- Utilizing RISC-V cryptographic extensions (Zk, Zkr, K) to accelerate SHA, AES, RSA, RSA-PSS, and ECC operations
- Integrating Post-Quantum Cryptography (PQC) for next-generation RISC-V processors
- Mitigating side-channel attack techniques through constant-time programming, masking strategies, and hardware random number generators
Advanced Custom Architecture and ISA Extension Design
Domain-Specific Architecture and Custom Instruction Extensions
- ISA extension design methodology: covering encoding, encoding tables, ABI impact analysis, and the RISC-V International specification submission process
- Designing custom register files with CBAR (Custom Base Address Registers) for efficient operand dispatch
- Managing instruction pipelining, hazard detection, and pipeline modifications required for custom extensions
Verification and Signoff of Custom Architecture Modifications
- Designing testbenches for custom extensions: balancing directed vs. constraint-random stimulus generation
- Implementing regression testing frameworks and coverage-driven verification processes for architectural modifications
- Conducting interoperability testing to ensure custom instructions operate correctly within established ABI constraints
Safety-Critical and Automotive RISC-V Applications
Functional Safety and Automotive Standards Compliance
- Achieving ISO 26262 functional safety compliance for RISC-V automotive processors
- Establishing ASIL-Q classification and developing safety manuals for RISC-V silicon IP
- Implementing deterministic interrupt handling, lockstep core pairs, and memory protection measures for safety-critical RISC-V systems
Industrial Real-Time and Edge Computing Applications
- Ensuring IEC 61508 SIL compliance and implementing deterministic scheduling on RISC-V multicore platforms
- Developing Industrial IoT gateways with RISC-V, focusing on connectivity, edge analytics, and OTA firmware update systems
Capstone Project: End-to-End RISC-V System Development
Full Lifecycle Project
- Architecture specification: designing ISA extensions and core configurations for a defined use case
- RTL implementation in SystemVerilog, supported by UVM testbenches and formal verification coverage
- Executing FPGA prototyping, developing boot firmware, and integrating bare-metal driver stacks
- Customizing Linux BSPs and toolchains for the custom RISC-V core
- Deploying AI workloads: integrating NPUs, applying model quantization, and conducting performance benchmarking
- Validating security features: enforcing PMP, implementing secure boot, and benchmarking cryptographic acceleration
- Delivering technical architecture documentation, IP strategy analysis, and cross-functional team presentations
21 Hours
Testimonials (2)
The explanations and interactivity of the trainer, he really brought the subject well; and even-though I was probably not experienced enough, I did learn a lot from it!
Pieter Bruynseels - Spot Buy Center BV
Course - Design Patterns
I liked the platform we used. It was really nice and easy to use. I liked the typescript section, the part about namespaces and modules.