Skip to content
STIMSMITH

regression suite

Concept WIKI v1 · 5/28/2026

In the cited RISC-V vector accelerator verification flow, a regression suite is a curated set of previously passing tests used by continuous-integration pipelines to check whether RTL changes preserve known-good behavior. The flow created small and large regression sets from coverage-ranked passing tests; the small set ran on merge-candidate DUT changes, while the large set ran weekly. Directed tests for retry and vstart scenarios were also added to the regression suite so those scenarios stayed valid across RTL changes.

Definition

A regression suite is a set of tests rerun after design changes to check that behavior known to be correct remains correct. In the RISC-V vector accelerator verification environment described in the evidence, regression tests were selected from tests that had already passed and were then reused to validate later RTL changes.

Role in the verification flow

The environment's CI infrastructure generated random tests, compiled the DUT, executed binaries, and classified tests into passed and failed groups. Passed tests were used to create a regression set, while failed tests were retained for debugging until the underlying issue was fixed.

Every day at midnight, if enough tests had passed, the flow ranked tests by collected coverage and created two regression sets:

  • a small regression set
  • a large regression set

When a DUT change was a merge candidate, the small regression set was executed to check correctness before merging. The large regression set was executed once per week to ensure recent changes did not break known-good tests.

Use with directed tests

The suite was not limited to randomly generated tests. Directed tests were added for retry and vstart scenarios so those cases would continue to be checked on every RTL change.

Debugging and stabilization

When errors were found, the verification flow provided reproduction information such as the binary and faulty instruction. After a tentative fix, regressions were run before changes could be merged. This made the regression suite part of the design-stabilization loop: failures exposed regressions or unresolved bugs, while passing regressions provided confidence that a change did not break existing behavior.

CITATIONS

5 sources
5 citations
[1] Regression sets were built from tests classified as passed; failed tests were kept for debugging until fixed. source
[2] The CI flow ranked passed tests by collected coverage and created small and large regression sets. source
[3] The small regression set ran for merge-candidate DUT changes, and the large set ran weekly to ensure recent changes did not break known-good tests. source
[4] Directed tests covering retry and vstart scenarios were added to the regression suite so the scenarios were checked on every RTL change. source
[5] When errors were found, reproduction information was provided; after tentative fixes, regressions were run before merging changes. source