Configurable RISC-V Processor
Go to file
Ross Thompson b6ae6fea27 Fixed bug with interlock fsm. The interlock fsm should suppress bus and cache requests by the cpu
only at the start of a request.  Pending interrupt was used to start one of these suppressions;
however because of the way the cache's fsm was separated from the bus fsm, the cache now made requests
to the bus fsm.  On a miss with write back, the inital fetch is handled correctly.  However if an
interrupt becam pending then the the next request (eviction) made by the cache was also suppressed.
This keeps the d cache fsm stuck in the STATE_MISS_EVICT_DIRTY state as it think it has made a request
to the bus fsm, but the pending interrupt ignored the request.

The solution is to modify how cpu requests are suppressed.  Instead of relying on pending interrupt
it is better to use interrupt which will be disabled if the dcache is currently processing the evict.
2022-01-07 17:55:34 -06:00
addins Code cleanup 2022-01-07 04:07:04 +00:00
benchmarks/riscv-coremark Added file showing how to compile riscv toolchain for different extension combinations. 2021-12-19 20:31:55 -06:00
bin Code cleanup 2022-01-07 04:07:04 +00:00
examples Code cleanup 2022-01-07 04:07:04 +00:00
fpga Patched the ILA's debug2.xdc constraint file to work with the wally memory design. 2022-01-06 15:18:18 -06:00
pipelined Fixed bug with interlock fsm. The interlock fsm should suppress bus and cache requests by the cpu 2022-01-07 17:55:34 -06:00
tests Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main 2022-01-06 18:10:32 +00:00
.gitattributes Renamed wally-pipelined to pipelined 2022-01-04 19:47:41 +00:00
.gitignore Renamed wally-pipelined to pipelined 2022-01-04 19:47:41 +00:00
.gitmodules .gitmodule added dirty riscv-arch-test 2021-12-29 23:50:17 +00:00
LICENSE Initial Checkin 2021-01-14 23:37:51 -05:00
Makefile Renamed wally-pipelined to pipelined 2022-01-04 19:47:41 +00:00
README.md Update README.md 2022-01-05 11:29:54 -08:00
setup.sh Code cleanup 2022-01-07 04:07:04 +00:00
wallyVirtIO.patch added wallyVirtIO.patch from Ross 2021-12-22 07:04:47 -08: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.

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