This page provides technical details about running the Architecture Compatible Test (ACT) suite to achieve the "RISC-V Compatible™" trademark and logo. Completion of the test suite is is one step in is the core work in the process of gaining permission to use the “RISC-V Compatible” Trademark. See the RISC-V Branding Guidelines & Materials webpage for more details and requirements on the other steps.
While this process is evolving and the tools continuously improve, the set of skills needed to complete this work is quite broad. Common activities include installing open source packages, clone GitHub repositories, modifying YAML files, executing scripts, reading HTML, understanding ISA instructions, asking questions on mailing lists, creating GitHub PRs, and reading many documents.
Governing Documents
The following documents provide foundational information for key parts of this process:
...
Testing should be performed using the most recent, stable versions. For more information about the ACT suite, RISCOF, and RISCV-CONFIG, including the most recent versions and the list of supported RISC-V Profiles and Extensions, see the "Compatibility Test Framework" section of the RISC-V Technical Specifications wiki page. The information in this presentation describes an alternate way to facilitate setup of the tools used by ACT, using a member-provided repository with scripts to facilitate the process.
Test Process
The general process for this testing is ordered list of steps to complete the test process are as follows:
- Read and understand the Architecture Test Policy. This document defines the testing which is one of the requirements to use the RISC-V Compatible Trademark, including re-running the tests when the implementation is changed or the ACT test version changes.
- Read and under the Profiles Policy. This document groups RISC-V extension into various Profile names which may be used for claiming compatibility.
- Review the information in the Profiles summary spreadsheet and decide the base profile and any additional extensions for which the target device wishes to claim compatibility.
- Build an ISA YAML files for the Device Under Test (DUT). This YAML file should reflect the devices true capabilities, which may be a superset of the extensions in Step #2.
Example YAML files are provide in theexamples
directory of the RISC-V Config (riscv-config) GitHub repo. They have names of XXX_isa.yaml.
The YAML syntax for ISA files is documented in the "ISA YAML Spec" section of the RISCV-CONFIG documentation. - Build Platform YAML file for the DUT.
Example YAML files are provide in theexamples
directory of the RISC-V Config (riscv-config) GitHub repo. They have names of XXX_platform.yaml.
The YAML syntax for ISA files is documented in the "Platform YAML Spec" section of the RISCV-CONFIG documentation. - Install the RISCV-CONFIG tool and use it to validate the ISA and Platform YAML files built in Steps #3 and #4. See the RISCV-CONFIG documentation for more details.
Install the RISCOF Framework, ACT suite, and SAIL. Configure RISCOF for a Device Under Test (DUT), using the previously created YAML files, and for SAIL. Then, run the tests with RISCOF as needed for Detailed steps for this process can be found in the "Running RISCV-ARCH-TESTS" section of the RISCOF Documentation.
Run the appropriate ACT suite from RISCOF for either the 32-bit and or 64-bit test suites as neededsuite.
Detailed steps for this process can be found in the "Running RISCV-ARCH-TESTSTests with RISCOF" section of the RISCOF Documentation.
Test suite entry points are defined in theriscv-test-suite
directory of the RISC-V Architecture Test (riscv-arch-test) GitHub repo. More information exists in theriscv-test-suite/README.md
file.- Review the test results to ensure that the DUT test results match the results of the SAIL golden model.
- Repeat Steps #8 and #9 as needed.
- When ready, submit the test results and supporting information per the directions in the “Where to Report Test Results” section of the Architecture Test Policy.
...
A RISC-V Technical Session titled "Using Template Repo to setup/run RISC-V Arch Test Suite under RHEL/Ubuntu" was recorded in April 2023. It provides information about a member-provided repo (link) that supplements setup of the ACT environment with some extra scripts and files. Details, including the presentation and recording links are available here.
...