Setting Up RISC-V Implementation Verification

How to set up and manage regressions in a lightweight verification tool.


This blog provides an overview of STING’s release mode of operation. STING design verification tool is released to the end user in the form of a self extracting script. The script can be used to install the release package in user’s environment. Once the package is installed, the user needs to set few environment variables before the STING executable can be built.

The release package contains input configuration files, scripts, test generator and kernel binaries pre-built for a specific DUT (design-under-test). If the DUT does not support floating point extensions, the configuration files controlling the floating point stimulus are not added into the package. The compilation flags (-march/-mabi) used for the build of the test generator and kernel are also set appropriately. The pre-built generator and kernel binaries in the release package enables extremely quick generation of STING elf/images at user’s end.

The package also contains a large distribution of (more than 25,000) regression configuration files which can be used to generate interesting stimulus/traffic patterns to exercise the capabilities of any RISC-V compliant implementation. All the instruction sequences generated by STING are portable, architecturally correct, self-checking and verified against the model simulator for functional correctness. The regression configurations can be used to generate a specific instruction sequence.

The regression configurations cover the RISC-V ISA, user and privilege specification in great detail. In case all these configurations are required to be run in batch mode, user can make use of STING regression manager utility to do so.

The STING release package also makes the snippet test development framework available to the users. This could serve as a foundation for all the RISC-V stimulus development activities for the users. A more detailed blog on this will be published in near future.

To summarize, STING release packages are designed to provide a lightweight and effective mechanism to achieve user’s verification goals quickly.

Leave a Reply

(Note: This name will be displayed publicly)