2. Overview

The following diagram captures the overall flow of RISCOF.

riscof-flow

The user is required to provide the spec files in the plugin.

Details on how to write the YAML spec files can be found here: Spec Documentation

2.1. Working

The ISA and Platform spec (in YAML format) need to be provided by the DUT plugin through the abstract method class interface.

These YAML files are validated by the riscv-config module.

The Database of tests is maintained in a test list YAML (test_list.yaml). This file is generated using the dbgen module.

From the standard YAMLs generated by riscv-config (ISA and Platform) and the test-list, the ‘Test Selector’ identifies the list of all tests that need to run on the given implementation for compliance.

The list of tests, implementation-plugin and golden-plugin are all fed into the python-framework, which iterates over executing tests on the both the plugins and comparing signatures. The result of the signature comparison is provided at the end as a report indicating the pass/fail status.