The CORE-V CVA6 is an Application class 6-stage RISC-V CPU capable of booting Linux
Find a file
Pasquale Davide Schiavone 70e264b55c first mult implementation
2017-07-25 20:23:09 +02:00
docs 📝 Update Ariane block diagram 2017-06-28 23:31:27 +02:00
failedtests Update .gitignore in failed-tests directory 2017-07-03 14:15:51 +02:00
include Implement hardware break-points 2017-07-18 20:40:27 +02:00
riscv-tests@b253ea66b0 Align privilege level by using clocking block 2017-07-14 14:32:11 +02:00
riscv-torture@120d3d7e50 Pump submodule versions 2017-07-06 15:33:37 +02:00
src first mult implementation 2017-07-25 20:23:09 +02:00
tb@4d598a69e2 Pump TB version 2017-07-25 13:00:37 +02:00
uvm-scaffold@d59b8d6a51 Instantiated dcache interface for store queue test 2017-05-29 19:09:14 +02:00
.editorconfig Add support for device tree 2017-07-13 18:05:29 +02:00
.gitignore Add support for device tree 2017-07-13 18:05:29 +02:00
.gitlab-ci.yml Update ci submodule testing strategy 2017-07-06 15:28:18 +02:00
.gitmodules Update ci submodule testing strategy 2017-07-06 15:28:18 +02:00
ariane-run-torture Switch to UVM reporting and set verbosity for display 2017-06-29 12:55:51 +02:00
ariane_tb.dts Increase memory to 16 MB 2017-07-15 11:33:33 +02:00
CHANGELOG.md 🎨 Establish link to version compare 2017-07-15 15:56:46 +02:00
CONTRIBUTING.md 📝 Add some clarifications on the coding style 2017-07-05 15:11:18 +02:00
LICENSE 📝 Add license 2017-04-21 11:11:40 +02:00
Makefile 🐛 Fix missing latch case of load data 2017-07-25 13:55:48 +02:00
mkdocs.yml 📝 Add timing diagram for memory interface 2017-05-07 13:09:05 +02:00
README.md 📝 Add some information on torture tests 2017-06-27 15:38:06 +02:00
src_files.yml Add debug_unit.sv to src_files.yml 2017-07-19 17:20:59 +02:00

build status coverage report

Ariane RISC-V CPU

For detailed documentation refer to the online documentation (Login: zarubaf Password: zaruba).

Getting Started

Go and get the RISC-V tools.

Checkout the repository and initialize all submodules

git checkout git@iis-git.ee.ethz.ch:floce/ariane.git
git submodule update --init --recursive

Build Ariane by using the Makefile:

make build

Start the simulation using Modelsim:

make sim

To specify the test to run use (e.g.: you want to run rv64ui-p-sraw inside the riscv-tests isa folder:

make sim riscv-test=rv64ui-p-sraw

If you call simc instead of sim it will run without the GUI.

Or start any of the unit tests by:

make dcache_arbiter

Randomized Constrained Testing with Torture

Ariane's core testbench is fully compatible with the randomized constrained testing framework called Torture. To start testing Ariane all you need is to step into the riscv-torture/ folder and issue:

make rgentest

Which will produce a single randomized program, runs it on Spike (see Getting Started) and on the RTL simulator (QuestaSim) by calling ariane-run-torture.

Torture's overnight tests work the same way, just call

make rnight

C (a.k.a. Verilator) tests are currently not supported.

Contributing

Check out the contribution guide

Test Overview

User Mode Integer Tests

Test Name P/V Test Name P/V Test Name P/V
add lb sll
addi lbu slli
addiw ld slliw
addw lh sllw
and lhu slt
andi lui slti
auipc lw sltiu
beq lwu sltu
bge or sra
bgeu ori srai
blt sb sraiw
bltu sd sraw
bne sh srl
sub simple srli
subw jal srliw
sw jalr srlw
xor
xori

Compressed Instruction Tests

Test Name P/V Test Name P/V Test Name P/V
rvc

Machine Mode Tests

Test Name P/F/U Test Name P/F/U Test Name P/F/U
csr illegal mcsr
breakpoint Not Impl. ma_addr ma_fetch
sbreak scall

Supervisor Mode Tests

Test Name P/F/U Test Name P/F/U Test Name P/F/U
csr dirty ma_fetch
sbreak scall wfi