VexRiscv (configurable, small area) and Rocket (high performance, complete SoC) are the two RISC-V soft cores most often compared on FPGAs; this article offers an engineering selection perspective.
VexRiscv is written in SpinalHDL, positioned as highly configurable: pipeline depth, multiplier implementation, debug unit, and interrupt controller can all be trimmed as needed, and the minimal configuration has extremely low resource usage. Rocket is written in Chisel, positioned as high-performance, complete SoC: stronger out-of-order execution, RoCC accelerator interfaces, and a mature peripheral ecosystem (TileLink/AXI bridges).
For small, resource-sensitive designs choose VexRiscv; for running Linux, complex SoCs, or research-grade performance choose Rocket; Ibex (low power, verified), PicoRV32 (minimal teaching), and NaxRiscv (new high-performance) are also candidates worth including in the comparison.
First bring up a hello-world soft core (UART output) with VexRiscv on a dev board to understand the boot flow; then compare Rocket’s SoC integration; finally run a performance/area measurement with each toolchain and let data replace impressions.