cvw/tests/wally-riscv-arch-test/riscv-test-suite/README.md
2021-10-23 08:53:32 -07:00

67 lines
4.6 KiB
Markdown

# RISC-V Test Suites
The tests are grouped based on the different extension subsets of the RISC-V unprivileged ISA.
The tests strictly follow the [Test format](../spec/TestFormatSpec.adoc) specification.
Directory names postfixed with "\_unratified" indicate that tests for extensions that have not yet
been ratified by RVI.
The coverage report (in html format) of the tests available in this suite is generated through
[RISCOF](https://github.com/riscv-software-src/riscof) and is available here: [Coverage Report](../riscv-test-stats/coverage/README.md).
These tests have been generated using the open source Compatibility Test Generator from InCore Semiconductors available
at: [CTG](https://github.com/riscv/riscv-ctg).
The reference signatures are generated using [SAIL](https://github.com/riscv/sail-riscv) or
[SPIKE](https://github.com/riscv-software-src/riscv-isa-sim).
Test directories with the "\_unratified" post-fix indicate test-suites for extensions which have not been
ratified (but are stable and near ratification)
Directory structure
```
├── env # contains the architectural test header files
└── rv32i_m # top level folder indicate rv32 tests for machine mode
├── C # include tests and references for "C" extension
│   ├── references # static references signatures for "C" extension
│   └── src # assembly tests for "C" extension
├── F # include tests and references for "rv32F" extension
│   ├── references # static references signatures for "rv32F" extension
│   └── src # assembly tests for "rv32F" extension
├── I # include tests and references for "I" extension
│   ├── references # static references signatures for "I" extension
│   └── src # assembly tests for "I" extension
├── M # include tests and references for "M" extension
│ ├── references # static references signatures for "M" extension
│ └── src # assembly tests for "M" extension
├── K_unratified # include tests and references for "K" extension
│ ├── references # static references signatures for "K" extension
│ └── src # assembly tests for "K" extension
├── privilege # include tests and references for tests which require Privilege Spec
│ ├── references # static references signatures for tests which require Privilege Spec
│ └── src # assembly tests for tests which require Privilege Spec
└── Zifencei # include tests and references for "Zifencei" extension
├── references # static references signatures for "Zifencei" extension
└── src # assembly tests for "Zifencei" extension
└── rv64i_m # top level folder indicate rv64 tests for machine mode
├── C # include tests and references for "C" extension
│   ├── references # static references signatures for "C" extension
│   └── src # assembly tests for "C" extension
├── I # include tests and references for "I" extension
│   ├── references # static references signatures for "I" extension
│   └── src # assembly tests for "I" extension
├── M # include tests and references for "M" extension
│ ├── references # static references signatures for "M" extension
│ └── src # assembly tests for "M" extension
├── K_unratified # include tests and references for "K" extension
│ ├── references # static references signatures for "K" extension
│ └── src # assembly tests for "K" extension
├── privilege # include tests and references for tests which require Privilege Spec
│ ├── references # static references signatures for tests which require Privilege Spec
│ └── src # assembly tests for tests which require Privilege Spec
└── Zifencei # include tests and references for "Zifencei" extension
├── references # static references signatures for "Zifencei" extension
└── src # assembly tests for "Zifencei" extension
```