Skip to content

palubid/riscv-simple-sv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

riscv-simple-sv

This is a collection of simple RISC V (rv32i) cores for teaching purposes. They are written in a subset of SystemVerilog understood by Yosys, the open-source hardware synthesis framework, and Verilator, an open-source Verilog to C++ compiler. The implementation is extremely simple, no bells and whistles, and it's modularized sensibly, so that schematics generated by synthesis tools are readable.

Three cores are currently implemented:

  • single-cycle core (one instruction per cycle, separate instruction and data bus),
  • multicycle core (multiple cycles per instruction, single memory bus, only one adder),
  • pipelined core (five-stage pipeline).

The single-cycle core is adapted from riscv-simple. Code structure has been modified for readability, and several bugs have been fixed.

Testing

The cores are tested using official unit tests.

About

A simple RISC V core for teaching

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SystemVerilog 44.9%
  • Assembly 44.2%
  • C 8.7%
  • Makefile 1.3%
  • C++ 0.9%