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
- The open ISA philosophy and the RISC-V International standardization framework
- Establishing a mental model for RISC-V: Load-Store Architecture, Register File, and Byte Ordering
- Comparative analysis with ARM, x86, and POWER: Evaluating trade-offs for heterogeneous computing architectures
- Assessing ecosystem maturity: Insights into SiFive, T-Head, Western Digital, and the expanding open-source silicon community
- Standardized interfaces: The RISC-V Privileged ISA and the Machine Software Abstraction Layer (MSBL)
Memory Models and ABI Compliance
- Unprivileged Architecture specification: Examining the CSR map, exception handling, and memory hierarchies
- RV32I and RV64I instruction sets and ensuring ABI compliance for cross-platform binary portability
- Memory ordering conventions and utilizing barrier instructions in multiprocessor systems
RISC-V Assembly Programming and Compiler Toolchain
Low-Level Instruction Programming
- Implementing Base integer instructions (I), Multiply/Divide (M), and Atomic operations (A) extensions
- Developing bitness-aware strategies for 32-bit and 64-bit RISC-V targets
- Managing calling conventions and stack frames for embedded and real-time software systems
Compiler Toolchain Proficiency
- Leveraging the LLVM-based toolchain: Using Clang, LLVM, and Binutils for RISC-V cross-compilation
- Configuring linker scripts, sections, and memory layouts for bare-metal and RTOS environments
- Utilizing compiler intrinsics, optimization levels, and profiling-driven techniques for code tuning
- Managing open-source toolchain workflows: Building, testing, and packaging custom GCC/Clang toolchains
Embedded Systems Development and Real-Time Operating Systems
Bare-Metal and RTOS Programming
- Applying Rust systems programming to RISC-V: Utilizing zero-cost abstractions, managing unsafe memory, and executing bare-metal development
- Working in No-Std environments: Implementing custom linkers, developing device drivers, and handling memory-mapped I/O
- Developing with Zephyr RTOS and Buildroot BSP for RISC-V targets
- Interfacing with peripherals: Programming GPIO, I2C, SPI, UART, and DMA controllers
Power and Performance Optimization
- Optimizing clock gating, power domain management, and low-power modes
- Conducting cycle-accurate performance analysis using simulation profilers and hardware performance counters
- Tuning real-time interrupt latency for safety-critical applications
Linux Kernel and Bootloader Development for RISC-V
Boot Firmware and Bootloader Ecosystem
- Implementing OpenSBI (SBI specification): Developing bootloader firmware
- Building modern firmware boot stacks using UEFI/EDK II on RISC-V
- Porting Coreboot and U-Boot for RISC-V single-board computers
Linux Kernel Integration
- Contributing to the RISC-V mainline kernel: Managing device tree overlays, CPU topology, and interrupt controller (AIA) driver development
- Developing Vendor BSPs and configuring the kernel for custom SoC platforms
- Supporting file systems, networking stacks, and containerization (Docker, Kubernetes) on RISC-V host systems
RISC-V SoC Design and FPGA Prototyping
Multicore SoC Architecture and Integration
- Applying Network-on-Chip (NoC) design methodologies for RISC-V multi-core processors
- Implementing Axi4/CHI cache coherence and inter-processor communication protocols
- Integrating open-source IP: Utilizing OpenCores, ChIPS Framework, and vendor RTL components
- Designing bus matrices and integrating memory controllers (DDR, SRAM, eMMC, PCIe)
FPGA-Based Processor Prototyping
- Performing FPGA synthesis and implementation of RISC-V cores (e.g., BOOM, VexRiscv, PULP)
- Applying SystemVerilog Assertions (SVA) and UVM-based functional verification methodologies
- Validating RISC-V cores using formal verification tools and property-based testing
RISC-V Vector Extensions and Domain-Specific Acceleration
RVV (RISC-V Vector) Extension Deep Dive
- Accelerating Vector load/store, vector-fused multiply-add (VFMA), and matrix computations
- Optimizing SIMD execution using variable-length vector operations (VL, VLEN) for specific workloads
- Managing vector mask operations, segment control, and data type flexibility for DSP and ML workloads
Custom DSP and Domain-Specific Instruction Design
- Designing domain-specific accelerators via custom extensions and CBAR-based operand interfaces
- Modifying compiler frontends for custom instruction generation and code emission
- Implementing hardware-software partitioning strategies for integrating accelerators in production SoCs
AI Acceleration and Edge Machine Learning on RISC-V
NPU Design and Integration for RISC-V Processors
- Designing Neural Processing Unit architectures: Utilizing systolic arrays, tensor cores, and weight compression for on-chip AI acceleration
- Applying model quantization techniques (INT8, INT4, FP8) for edge deployment on RISC-V
- Ensuring framework compatibility: Deploying TensorFlow Lite Micro, ONNX Runtime, and PyTorch Edge on RISC-V targets
Heterogeneous Computing for AI Workloads
- Co-designing RISC-V host CPUs with AI accelerator NPUs for real-time inference pipelines
- Optimizing memory subsystems: Managing HBM/DDR bandwidth for ML model weights and activations
- Managing thermal and power budgets 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 Page Table walker security mechanisms
- Establishing Secure Enclave/TEE architectures for RISC-V: Integrating OP-TEE and SEV-class trusted execution environments
- Securing the boot chain: Managing root of trust, secure boot, and measured launch attestation
Cryptographic Acceleration
- Accelerating RISC-V cryptographic extensions (Zk, Zkr, K extensions): Supporting SHA, AES, RSA, RSA-PSS, and ECC
- Integrating Post-quantum cryptography (PQC) for next-generation RISC-V processors
- Mitigating side-channel attacks: Employing constant-time programming, masking, and hardware random number generators
Advanced Custom Architecture and ISA Extension Design
Domain-Specific Architecture and Custom Instruction Extensions
- Following the ISA extension design methodology: Handling encoding, encoding tables, ABI impact analysis, and RISC-V International specification submissions
- Designing custom register files with CBAR (Custom Base Address Registers) for operand dispatch
- Modifying instruction pipelining, hazard detection, and pipeline structures for custom extensions
Verification and Signoff of Custom Architecture Modifications
- Designing testbenches for custom extensions: Comparing directed versus constraint-random stimulus generation
- Using regression testing frameworks and coverage-driven verification for architectural modifications
- Conducting interoperability testing: Ensuring custom instructions function 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
- Developing ASIL-Q classification and safety manuals for RISC-V silicon IP
- Implementing deterministic interrupt handling, lockstep core pairs, and memory protection for safety-critical RISC-V systems
Industrial Real-Time and Edge Computing Applications
- Ensuring IEC 61508 SIL compliance and deterministic scheduling on RISC-V multicore platforms
- Developing Industrial IoT gateways with RISC-V: Handling connectivity, edge analytics, and OTA firmware update systems
Capstone Project: End-to-End RISC-V System Development
Full Lifecycle Project
- Specifying the architecture: Designing ISA extensions and core configurations for a defined use case
- Implementing RTL in SystemVerilog with UVM testbenches and formal verification coverage
- Executing FPGA prototyping, boot firmware development, and bare-metal driver stack integration
- Customizing Linux BSP and toolchains for the custom RISC-V core
- Deploying AI workloads: Integrating NPUs, quantizing models, and running performance benchmarks
- Validating security: Enforcing PMP, securing boot, and benchmarking cryptographic acceleration
- Documenting technical architecture, analyzing IP strategy, and presenting to cross-functional teams
Requirements
None.
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.