Configurable RISC-V Processor
Go to file
Ross Thompson 12a6a9f83b Actually fixed the bus width issue coming out of the cache.
The root cause is the ahb bus width can be different from LLEN.
If we switch the d-cache to outputing LLEN and on LLEN intervals, subword read needs to operate on LLEN as well.
Then the cache always outputs LLEN data which may need to be muxed down into 2 or more subwords if ABHW is smaller than LLEN.
2022-10-12 11:33:10 -05:00
addins embench cleaned up 2022-09-08 11:38:01 -07:00
benchmarks added simple post processing script to give branch miss proportion in coremark log 2022-09-26 04:51:04 +00:00
bin Moved some privileged tests to be simulated. 2022-05-12 04:45:41 +00:00
examples Simplified shipping in divshiftcalc; enhanced testbench-fp to be able to run all 32-bit tests generated by sqrttest 2022-09-21 10:35:08 -07:00
fpga Updated constraints file to work with alternate uart. 2022-10-04 17:35:44 -05:00
linux changes suggested by ben, hopefully fixing buildroot (which is now not running) 2022-05-20 18:42:38 -07:00
pipelined Actually fixed the bus width issue coming out of the cache. 2022-10-12 11:33:10 -05:00
synthDC Rolled back synth scripts to fff91ae commit before Madeleine's modifications to write config files; the modified version is failing right away with trouble copying configs 2022-08-24 00:09:16 +00:00
tests fixed endianness mstatush problem, passes make, not regression 2022-10-04 17:37:39 +00:00
.gitattributes Renamed wally-pipelined to pipelined 2022-01-04 19:47:41 +00:00
.gitignore fixed wally rv32e tests, updated regression makefile to new testflow 2022-07-22 17:09:46 -07:00
.gitmodules fixed gitmodules 2022-07-21 10:15:13 -07:00
bugs.txt Fixed bug. 2022-02-11 14:00:01 -06:00
LICENSE Initial Checkin 2021-01-14 23:37:51 -05:00
Makefile Updated Makefile to reflect new Linux and Imperas situation. Updated setup to include Synopsys license file. 2022-03-03 11:28:22 -08:00
README.md Update README.md 2022-01-24 15:47:42 -08:00
setup.sh Changed SNPS license server 2022-10-10 06:59:11 -07:00

riscv-wally

Configurable RISC-V Processor

Wally is a 5-stage pipelined processor configurable to support all the standard RISC-V options, incluidng RV32/64, A, C, F, D, and M extensions, FENCE.I, and the various privileged modes and CSRs. It is written in SystemVerilog. It passes the RISC-V Arch Tests and Imperas tests. As of October 2021, it boots the first 10 million instructions of Buildroot Linux.

If you are new to using Linux and Github, follow the steps in the RISCV SoC Design textbook to:

See Chapter 2 of draft book of how to install and compile tests.

Download and install x2go - A.1
Download and install VSCode - A.4.2
Make sure you can log into Tera acceptly via x2go and via a terminal
	Terminal on Mac, cmd on Windows, xterm on Linux
	See A.1 about ssh -Y login from a terminal
Git started with Git configuration and authentication: B.1

Then follow Section 2.2.2 to clone the repo, source setup, make the tests and run regression

$ cd
$ export RISCV=/opt/riscv
$ git clone --recurse-submodules https://github.com/davidharrishmc/riscv-wally
$ cd riscv-wally
$ source ./setup.sh
$ make
$ cd pipelined/regression
$ ./regression-wally       (depends on having Questa installed)

Add the following lines to your .bashrc or .bash_profile

if [ -f ~/riscv-wally/setup.sh ]; then
	source ~/riscv-wally/setup.sh
fi