Skip to content
This repository has been archived by the owner on Feb 22, 2019. It is now read-only.
/ riscy Public archive

Superscalar OoO RISCV processor written in Chisel

License

Notifications You must be signed in to change notification settings

mark-i-m/riscy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Riscy Build Status

  • Karan Bavishi
  • Mark Mansi
  • Suhas Pai
  • Preyas Shah

The repo for our CS 752 project! 😃

We are building a superscalar OOO RISCV processor optimized for high performance rather than area or energy. In fact, while we tried to keep the core synthesizeable, we are not really sure if it is due to the lack of hardware structures like CAMs and register files in Chisel.

We made a number of hugely simplifying assumptions in order to finish on time:

  • No virtual memory.
  • No interrupts/traps/etc, though we do maintain mispeculation support, so adding these is no big deal.
  • No memory-mapped I/O (simplifies LSQ).
  • Only implementing the RISCV RV64I instructions, excluding memory fences.

Better documentation can be found in doc/doc.tex. To render: pdflatex doc.tex in doc.

A diagram of the whole pipeline can be found in the doc directory.

Our implementation is entirely contained in the riscy subdirectory of this repository.

To build and run module-level tests:

$ cd riscy
$ make test

To build and run top-level tests/benchmarks with the whole pipeline (this takes a huge amount of memory [more than ~6GB]):

$ cd riscy
$ make check

Note that by "build", we mean generate, compile, and run C++ from the Chisel.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •