Skip to content
STIMSMITH

Efficient Cross-Level Testing for Processor Verification: A RISC-V Case-Study

Paper

“Efficient Cross-Level Testing for Processor Verification: A RISC-V Case-Study” presents an efficient RISC-V processor-verification approach based on unrestricted, generic on-the-fly instruction-stream generation and tight co-simulation between an Instruction Set Simulator and an RTL core. In the reported TGF-series RISC-V core case study, the approach found several serious bugs, with each described bug found in less than five minutes, and generated/co-simulated 226 million instructions in one hour.

First seen 5/25/2026
Last seen 6/8/2026
Evidence 17 chunks
Wiki v2

WIKI

Overview

Efficient Cross-Level Testing for Processor Verification: A RISC-V Case-Study is a paper on simulation-based processor verification for RISC-V RTL cores. The evidence describes an approach that avoids restrictions on generated instructions and uses a lightweight test-generation process together with tight co-simulation between an Instruction Set Simulator (ISS) and an RTL core.

Approach

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

50 connections
MINRES The Good Folk (TGF) Series RTL core evaluates → 100% 5e
The paper presents a case study on verifying the MINRES TGF RTL core.
Cross-Level Testing introduces → 100% 4e
The paper proposes a cross-level testing approach for processor verification.
riscv-dv compares with → 90% 4e
The paper compares its approach with RISC-V DV in terms of efficiency.
instruction generation algorithm introduces → 100% 3e
The paper introduces an instruction generation algorithm for on-the-fly test generation.
constraint-based test generation mentions → 90% 3e
The paper mentions constraint-based test generation as a related approach.
Formal Verification mentions → 90% 3e
The paper mentions formal verification approaches as complementary to simulation-based methods.
riscv-formal mentions → 90% 3e
The paper mentions riscv-formal as a notable formal verification approach for RISC-V.
RV32I uses → 100% 2e
The paper targets the RV32I ISA configuration in its case study.
The paper cites Genesys-pro as related work on test program generation.
Cross-Level Verification introduces → 90% 2e
This related paper introduces the cross-level co-simulation approach that the current paper builds upon.
The paper cites the RISC-V VP paper as the source of its ISS reference model.
The paper compares its approach with the cross-level co-simulation approach from this related work.
on-the-fly instruction stream generation introduces → 100% 2e
The paper introduces on-the-fly instruction stream generation as part of its approach.
Instruction Stream Generation uses → 95% 2e
The paper's approach is centered around instruction stream generation for processor verification.
instruction fetch matching algorithm introduces → 95% 2e
The paper introduces the instruction fetch matching algorithm to solve the synchronization challenge between RTL core and ISS.
Verilator uses → 100% 2e
The paper uses Verilator to obtain a C++ description of the RTL core.
on-the-fly instruction stream generation uses → 100% 2e
The paper generates instructions on-the-fly during simulation.
Co-Simulation uses → 100% 2e
The paper uses co-simulation between ISS and RTL core for verification.
Instruction Set Simulator (ISS) uses → 100% 2e
The paper uses an ISS as a reference model for RTL verification.
RISC-V ISA uses → 100% 2e
The paper targets the RISC-V ISA for processor verification.
RTL verification uses → 100% 2e
The paper focuses on RTL verification of RISC-V processors.
SystemC uses → 100% 2e
The co-simulation testbench is implemented in SystemC.
TLM (Transaction Level Modeling) uses → 100% 2e
The paper uses TLM for memory abstraction in its co-simulation testbench.
SpinalHDL uses → 100% 2e
The paper uses SpinalHDL to obtain the Verilog RTL implementation of the TGF core.
RISC-V VP uses → 100% 2e
The paper uses the RISC-V VP's ISS as the reference model.
co-simulation testbench introduces → 100% 2e
The paper introduces a co-simulation testbench for processor verification.
opcode injection uses → 100% 2e
The paper uses opcode injection as a modification to the instruction generation.
instruction field mutation uses → 100% 2e
The paper uses instruction field mutation to guide test generation towards interesting cases.
instruction sequence generation uses → 100% 2e
The paper uses instruction sequence generation as a third modification to guide test generation.
RISC-V Torture Test compares with → 85% 2e
The paper discusses RISC-V Torture Test as a related model-based approach and contrasts its limitations.
Co-Simulation Testbench introduces → 95% 2e
The paper presents the co-simulation testbench as a central artifact of its approach.
Model-Based Test Generation mentions → 90% 2e
The paper mentions model-based test generation as a related approach.
Vladimir Herdt authored by → 100% 2e
Vladimir Herdt is listed as an author of the paper.
Daniel Große authored by → 100% 2e
Daniel Große is listed as an author of the paper.
Rolf Drechsler authored by → 100% 2e
Rolf Drechsler is listed as an author of the paper.
Control and Status Register (CSR) uses → 100% 2e
The paper tests and discusses CSR behavior extensively.
trap handling uses → 90% 2e
The paper tests trap handling as part of its comprehensive verification.
DFKI GmbH authored by → 95% 1e
The paper is affiliated with DFKI GmbH.
Coverage-Guided Fuzzing mentions → 90% 1e
The paper mentions coverage-guided fuzzing tailored for ISS-level verification as a related research direction.
Bayesian network-based test generation mentions → 90% 1e
The paper mentions Bayesian network-based test generation as a related approach.
machine learning-based test generation mentions → 90% 1e
The paper mentions machine learning techniques as an alternative approach to test generation.
The paper cites this work as a constraint-solving based test generation approach.
The paper cites this work as an optimized test generation framework using abstract CSP.
MicroTESK mentions → 90% 1e
The paper cites MicroTESK as a specification-based tool for constructing test program generators.
Coverage-Guided Fuzzing compares with → 85% 1e
The paper discusses coverage-guided fuzzing as a related approach and notes its limitations.
Simulation-Based Verification uses → 100% 1e
The paper uses simulation-based verification as its primary methodology.
The paper mentions bayesian network coverage-guided test generation as a related approach.
constrained-random test generation mentions → 90% 1e
The paper mentions constrained-random test generation as used by RISC-V DV.
pipeline uses → 90% 1e
The paper addresses challenges related to the RTL core's pipeline during instruction matching.
The paper cites MicroTESK as related work on model-based test generation.

LINKED ENTITIES

43 links
Vladimir Herdt AUTHORED_BY Extracted graph relationship
Daniel Große AUTHORED_BY Extracted graph relationship
Eyck Jentzsch AUTHORED_BY Extracted graph relationship
Rolf Drechsler AUTHORED_BY Extracted graph relationship
Cross-Level Testing INTRODUCES Extracted graph relationship
on-the-fly instruction stream generation USES Extracted graph relationship
Co-Simulation USES Extracted graph relationship
Instruction Set Simulator (ISS) USES Extracted graph relationship
MINRES The Good Folk (TGF) Series RTL core EVALUATES Extracted graph relationship
RISC-V ISA USES Extracted graph relationship
RTL verification USES Extracted graph relationship
SystemC USES Extracted graph relationship
TLM (Transaction Level Modeling) USES Extracted graph relationship
Verilator USES Extracted graph relationship
SpinalHDL USES Extracted graph relationship
RISC-V VP USES Extracted graph relationship
co-simulation testbench INTRODUCES Extracted graph relationship
instruction generation algorithm INTRODUCES Extracted graph relationship
opcode injection USES Extracted graph relationship
instruction field mutation USES Extracted graph relationship
instruction sequence generation USES Extracted graph relationship
riscv-dv COMPARES_WITH Extracted graph relationship
RISC-V Torture Test COMPARES_WITH Extracted graph relationship
Coverage-Guided Fuzzing COMPARES_WITH Extracted graph relationship
Formal Verification MENTIONS Extracted graph relationship
riscv-formal MENTIONS Extracted graph relationship
Simulation-Based Verification USES Extracted graph relationship
Model-Based Test Generation MENTIONS Extracted graph relationship
constraint-based test generation MENTIONS Extracted graph relationship
bayesian network coverage-guided test generation MENTIONS Extracted graph relationship
constrained-random test generation MENTIONS Extracted graph relationship
pipeline USES Extracted graph relationship
Control and Status Register (CSR) USES Extracted graph relationship
trap handling USES Extracted graph relationship
RV32I USES Extracted graph relationship
Genesys-Pro: Innovations in Test Program Generation for Functional Processor Verification MENTIONS Extracted graph relationship
MicroTESK: specification-based tool for constructing test program generators MENTIONS Extracted graph relationship
Extensible and configurable RISC-V based virtual prototype MENTIONS Extracted graph relationship
Towards specification and testing of RISC-V ISA compliance MENTIONS Extracted graph relationship
Verifying Instruction Set Simulators using Coverage-guided Fuzzing MENTIONS Extracted graph relationship
Closing the RISC-V compliance gap: Looking from the negative testing side MENTIONS Extracted graph relationship
Instruction Stream Generation USES Extracted graph relationship
DFKI GmbH AUTHORED_BY Extracted graph relationship

CITATIONS

7 sources
7 citations — click to expand
[1] The paper uses unrestricted or generic on-the-fly instruction-stream generation and ISS/RTL co-simulation. Efficient Cross-Level Testing for
[2] The case study concerned a pipelined industrial RISC-V TGF-series core and found several serious bugs. Efficient Cross-Level Testing for
[3] All described bugs were found in less than five minutes each. Efficient Cross-Level Testing for
[4] The visible bug list includes CSR access, MEPC, MISA, MTVAL/ECALL, MTVEC MODE, EBREAK/MCAUSE, FENCE/FENCE.I, MINSTRET/MCYCLE trap behavior, and MINSTRET update issues. Efficient Cross-Level Testing for
[5] In one hour, the approach generated and co-simulated 226 million instructions: 12 million illegal and 214 million legal, with 156 million legal instructions completing normally and 58 million causing an exception or trap. Efficient Cross-Level Testing for
[6] The reported average throughput was 63 thousand instructions per second and 229 thousand RTL-core cycles per second. Efficient Cross-Level Testing for
[7] The paper’s future work includes parallelized test sessions, FPGA acceleration, interrupt-interface testing, additional RISC-V ISA extensions, and RTL-aware coverage and feedback mechanisms. Efficient Cross-Level Testing for