1
0
mirror of https://github.com/olofk/serv.git synced 2026-03-03 17:56:16 +00:00

Fix RISC-V compliance instructions

This commit is contained in:
Olof Kindgren
2021-07-06 00:20:55 +02:00
parent 15246e3692
commit 18c8c65255

View File

@@ -71,19 +71,21 @@ Other applications can be tested by compiling and converting to bin and then hex
## Run RISC-V compliance tests
**Note:** The following instructions are valid for version 1.0 of the RISC-V compliance tests. The target-specific support for SERV has not yet been ported to newer versions.
Build the verilator model (if not already done)
fusesoc run --target=verilator_tb --build servant
Download the tests repo
git clone https://github.com/riscv/riscv-compliance
git clone https://github.com/riscv/riscv-compliance --branch 1.0
To run the RISC-V compliance tests, we need to supply the SERV-specific support files and point the test suite to where it can find a target to run (i.e. the previously built Verilator model)
Run the compliance tests
cd riscv-compliance && make TARGETDIR=$SERV/riscv-target RISCV_TARGET=serv RISCV_DECICE=rv32i RISCV_ISA=rv32i TARGET_SIM=$SERV/build/servant_1.0.2/verilator_tb-verilator/Vservant_sim
cd riscv-compliance && make TARGETDIR=$SERV/riscv-target RISCV_TARGET=serv RISCV_DEVICE=rv32i RISCV_ISA=rv32i TARGET_SIM=$WORKSPACE/build/servant_1.0.2/verilator_tb-verilator/Vservant_sim
The above will run all tests in the rv32i test suite. Since SERV also implement the `rv32Zicsr` and `rv32Zifencei` extensions, these can also be tested by choosing any of them instead of rv32i as the `RISCV_ISA` variable.