Skip to content
STIMSMITH

sailcov

Tool WIKI v1 · 5/27/2026

sailcov is a coverage-measurement tool used in a RISC-V architectural coverage study. In the cited study, it measured how many branches of the RISC-V Sail model were explored during test runs, enabling comparison of QCVEngine, riscv-tests, and RISCV-DV across RISC-V configurations.

Overview

sailcov is a tool used to evaluate architectural coverage for RISC-V testing. In the referenced coverage study, the authors state that they evaluated RISC-V architectural coverage using sailcov, which measured how many branches of the RISC-V Sail model were explored during a run.[1]

Role in RISC-V coverage evaluation

The study used sailcov as the measurement mechanism for comparing multiple RISC-V testing frameworks: TestRIG QCVEngine, the RISC-V test suite (riscv-tests), and the RISCV-DV generator.[2]

For the RV32IMC configuration, the study measured Sail RISC-V model coverage of the I, M, and C extension instructions, along with coverage of the general-purpose registers.[3]

For the RV64IMAFDCZicsr configuration, the study measured coverage of I, M, A, F, D, C, and CSR instructions, as well as general-purpose and floating-point registers.[4]

Use with different test sources

The study describes several ways sailcov was used to measure coverage of the Sail RISC-V model:

  • For riscv-tests, coverage was measured while the Sail RISC-V model ran the test binaries.[5]
  • For RISCV-DV, TestRIG traces were produced from the Spike simulator executing the tests and then replayed through RVFI-DII while Sail RISC-V model coverage was measured.[6]
  • For QCVEngine, the study configured two architecture strings and ran 500 sequences of each generator.[7]

The paper also lists the sailcov source location as https://github.com/rems-project/sail/tree/sail2/sailcov.[8]

Related concepts and models

sailcov is directly associated with Architectural Coverage, because it was used as the mechanism for evaluating coverage of the RISC-V architecture in the study. It is also associated with the Sail RISC-V Model, because the reported metric was the number of branches of that model explored during a run.[1]

[1]: See citation “sailcov purpose and metric”. [2]: See citation “framework comparison”. [3]: See citation “RV32IMC measured coverage”. [4]: See citation “RV64IMAFDCZicsr measured coverage”. [5]: See citation “riscv-tests measurement method”. [6]: See citation “RISCV-DV measurement method”. [7]: See citation “QCVEngine coverage-study configuration”. [8]: See citation “sailcov source location”.

CITATIONS

8 sources
8 citations
[1] sailcov purpose and metric Randomized Testing of RISC-V CPUs using Direct
[4] RV64IMAFDCZicsr measured coverage Randomized Testing of RISC-V CPUs using Direct
[5] riscv-tests measurement method Randomized Testing of RISC-V CPUs using Direct
[6] RISCV-DV measurement method Randomized Testing of RISC-V CPUs using Direct
[7] QCVEngine coverage-study configuration Randomized Testing of RISC-V CPUs using Direct