diff --git a/README.md b/README.md index cd73e7c..708643f 100644 --- a/README.md +++ b/README.md @@ -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.