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 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)

Upcoming Courses

Related Categories