Copyright (c) 2018-2019 Bluespec, Inc. All Rights Reserved
>================================================================
The './isa' sub-directory contains pre-built ELF and objdump files
(.dump) for all the standard RISC-V ISA tests. For example, the
files:
./isa/rv32ui-p-add
./isa/rv32ui-p-add.dump
are an ELF file and its objdump (disassembly) that tests the RISC-V
user-level integer ADD instruction for RV32. The tests are built when
one clones the following GitHub repository:
https://github.com/riscv/riscv-tools.git
and follows the build directions therein, resulting in all the ISA
tests being built, such as this:
<riscv-tools build dir>/riscv64-unknown-elf/share/riscv-tests/isa/rv32ui-p-add
>================================================================
The Makefile has a command to run regressions on ISA tests.
$ make test
In the Makefile, you will see definitions for ARCH (such as `RV32IMU`)
and SIM (such as `verilator`), which together specify which simulator
will be run (`builds/<ARCH>_SIM/exe_HW_sim`). You can change the ARCH
and SIM definitions in the Makefile for a different simulator, or
redefine them on the `make` command line.
It will run the the Python program 'Run_regression.py', described
below, to run the simulator on all the ISA tests relevant to the
architecture ARCH. A per-ISA-test log is captured in the 'Logs/'
directory.
>================================================================
With the Python program './Run_regression.py' you can run a regression
on all the standard RISC-V ISA tests that are relevant to your RISC-V
simulation executable (i.e., for the RISC-V features and extensions
supported by your simulation executable).
Please do:
$ ./Run_regression.py --help
for usage information.
Example:
$ ./Run_regression.py ../RV32IMU_verilator/exe_HW_sim ./isa ./Logs v1
will run the verilator simulation executable on the all RISC-V ISA
tests that match the following:
./isa/rv32ui-p*
./isa/rv32mi-p*
./isa/rv32um-p*
and leave a transcript of each test's simulation output in files like
./Logs/rv32ui-p-add.log
Each log will contain an instruction trace.
Example:
$ ./Run_regression.py ../RV64AIMSU_verilator/exe_HW_sim ./isa ./Logs v1
will run the verilator simulation executable on the all RISC-V ISA
tests that match the following:
./isa/rv64ui-p*
./isa/rv64um-p*
./isa/rv64ua-p*
./isa/rv64mi-p*
./isa/rv64si-p*
./isa/rv64ui-v*
./isa/rv64um-v*
./isa/rv64ua-v*
>================================================================