📈 GH Trending Explorer 🎲 Surprise me

← all repos

openhwfoundation / cvw

git clone https://github.com/openhwfoundation/cvw.git CVW_v0.9 · 3y ago 🔥 on GitHub Trending today

CORE-V Wally is a configurable RISC-V Processor associated with RISC-V System-on-Chip Design textbook. Contains a 5-stage pipeline, support for A, B, C, D, F, M and Q extensions, and optional caches, BP, FPU, VM/MMU, AHB, RAMs, and peripherals.

—
stars, 24h
+5
stars, 7 days · #1,600
—
stars, 30 days
648
★ total · +1% this week
587
forks · 33 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageSystemVerilog
License—
Created2021-01-15 (5y ago)
Last push1d ago
Watchers32
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #3 weekly in systemverilog · +5 ★

Links

README excerpt
# core-v-wally
Wally is a 5-stage pipelined processor configurable to support up through the RVA22 profile, including virtual memory, PMP, and the various privileged modes and CSRs. The rv64gc configuration supports:
- RV64IMAFDCB with M, S, and U modes
- Zicsr, Zifencei, Zicntr, Zihpm, Zicond, and Zicclsm
- Zbc
- Zkn scalar crypto (Zbkb, Zbkc, Zbkx, Zknd, Zkne, and Zknh)
- Zcb
- Zfh and Zfa
- Zicbom, Zicboz, and Zicbop
- Sstc
- Sv39, Sv48, and Sv57 virtual memory with Svpbmt, Svnapot, Svinval, and Svadu
- 16 PMP entries
Other configurations range down to a minimal RV32E core, and derivative configurations add the Q extension. Wally provides optional caches, branch prediction, and standard RISC-V peripherals (CLINT, PLIC, UART, GPIO). Wally is written in SystemVerilog. It passes the RISC-V Arch Tests and boots Linux on an FPGA. Wally is part of the OpenHW Foundation family of robust open RISC-V cores.
Wally is described in a textbook, *RISC-V System-on-Chip Design*, by Harris, Stine, Thompson, and Harris. Users should follow the setup instructions below.
# Verification
Wally is presently at Technology Readiness Level 4, passing the RISC-V compatibility test suite and custom tests, and booting Linux in simulation and on an FPGA. See the Test Plan for details.
# New User Setup
New users may wish to do the following setup to access the server via a GUI and use a text editor.
- Git started with Git configuration and authentication: C.1 (replace with your name and email)
 [code] 
- Optional: Download and install x2go - B.1.1
- Optional: Download and install VSCode - B.4.2
- Optional: Make sure you can log into your server via x2go and via a terminal
 - Terminal on Mac, cmd on Windows, xterm on Linux
 - See B.1 about ssh -Y login from a terminal
Then fork and clone the repo, source setup, make the tests and run regression
1. If you don't already have a Github account, create one
2. In a web browser, visit https://github.com/openhwfoundation/cvw
3. In the upper right part of the screen, click on Fork
4. Create a fork, choosing the owner as your github account and the repository as cvw.
5. On the Linux computer where you will be working, log in.
6. Clone your fork of the repo. Change ` ` to your github id.
 [code] 
> [!NOTE]
> If you are installing on a new system without any tools installed, please jump to the next section, Toolchain Installation, then come back here.
7. Run the setup script to update your `PATH` and activate the python virtual environment.
 [code] 
8. Add the following lines to your `.bashrc` or `.bash_profile` to run the setup script each time you log in.
 [code] 
9. Try compiling the HelloWally program and simulating it on the SystemVerilog with Verilator and on the Spike simulator.
 [code] 
10. Build the tests from the cvw directory and run a regression simulation to prove everything is installed. Building tests may take a while.
 [code] 
# Toolchain Installation and Configuration
This section describes the open source toolchain ins