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.