Skip to main content
πŸŽ“ Claude Code Masterclass Learn AI-assisted development on Udemy β€” plus the companion book on Leanpub & Amazon. Start Learning
RISC-V softcore running on an FPGA board at RISC-V Summit Europe 2026
RISC-V

Build a RISC-V Softcore on an FPGA

Turn a cheap FPGA into a real RISC-V CPU. A practical intro to softcores like PicoRV32 and VexRiscv β€” what they are, how the flow works, and how to start.

LB
Luca Berton
Β· 3 min read

There is a moment in every hardware enthusiast’s life when emulation stops being enough and you want a real CPU you can hold, modify, and watch toggle actual pins. With RISC-V and an inexpensive FPGA, that is genuinely achievable on a weekend. This is a friendly introduction to running a RISC-V softcore.

RISC-V softcore running on an FPGA board at the Summit

What a Softcore Is

An FPGA β€” Field-Programmable Gate Array β€” is a chip whose logic you can reconfigure. A softcore is a CPU described in hardware (Verilog/VHDL or generated from a language like Chisel) and loaded onto that fabric. The FPGA literally becomes a RISC-V processor β€” with real timing and real I/O β€” unlike QEMU, which emulates a CPU in software. Because the RISC-V ISA is open, the internet is full of free, high-quality cores you can use.

Three Cores Worth Knowing

SoftcoreSizeGood for
PicoRV32TinySmallest footprint, easiest start
VexRiscvConfigurableThe sweet spot β€” small to Linux-capable
RocketLargeFull application-class, can boot Linux

If you are starting out, PicoRV32 fits on the cheapest boards and is wonderfully simple. VexRiscv is the popular middle ground β€” highly configurable and well documented. Rocket (from the Chipyard world) is for when you want a serious, Linux-capable design.

The Flow, End to End

Getting a softcore running follows a predictable path:

  1. Get the core β€” clone an open softcore (PicoRV32, VexRiscv).
  2. Configure it β€” pick extensions, memory size, and peripherals.
  3. Synthesize the HDL to a bitstream with your FPGA vendor’s tools (or open flows like Yosys/nextpnr for supported parts).
  4. Program the FPGA with the bitstream.
  5. Run software β€” load firmware built with a RISC-V toolchain and watch it execute on your CPU.

Stages 1–3 cost nothing but time; the only purchase is an affordable board.

You Don’t Need Expensive Hardware

A common myth is that FPGAs are costly. Entry-level boards run in the tens of dollars and easily host a small softcore. That low barrier is exactly what makes RISC-V softcores such a powerful learning tool β€” and it underpins open education efforts like One Student One Chip, where students go from theory to a working processor.

Why Bother?

Running a softcore is the best way to truly understand a processor. You can:

  • Watch the boot flow execute on hardware you control.
  • Modify the core β€” add an instruction, change the pipeline β€” and see the effect.
  • Debug with real JTAG and OpenOCD instead of a simulator.

It is the difference between reading about how a CPU works and building one that does.

The Bottom Line

A RISC-V softcore on an FPGA is the most hands-on way to learn computer architecture, and it has never been more accessible: grab an open core like PicoRV32 or VexRiscv, synthesize it, program a cheap board, and run real firmware on a CPU you can inspect and change. Emulation tells you what a processor does; a softcore lets you discover how β€” and maybe build a better one. For students, hobbyists, and curious engineers, there is no better playground than open hardware on open silicon.


Part of my RISC-V series. See also Chisel and Chipyard and open-source cores.

Frequently Asked Questions

What is a RISC-V softcore?

A softcore is a CPU implemented in programmable logic on an FPGA rather than fixed silicon. You load a hardware description of a RISC-V core into the FPGA, and the chip's reconfigurable fabric becomes that processor. Popular open RISC-V softcores include PicoRV32, VexRiscv, and Rocket, ranging from tiny to Linux-capable.

Do I need an expensive FPGA to run a RISC-V softcore?

No. Small softcores like PicoRV32 fit on inexpensive entry-level FPGA boards costing tens of dollars. Larger, Linux-capable cores need more logic and memory, but a hobbyist can absolutely run a real RISC-V CPU on affordable hardware and even program it with open-source toolchains.

What is the difference between a softcore and an emulator like QEMU?

QEMU emulates a RISC-V CPU in software on your existing computer. A softcore is actual hardware: the FPGA's logic is configured to be a RISC-V processor, with real timing and real I/O pins. Emulation is great for software testing; a softcore lets you study and modify the hardware itself.

#RISC-V #FPGA #softcore #VexRiscv #PicoRV32
Share:

πŸ“¬ Don't miss the next one

Get AI & Cloud insights delivered weekly

Join engineers getting practical tips on AI, Kubernetes, Ansible, and Platform Engineering.

Subscribe Free β†’
Luca Berton β€” AI & Cloud Advisor, Docker Captain

Luca Berton

AI & Cloud Advisor Β· Docker Captain Β· KubeCon Speaker

18+ years in enterprise infrastructure. Author of 8 technical books, creator of Ansible Pilot (1M+ YouTube views, 648K site users). Former Red Hat engineer. Speaker at KubeCon EU 2026 and Red Hat Summit 2026.

Free 30-min AI & Cloud consultation

Book Now