Skip to content
STIMSMITH

Data memcheck

Concept

A riscv-formal verification check that exercises a core's load/store data path by emulating a single read/write word of memory at an unconstrained address and verifying that the reads and writes reported through RVFI remain consistent.

First seen 6/7/2026
Last seen 6/7/2026
Evidence 1 chunks
Wiki v1

WIKI

Overview

Data memcheck is a verification check used in the riscv-formal framework to validate the data memory portion of a RISC‑V core. It is part of the suite of "other checks" that are not yet managed by genchecks.py and that cannot be implemented using the standard RVFI wrapper interface alone.

Mechanism

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

3 connections
memory abstraction ← part of 93% 1e
Data memcheck adds a memory abstraction for verification
RVFI uses → 92% 1e
Data memcheck tests memory consistency as reported via RVFI signals
bus memcheck ← derived from 90% 1e
The bus memcheck supersedes the older data memcheck

CITATIONS

5 sources
5 citations — click to expand
[1] Data memcheck is one of the 'other checks' in the riscv-formal framework that are not yet managed by genchecks.py and cannot be implemented using the standard RVFI wrapper interface. Verification procedure - RISC-V Formal documentation
[2] Data memcheck adds a memory abstraction that only emulates a single word of memory at an unconstrained address, and that word is read/write. Verification procedure - RISC-V Formal documentation
[3] The check tests whether writes to and reads from the memory location, as reported via RVFI, are consistent. Verification procedure - RISC-V Formal documentation
[4] A reference implementation is provided as dmemcheck.sv in cores/picorv32/. Verification procedure - RISC-V Formal documentation
[5] Data memcheck has been superseded by the equivalent standard bus check. Verification procedure - RISC-V Formal documentation