A compact, hackable single-cycle RISC-V RV32I core in Verilog.
This project is built for learning and experimentation: clear RTL modules, small focused testbenches, and fast local simulation with Icarus Verilog.
- Single-cycle RV32I-style core (
rv32i.v) - Key building blocks:
controlunit.valu.vimmgen.vregfile.vbranchcomp.vloadstoreunit.v
- Integration testbench:
testbench.v - Module testbenches:
*_tb.v - Assembly test programs: root
*.S+tests/*.S
iverilogvvp- (optional) RISC-V GNU toolchain for assembly/object workflows (
riscv64-unknown-elf-*)
bash test.shbash full.shrv32i.v+ component*.vfiles — core RTL*_tb.vandtestbench.v— simulation benchestests/— additional assembly teststest.sh— runs module benches +rv32i_tbfull.sh— runs top-level integration simulation
- ✅ Great for architecture exploration and iterative RTL improvements
⚠️ Still a personal/educational project (not a production-ready core)
If you want, next step can be adding a minimal CONTRIBUTING.md and LICENSE so the repo is easier to share publicly.