Overview
SystemVerilog Assertions (SVA) are described in the evidence as a verification technique used to check that a hardware interface behaves as expected. In the cited RISC-V vector accelerator verification environment, the verification team wrote SVAs against the Open Vector Interface (OVI) specifications for the Vector Processing Unit (VPU), implementing more than 50 assertions.
Role in verification
The cited work used a UVM-based environment with a scoreboard and a Spike co-simulation reference model to detect instruction-result mismatches. The authors noted that a mismatch is important but may not identify the root cause, so they added SystemVerilog assertions to improve observability.
In the assertions section of the same work, the VPU interface is identified as a critical point. The team therefore reviewed the OVI specifications and wrote SVAs to check that the interface behaved as expected. During the early stages of UVM testbench development, these assertions helped identify both VPU bugs and problems in UVM stimulation.
Targeted checks
Most of the asserted properties in the RISC-V vector accelerator case study targeted memory-related sub-interfaces. Their purpose was to ensure that the OVI specifications were strictly followed throughout the project.
The broader OVI interface in that environment included multiple sub-interfaces, such as ISSUE, DISPATCH, COMPLETED, MEMOP, LOAD, STORE, and MASK-INDEX. The evidence also notes that ISSUE, STORE, and MASK-INDEX used a credit system for handshaking between the VPU and scalar core, illustrating why interface-level protocol checks were important.
Use with coverage and CI
The same verification effort tracked assertion usage, specifically active and passed assertions, alongside functional coverage and code coverage. These metrics were collected from simulations run by the continuous-integration infrastructure, which generated and ran tests and collected coverage metrics.
Related entities
- UVM: The cited environment was UVM-based, and SVAs were used during UVM testbench development to find VPU bugs and UVM stimulation problems.
- Functional Verification of a RISC-V Vector Accelerator: The paper reports the use of more than 50 SVAs in a RISC-V vector accelerator verification environment.