Get in Touch

Course Outline

RISC-V Architecture Fundamentals and Ecosystem Overview

RISC-V ISA Landscape and Industry Adoption

  • The philosophy of open ISAs and the RISC-V International standardization environment
  • Understanding the RISC-V mental model: Load-Store Architecture, Register File, and Byte Ordering
  • Comparing RISC-V with ARM, x86, and POWER: Analyzing trade-offs for heterogeneous computing architectures
  • Assessing ecosystem maturity: Insights on SiFive, T-Head, Western Digital, and the expanding open-source silicon community
  • Exploring standardized interfaces: RISC-V Privileged ISA and the Machine Software Abstraction Layer (MSBL)

Memory Models and ABI Compliance

  • Deep dive into the Unprivileged Architecture specification: CSR map, exception handling, and memory hierarchies
  • Examining RV32I / RV64I instruction sets and ABI compliance to ensure cross-platform binary portability
  • Understanding memory ordering conventions and barrier instructions within multiprocessor systems

RISC-V Assembly Programming and Compiler Toolchain

Low-Level Instruction Programming

  • Mastering Base integer instructions (I), Multiply/Divide (M), and Atomic operations (A) extensions
  • Developing bitness-aware programming strategies for both 32-bit and 64-bit RISC-V targets
  • Implementing calling conventions and managing stack frames for embedded and real-time software systems

Compiler Toolchain Proficiency

  • Leveraging the LLVM-based compiler toolchain: Utilizing Clang, LLVM, and Binutils for RISC-V cross-compilation
  • Configuring linker scripts, sections, and memory layouts for bare-metal and RTOS environments
  • Applying compiler intrinsics, optimization levels, and profiling-driven code tuning techniques
  • Engaging in open-source toolchain development 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: Focus on zero-cost abstractions, unsafe memory management, and bare-metal development
  • Working with No-Std environments: Creating custom linkers, developing device drivers, and managing 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 for power efficiency: Implementing 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): Focusing on bootloader firmware development
  • Deploying UEFI/EDK II on RISC-V: Building modern firmware boot stacks
  • 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 interrupt controller (AIA) drivers
  • Developing vendor BSPs and configuring kernels 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
  • Using formal verification tools and property-based testing to validate RISC-V cores

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
  • Utilizing variable-length vector operations (VL, VLEN) for workload-optimized SIMD execution
  • Leveraging 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
  • Developing hardware-software partitioning strategies for accelerator integration 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: Focusing on 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: Supporting 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
  • Budgeting thermal and power constraints 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
  • Architecting Secure Enclave/TEE systems for RISC-V: Integrating OP-TEE and SEV-class trusted execution environments
  • Securing the boot chain: Establishing root of trust, secure boot, and measured launch attestation

Cryptographic Acceleration

  • Utilizing RISC-V cryptographic extensions (Zk, Zkr, K extensions) to accelerate SHA, AES, RSA, RSA-PSS, and ECC
  • Integrating Post-quantum cryptography (PQC) for next-generation RISC-V processors
  • Mitigating side-channel attacks: Applying constant-time programming, masking, and hardware random number generators

Advanced Custom Architecture and ISA Extension Design

Domain-Specific Architecture and Custom Instruction Extensions

  • Following ISA extension design methodologies: Handling encoding, encoding tables, ABI impact analysis, and RISC-V International specification submission
  • Designing custom register files with CBAR (Custom Base Address Registers) for operand dispatch
  • Modifying instruction pipelining, hazard detection, and pipelines to accommodate custom extensions

Verification and Signoff of Custom Architecture Modifications

  • Designing testbenches for custom extensions: Comparing directed vs. constraint-random stimulus generation
  • Implementing regression testing frameworks and coverage-driven verification for architectural changes
  • 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
  • Managing ASIL-Q classification and developing 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: Integrating connectivity, edge analytics, and OTA firmware update systems

Capstone Project: End-to-End RISC-V System Development

Full Lifecycle Project

  • Defining architecture specifications: Designing ISA extensions and core configurations for a specific use case
  • Implementing RTL in SystemVerilog with UVM testbenches and formal verification coverage
  • Prototyping on FPGA, developing boot firmware, and integrating the bare-metal driver stack
  • Customizing the Linux BSP and toolchain for the specific RISC-V core
  • Deploying AI workloads: Integrating NPUs, quantizing models, and benchmarking performance
  • Validating security: Enforcing PMP, securing boot, and benchmarking cryptographic acceleration
  • Producing technical architecture documentation, analyzing IP strategy, and presenting to cross-functional teams

Requirements

None.

 21 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories