The Architectural Compatibility Tests are a suite of tests which are intended to test whether the implementation conforms to the RISC-V specification. The RISC-V ISA has multiple configuration behaviors/options across the specification where the choice is to be made by the implementor. Hence, it is extremely important to test whether the choices made still conform to the specification while maintaining compatibility of the software which do not leverage those options. This strategy reduces the risk of fragmentation of the eco-system and establishes compatibility of multiple RISC-V implementations.
The implementations are integrated with the framework using python plugins. This enables scalability and lowers the barriers of entry. The plugin is responsible for providing the configuration of the implementation(as per the format specified by riscv-config) and running the tests on it to generate signatures. The framework is responsible for valiating the configuration, selecting and configuring the tests and comparing signatures against a golden model(SAIL RISC-V Model). The framework also generates html reports which list various statistics along with the result of signature matching.
Note: An implementation here refers to an RTL, simulator or physical chip. Any of the above can be used as long as it supports bare metal execution and signature dumping.