Functional Verification of a RISC-V Vector Accelerator
Paper
"Functional Verification of a RISC-V Vector Accelerator" describes an industrial-style verification infrastructure for an academic decoupled RISC-V vector accelerator taped out in the European Processor Initiative context. The work uses a UVM environment around the Open Vector Interface, RISCV-DV random binary generation, Spike co-simulation as a reference model, a UVM scoreboard, SystemVerilog assertions, functional and code coverage, and Jenkins/GitLab-based CI. The reported campaign found 3005 errors and reached 95.79% average functional coverage.
First seen5/27/2026
Last seen5/28/2026
Evidence10 chunks
Wikiv2
01
WIKI
Overview
"Functional Verification of a RISC-V Vector Accelerator" is a paper on the functional verification of an academic RISC-V-based decoupled vector accelerator. The paper states that the accelerator was successfully taped out in the context of the European Processor Initiative and implemented version 0.7.1 of the RISC-V Vector Extension while connecting to a scalar processor core through the Open Vector Interface (OVI). [C1]
The paper's main reported contributions are an industrial-grade verification approach using a UVM testbench, reference model, assertions, and coverage; a common UVM testbench for a novel interface and large RTL project; co-simulation-based result comparison for completed vector instructions; and automated testing/regression infrastructure that reached 95.79% functional coverage. [C2]
[1]The paper verifies an academic RISC-V decoupled vector accelerator taped out in the European Processor Initiative context, implementing RVV 0.7.1 and connecting through OVI.Functional Verification of a RISC-V Vector Accelerator
[2]The paper's stated contributions include UVM, a reference model, assertions, coverage, co-simulation, and automated testing/regression infrastructure reaching 95.79% coverage.Functional Verification of a RISC-V Vector Accelerator
[3]The verified VPU is RVV 0.7.1-based, has eight lanes, supports vectors up to 256 64-bit elements, has 32 logical and 40 physical registers, supports FP and integer vector operations, and has limited memory-operation out-of-order capability.Functional Verification of a RISC-V Vector Accelerator
[4]BSC developed the vector accelerator, SemiDynamics designed the connected scalar RISC-V core, and the scalar core handles scalar execution, vector issue, and vector memory accesses through OVI.Functional Verification of a RISC-V Vector Accelerator
[12]Spike acted both as scalar-core instruction source and golden/reference model, with DPI-callable functions, vector-instruction stepping, memory reads, and reduction-result forcing.Functional Verification of a RISC-V Vector Accelerator
[20]CI recorded assertion and code coverage, used Jenkins pipelines for test generation/retry/selection/regression, and used GitLab for version control, issue tracking, and documentation.Functional Verification of a RISC-V Vector Accelerator
[22]Nightly testing ran 24 tests per night from April to July and 50 from August to November, with about 500 vector instructions each; the campaign found 3005 errors, around 70% from memory, narrowing, and widening instructions.Functional Verification of a RISC-V Vector Accelerator
[23]After nightly runs, additional pipelines ran around 600 tests per day; average functional coverage was 95.79%, average code coverage 72.64%, statement coverage 90.90%, and toggle coverage 49.83%.Functional Verification of a RISC-V Vector Accelerator
[24]The conclusion states that the reusable UVM environment checks OVI/VPU completed-instruction correctness and that CI/CD-enabled constrained-random testing found 3005 errors and reached 95.79% functional coverage.Functional Verification of a RISC-V Vector Accelerator
[25]The authors report that dividing communication among several agents complicated maintenance, extension, and performance, and suggest a single stimulus-producing agent as future work.Functional Verification of a RISC-V Vector Accelerator