SpinalHDL/VexRiscv

A FPGA friendly 32 bit RISC-V CPU implementation

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on September 21st, 2026
Created on March 8th, 2017
Open Issues & Pull Requests: 145 (+0)
GitHub issues: Enabled
Number of forks: 517
Total Stargazers: 3,271 (+0)
Total Subscribers: 101 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 23.9 hours
Mean response time: 9.2 days
90th percentile: 8.1 days
Tracked items: 39

How this project is maintained

98% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 67% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 42
New in 7 days: 12
Closed in 7 days: 0
Avg open age: 322 days
Stale 30+ days: 26
Stale 90+ days: 25

Recent activity

Opened in 7 days: 11
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

VexRiscv is a FPGA-friendly 32-bit RISC-V CPU implementation written in SpinalHDL that generates synthesizable hardware descriptions for embedded systems.

The project addresses the need for a customizable, open-source processor core suitable for FPGA deployment. Rather than providing a fixed design, VexRiscv uses a plugin architecture that allows developers to compose CPU configurations by selecting and combining functional modules. This approach enables trade-offs between area usage, clock frequency, and feature completeness. The tool generates Verilog or VHDL from a SpinalHDL specification, which can then be synthesized for FPGA targets. The project includes example System-on-Chip implementations like Briey and Murax, support for running Linux, and integration with standard debugging tools including GDB, OpenOCD, and Verilator simulation.

VexRiscv suits projects requiring a soft processor core where design flexibility and FPGA resource efficiency matter more than fixed performance characteristics. It works well for embedded systems, custom SoCs, and research applications where the ability to enable or disable features like instruction caches, floating-point units, memory management, and branch prediction directly impacts feasibility. The tool is appropriate for developers comfortable with hardware description languages and FPGA workflows. The plugin system allows adding custom instructions and control status registers without modifying core logic, making it suitable for domain-specific extensions.

Development activity shows consistent engagement with the codebase through regular updates to the plugin ecosystem and architecture documentation. The project maintains comprehensive regression testing infrastructure and provides multiple pathways for interactive debugging via simulation. Documentation covers CPU parametrization, instantiation patterns, and the plugin extension mechanism in detail, indicating sustained effort to support adoption and customization by new users.