Get in Touch

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 framework
  • Developing a mental model of RISC-V: grasping load-store architecture, register files, and byte ordering
  • Analyzing trade-offs compared to ARM, x86, and POWER architectures for heterogeneous computing environments
  • Evaluating ecosystem maturity through key players like SiFive, T-Head, Western Digital, and the expanding open-source silicon community
  • Exploring standardized interfaces including the RISC-V Privileged ISA and Machine Software Abstraction Layer (MSBL)

Memory Models and ABI Compliance

  • Examining the Unprivileged Architecture specification: CSRs map, exception handling, and memory hierarchies
  • Mastering RV32I and RV64I instruction sets with ABI compliance to ensure cross-platform binary portability
  • Understanding memory ordering conventions and barrier instructions essential for multiprocessor systems

RISC-V Assembly Programming and Compiler Toolchain

Low-Level Instruction Programming

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

Compiler Toolchain Proficiency

  • Navigating LLVM-based compiler toolchains: utilizing 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, adjusting optimization levels, and performing profiling-driven code tuning
  • 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

  • Adopting Rust systems programming for RISC-V: leveraging zero-cost abstractions, unsafe memory management, and bare-metal development techniques
  • Operating in No-Std environments: developing custom linkers, device drivers, and managing memory-mapped I/O
  • Utilizing 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 (the SBI specification) for bootloader firmware development
  • Deploying UEFI/EDK II on RISC-V for modern firmware boot stack development
  • Porting Coreboot and U-Boot to RISC-V single-board computers

Linux Kernel Integration

  • Contributing to the RISC-V mainline kernel: developing device tree overlays, CPU topology support, and interrupt controller (AIA) drivers
  • Creating Vendor BSPs and configuring kernels for custom SoC platforms
  • Enabling file system support, networking stacks, and containerization (Docker, Kubernetes) on RISC-V host systems

RISC-V SoC Design and FPGA Prototyping

Multicore SoC Architecture and Integration

  • Employing 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 from OpenCores, ChIPS Framework, and vendor RTL components
  • Designing bus matrices and integrating memory controllers such as DDR, SRAM, eMMC, and PCIe

FPGA-Based Processor Prototyping

  • Synthesizing and implementing RISC-V cores on FPGAs (e.g., BOOM, VexRiscv, PULP)
  • Applying SystemVerilog Assertions (SVA) and UVM-based functional verification methodologies
  • Utilizing formal verification tools and property-based testing for RISC-V core validation

RISC-V Vector Extensions and Domain-Specific Acceleration

RVV (RISC-V Vector) Extension Deep Dive

  • Utilizing vector load/store, vector-fused multiply-add (VFMA), and matrix computation acceleration
  • Executing 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 to support custom instruction generation and code emission
  • Developing hardware-software partitioning strategies for integrating accelerators into production SoCs

AI Acceleration and Edge Machine Learning on RISC-V

NPU Design and Integration for RISC-V Processors

  • Architecting Neural Processing Units: implementing 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 with 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
  • Balancing thermal constraints 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, including OP-TEE integration and SEV-class trusted execution environments
  • Securing the boot chain: establishing a root of trust, secure boot, and measured launch attestation

Cryptographic Acceleration

  • Leveraging RISC-V cryptographic extensions (Zk, Zkr, K) for SHA, AES, RSA, RSA-PSS, and ECC acceleration
  • Integrating post-quantum cryptography (PQC) for next-generation RISC-V processors
  • Mitigating side-channel attacks through constant-time programming, masking techniques, and hardware random number generators

Advanced Custom Architecture and ISA Extension Design

Domain-Specific Architecture and Custom Instruction Extensions

  • Mastering ISA extension design methodology: 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
  • Handling instruction pipelining, hazard detection, and implementing pipeline modifications for custom extensions

Verification and Signoff of Custom Architecture Modifications

  • Designing testbenches for custom extensions: generating directed versus constraint-random stimuli
  • Establishing regression testing frameworks and coverage-driven verification 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
  • Developing ASIL-Q classifications 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 using RISC-V: managing 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 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, applying model quantization, and performing performance benchmarking
  • Validating security: enforcing PMP, implementing secure boot, and benchmarking cryptographic acceleration
  • Producing technical architecture documentation, conducting IP strategy analysis, and presenting to cross-functional teams
 21 Hours

Testimonials (2)

Related Categories