Skip to content
STIMSMITH

SOURCE ARCHIVE

SHA256: 133c9cb9e8f7d344fc730dbcb79bcaa7c6b23c052a16696481bd171c920dda34
TYPE: application/pdf
SIZE: 115.2 KB
FETCHED: 8/7/2026, 10:08:44 AM
EXTRACTOR: liteparse
CHARS: 10,756

EXTRACTED CONTENT

10,756 chars
                                                                                                   Open-Source RISC-V Vector Test Suites: A
                                                                                                             Comparative Analysis

                                                                                       Fatima Saleem1, Umer Imran1, Quswar Abid1 and Dr. Kamran Malik1

                                                                                                           110xEngineers, Pakistan

                                                                                                                   Abstract
                                                           Architecture-level verification of RISC-V Vector (RVV) cores presents a complex challenge due to the diverse behavior of
                                                         vector instructions under various instruction parameters and core configurations. The vector instruction test suite must be
                                                        capable of addressing all legitimate combinations of vector instructions under all the different configurations to accomplish
                                                          comprehensive verification targets. In this paper, we present a comparative analysis of seven open-source test suites for
                                                                  vector ISA: Imperas, RIOS Labs, RISCV-Torture, RISCV-DV, FORCE-RISCV, Yang’s Generator and Tenstorrent. We
                                                          provide an objective evaluation of the attributes and coverage of these test suites using the RVV Specification v1.0 as a
                                                           reference. Our study reveals that a combination of these test generators can provide a fairly comprehensive verification
                                                            strategy for vector cores. On a stand alone basis, FORCE-RISCV covers the complete RVV v1.0 specification upto a VLEN
of 4096. Similarly, Imperas is fairly exhaustive but limited to VLEN of 256.

    Introduction                                           (riscvOVPsim) and a version of its Vector Test Suite
                                                           (VTS Community Edition).           The VTS Community
RISC-V is an open-source Instruction Set Architec-         Edition offers a variety of pre-built test cases for the
ture (ISA) that offers a wide range of instructions to     RISC-V Vector Extension. Imperas has only released
enable the efficient processing of data. Among these       its 32-bit vector test suite, which supports VLEN 128b
instructions are vector instructions, which are used       and 256b only, resulting in reduced coverage of some
to process multiple streams of data in parallel. The       of the vector instruction categories.
RISC-V Vector [1] Architecture Compliance Testing                  The RIOS Lab Vector Test Generator [4] is an
(VACT) is crucial in ensuring that a specific vector       RVV automated test generator created by the RIOS
hardware implementation conforms to the RVV spec-          Lab in collaboration with the RISC-V Foundation for
ification and correctly, as well as completely, imple-     the RISC-V community. The RVV Sail Model, con-
ments the vector instructions. This typically involves     tributed by RIOS Lab, serves as the standard golden
the use of test suites, which are collections of test      model for executing RVV instructions. By utilizing
cases designed to exercise different aspects of the vec-   the configuration features of the RIOS Labs Vector
tor ISA. The aim is to develop comprehensive RVV           Test Generator, users are able to select specific instruc-
architecture tests that cover not only the full vector     tions and set configuration parameters to generate
instructions but also the various configuration pa-        specific tests. This generator is fully compatible with
rameters defined in RVV like vector register length        the latest RISCOF infrastructure, which is widely
(VLEN), register multiplier (LMUL), element width          used in RISC-V testing.
(SEW), etc.                                                  RISC-V Torture [5] is a Scala-based test generator
   It is important to note that the vector test suite is   that supports RVV v0.9 specification and generates
significantly more extensive than the RISC-V scalar        tests by integrating predefined randomized test se-
test suite.     The vector test suite consists of numer-   quences. The tests are randomly generated, and at
ous instructions which can be divided into seven           the end of the test program execution, verification
categories defined in RVV Spec as listed in Table 1        occurs by comparing the register log with the output

(Column 1). To overcome the challenge [2] of ver- from the Spike ISA simulator. Antmicro used RISC-V ifying a RISC-V based vector core, comprehensive Torture Tests to assess Renode’s RISC-V implementa- RVV architecture test suites are being developed by tion. the open-source community. In this paper, we do a RISC-V DV [6] s an open-source UVM-based ran- comparative analysis of all seven open-source RVV dom instruction generator that generates tests compli- test suites to identify the capabilities strengths and ant with RVV v0.9. It provides excellent randomness weaknesses of each test suite. and performance. Andes and Google collaborated Imperas Vector Test Suite[3] is a very compre- to support RVV v0.9 in RISC-V DV. Their upcoming hensive verification tool for RVV processors. Im- plans involve including support for RVV v1.0 and peras has made available its RISC-V Reference Model adding hooks to collect vector extension test cover-

Open-Source RISC-V Vector Test Suites: A Comparative Analysis

                                      Table 1: RVV v1.0 instruction coverage by various tests suites

                                      Tests Suites
RVV Categories (Total     Imperas     RIOS                        RISCV-  RISCV-  FORCE-   Yang’s  Tenstorrent
Instructions)                         Labs                       Torture    DV    RISCV  Generator
Configuration (3)             3        3                            2       2       3        3   3
Loads and Stores (310)        45      141                          202     258     310       46         25
Integer Arithmetic (139)      137     133                          139     136     139      139         60
Fixed-Point Arithmetic (32)   32       32                           32      32      32       32  0
Floating-Point (91)           91       66                           89      75      91       88  0
Reduction Operations (16)     16       15                           16      16      16       16  0
Mask Operations (15)          15       12                           15      15      15       13  5
Permutation (21)              21       17                           20      18      21       19  5

                                        Table 2: Comparative Analysis of different RVV test suites

                                      Test Suite Attributes
Test Suite        Spec        Suite   Checking                  Coverage    Supported    Integrated
                Version       Type    Method                      Tool         ISS            Core
Imperas           1.0         Tests   Signature based         riscvOVPsim  riscvOVPsim  NSITEXE DFP
RIOS Labs         1.0         ATG               Self-Checking  RISCV-ISAC      Sail           -NA-
RISCV-Torture     0.9         RTG     Signature based             -NA-        Spike        Renode
RISCV-DV          0.9         RTG     Signature based             -NA-        Spike     Andes NX27V
FORCE-RISCV       1.0         RTG     Signature based         riscvOVPsim    Handcar          -NA-
Yang’s Generator  1.0         ATG               Self-Checking     -NA-        Spike            ARA
Tenstorrent       1.0         Tests             Self-Checking     -NA-       Whisper       Ocelot

age.FORCE-RISCV [7] is an Instruction Sequence Gen- References

erator (ISG) designed to generate tests for the de- [1] “RISCV Vector Spec v1.0”. In: (Sep 2021). url: sign verification of RISCV processors. It utilizes https://github.com/riscv/riscv-v-spec. randomization to select instructions, registers, ad- [2] The challenge of RISC-V Compliance. url: https: dresses, and data for the tests and can produce valid / / semiengineering . com / toward - risc - v - test sequences with minimal user input. Addition- compliance/. ally, FORCE-RISCV includes a set of advanced APIs, giving the user a high level of control over the in- [3] “Imperas Tests”. In: (Feb 2023). url: https:// struction generation process. Although it supports github . com / riscv - ovpsim / imperas - riscv - the complete RVV v1.0 specification, there is no use tests. case available demonstrating its integration with any [4] “RIOS Lab ATG”. In: (Dec 2022). url: https: RVV implementation to ensure its correctness. //github.com/xiwang-x/rvv-atg. Yang’s Vector Test Generator [8] is an Automatic [5] “RISCV-Torture”. In: (Dec 2020). url: https:// Test Generator (ATG) developed by Yang Liu, a de- github.com/Lampro-Mellon/riscv-torture. veloper from PLCT lab. It verifies the RISC-V Vector implementation. The test generator is written in [6] “RISCV-DV”. In: (Feb 2021). url: https : / / GoLang and employs GNU Make to automate the github.com/chipsalliance/riscv-dv. test generation flow. The generated tests are fully [7] “FORCE-RISCV”. In: (Jan 2023). url: https:// self-checking, and any verification environment for a github.com/openhwgroup/force-riscv. core utilizing the riscv-tests can easily use them. [8] “Yang’s Generator”. In: (Mar 2023). url: https: Tenstorrent Vector Test Suite [9] comprises a col- //github.com/ksco/riscv-vector-tests. lection of binary test files that were produced by their internal test generator. This generator has the [9] “Tenstorrent Tests”. In: (Feb 2023). url: https: ability to create a comprehensive range of tests with / / github . com / tenstorrent / riscv _ arch _ numerous repetitions, effectively covering the entire tests. architectural verification space for vector instructions.

2