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 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.
...
The ordered list of steps to complete the test process are as follows:
- Build an ISA YAML files file for the Device Under Test (DUT). This YAML file should reflect the devices true capabilities, which may be a superset of the include the extensions for which RISC-V Compatibility will be claimed, but may also reflect the device's full capabilities assuming they are a superset.
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 #1 and #2. For each Hart defined in your YAML, inspect the output for a message stating "No errors for Hart: ...". Correct all errors before proceeding. 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. Detailed steps for this process can be found in the "Running RISCV-ARCH-TESTS" section of the RISCOF Documentation.
- Generate a Test List and review the entries to ensure that the appropriate set of tests are covered. Specifically, look for test of ISA extensions which are not expected.
More information on generate the Test List and interpret the results can be found in the "Test List Form" section of the RISCOF Documentation. Run the appropriate ACT suite from RISCOF for either the 32-bit or 64-bit test suite.
Detailed steps for this process can be found in the "Running Tests with RISCOF" section of the RISCOF Documentation.
Test suite entry points are defined in theriscv-test-suite
directory (the sub-folder names) 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 in the "Results" section of the
report.html
file created by RISCOF to ensure that the DUT test results indicate "Passed". For tests marked "Failed", investigate the problem, correct if possible or address using actions defined in the "Test-Case Waivers" section of the Architecture Compatibility Test Policy.
Specific test source can be found in the particularriscv-test-suite
directory of the RISC-V Architecture Test (riscv-arch-test) GitHub repo used to invoke RISCOF (--suite) in the previous step. - Repeat Steps #5 and #6 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.
...