Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Build a RISC-V CPU in VHDL from Scratch
Rating: 4.5 out of 5(7 ratings)
70 students
Created byAnas Fennane
Last updated 2/2026
English

What you'll learn

  • Design a RISC-V CPU from scratch in VHDL
  • Understand RISC-V instructions and CPU internals
  • Build and verify a CPU using unit tests and simulation
  • Create a complete RISC-V System-on-Chip (SoC)
  • Run bare-metal C firmware on a custom CPU
  • Use linker scripts, startup code, and stack initialization
  • Bridge hardware and software correctly
  • Deploy and test the design on FPGA
  • Gain practical RISC-V and CPU design confidence

Course content

8 sections56 lectures7h 25m total length
  • Welcome and Course Objectives8:18
  • Required Tools and Environment4:01

Requirements

  • Basic digital design knowledge (Understanding of combinational and sequential logic (registers, FSMs, clocks).
  • Some familiarity with VHDL (You do not need to be an expert, but you should be comfortable reading and writing basic VHDL.)

Description

Design a RISC-V CPU from scratch — and run it on FPGA.

This course takes you step by step through the complete design of a RISC-V CPU in VHDL, starting from RISC-V specification and  ending with a fully working System on Chip built around the RISC-V CPU and running C firmware on FPGA.

You will start by implementing a RISC-V CPU from scratch, learning how instructions are decoded, executed, and connected to memory at the RTL level. The design then evolves into a complete System-on-Chip, where you will integrate peripherals, define the memory map, and connect hardware to software.

A key focus of the course is the hardware–software interface. You will learn how bare-metal software actually works, including stack initialization, linker scripts, startup code, and C firmware integration. To ensure correctness and confidence, the CPU is validated using unit tests and simulations before moving to FPGA.

By the end of this course, you will be able to:

  • Design a RISC-V CPU in VHDL from scratch

  • Verify your design with unit tests and simulation

  • Build and understand a complete RISC-V SoC

  • Write and run C firmware on your own processor

  • Use linker scripts, stack setup, and startup code

  • Deploy and test your design on FPGA

This course is ideal for:

  • FPGA and ASIC engineers seeking deep CPU design knowledge

  • Embedded software engineers wanting to understand what runs below C

  • Students aiming to build a strong, differentiating hardware project

  • Anyone who wants a true end-to-end RISC-V learning experience


Who this course is for:

  • Electronics and computer engineering students
  • FPGA and digital design engineers
  • Embedded software engineers
  • Curious engineers and makers