Skip to content
STIMSMITH

Spike

Tool

Spike is an open-source RISC-V instruction-set simulator (ISS) developed by the RISC-V Foundation that serves as the de facto reference model for the RISC-V ISA. It is used in RTL co-simulation, functional verification, and as a golden reference for CPU verification, including through tools such as RISCV-DV.

First seen 5/25/2026
Last seen 9/20/2026
Evidence 128 chunks
Wiki v7

WIKI

Spike

Spike is an open-source instruction-set simulator (ISS) for the RISC-V Instruction Set Architecture (ISA). It is developed and maintained under the RISC-V Foundation / RISC-V Software organization, and acts as a reference model of the RISC-V ISA. The official source repository is https://github.com/riscv-software-src/riscv-isa-sim.

Role and characteristics

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
TestRIG ← uses 100% 12e
TestRIG added Direct Instruction Injection to Spike emulator to use it as a reference implementation.
Reference Model implements → 99% 9e
Spike can serve as a reference model and supports adding new custom instruction behaviour.
Golden Reference Model implements → 100% 9e
Spike serves as the golden-reference model for differential testing in processor fuzzing.
SoftFloat uses → 100% 6e
Spike is evaluated with SoftFloat as its FP backend integration.
The paper describes using Spike as the reference model for co-simulation.
Instruction Set Simulator (ISS) implements → 100% 6e
Spike is a widely used open-source ISS for RISC-V.
Instruction Set Simulator implements → 100% 6e
spike is an open source ISS for RISC-V
The paper evaluates Spike as a reference ISS and finds an error in it.
RISC-V ISA implements → 100% 5e
Spike is the de facto standard RISC-V ISA simulator implementing the RISC-V ISA.
Cascade ← uses 100% 5e
Cascade uses Spike as the ISS for asymmetric ISA pre-simulation.
riscv-dv ← uses 99% 5e
riscv-dv uses Spike as a reference ISS for comparing execution results.
FP-RVVTS ← evaluates 100% 4e
FP-RVVTS evaluates Spike as a DUT in its verification flow.
Instruction Set Architecture implements → 100% 3e
Spike is the official RISC-V ISA reference simulator implementing the RISC-V ISA.
RVVTS ← uses 100% 3e
RVVTS uses Spike as the reference simulator for co-simulation and architectural state comparison.
RISC-V International published by → 100% 3e
Spike is the official RISC-V golden reference simulator maintained by RISC-V International.
RISC-V implements → 100% 3e
Spike is a high-performance RISC-V emulator.
ISA Simulator implements → 100% 3e
Spike is used as the RISC-V ISA simulator reference in Prelude.
MorFuzz ← uses 100% 3e
MorFuzz uses the spike ISA simulator as the reference model for co-simulation.
Co-Simulation ← uses 99% 2e
Spike is used as the reference ISA simulator for co-simulation
UVM ← uses 97% 2e
The UVM environment uses Spike as its reference model for co-simulation.
The paper evaluates Spike simulator for compliance testing.
RISC-V ISA uses → 100% 2e
Spike is a RISC-V ISS and therefore uses the RISC-V ISA.
FP-RVVTS ← uses 100% 2e
FP-RVVTS uses Spike as the golden reference simulator.
The paper evaluates the approach using Spike as one of the target simulators
RISC-V targets ISA → 100% 2e
Spike is the official RISC-V reference simulator.
EAVS uses Spike as its ISS/golden model component.
RISCSmith ← uses 100% 2e
RISCSmith uses Spike as the golden reference model for differential comparison.
GenHuzz ← uses 100% 2e
GenHuzz uses Spike as the RISC-V ISA reference model (Golden Reference Model) for differential testing.
HARTBREAKER ← uses 100% 2e
HARTBREAKER uses Spike as a golden model ISS.
HiFuzz ← uses 100% 2e
HiFuzz uses Spike as the reference model for differential testing on RISC-V cores.
CHIA ← uses 99% 2e
CHIA uses Spike as the golden ISA simulator oracle for differential verification throughout the flow.
Prelude ← uses 100% 2e
Prelude uses Spike as the ISA simulator reference model for differential testing.
encoding.h uses → 97% 2e
The encoding.h header file is used by Spike.
LiFU ← uses 100% 2e
LiFU uses Spike ISS as a golden oracle for differential testing.
The paper evaluates Spike as golden reference model for comparison
sail-riscv ← compares with 100% 2e
Sail-RISC-V is compared against Spike as golden reference
FloppyFloat uses → 95% 2e
Spike is evaluated with FloppyFloat as its FP backend integration.
Ara vector processor ← uses 85% 2e
Prior verification efforts for Ara used co-simulation with Spike.
Asymmetric ISA Pre-Simulation ← uses 100% 2e
Asymmetric ISA pre-simulation uses Spike as the ISS for pre-simulation.
PySpike ← extends 98% 2e
PySpike extends Spike by adding Python bindings through Spike's dlopen plugin system without modifying Spike's core code.
Synchronizable Co-simulation ← uses 100% 1e
The synchronizable co-simulation uses Spike as the reference model.
Spike FF ← derived from 100% 1e
Spike FF is a modified, performance-tuned version of the official Spike simulator.
Suresh Chips and Semiconductor ← uses 93% 1e
Suresh Chips and Semiconductor uses Spike as a golden reference ISS for RISC-V verification.
RVFI-DII uses → 95% 1e
Spike was extended with the Direct Instruction Injection interface to support TestRIG verification.
Ibex Core ← uses 100% 1e
Ibex Core verification uses Spike as a golden ISS reference model for co-simulation.
GoldenFuzz ← uses 100% 1e
GoldenFuzz uses Spike as the ISA-compliant emulator (Golden Reference Model) for RISC-V processors.
The paper incorporates Spike as a RISC-V ISS for co-simulation validation.
differential testing ← uses 95% 1e
Spike is used as a reference model for differential testing in hardware/software co-verification.
XiangShan ← uses 95% 1e
XiangShan supports Spike as an alternative golden reference model.
RISC-V VP ← uses 100% 1e
RISC-V VP uses SPIKE as a reference simulator for testing

CITATIONS

6 sources
6 citations — click to expand
[1] Spike is an open-source ISS for the RISC-V ISA, developed by the RISC-V Foundation, supporting official extensions, exceptions, interrupts, and a debugging mode. Reinforcement Learning Framework for RISC-V Functional Verification
[2] The official Spike repository is at github.com/riscv-software-src/riscv-isa-sim and Spike is used as a reference RISC-V ISS in the CHIPS Alliance / SV Tools Project co-simulation workflow. CHIPS Alliance SV Tools Project announcement
[3] RISCV-DV supports co-simulation with multiple ISSes including spike, riscv-ovpsim, whisper, and sail-riscv, comparing architectural state after each executed instruction. RISCV-DV overview (OpenSecura match-a tree)
[4] In RISC-V core verification flows, Spike is used as the golden reference ISS: its output is parsed for data-memory transactions that feed a scoreboard, and a write to address 0x20008 with value 1 is used to drop the UVM objection and end simulation. Reinforcement Learning Framework for RISC-V Functional Verification
[5] Spike (or QEMU) is the typical golden reference ISS used in RISC-V functional verification, where DUT architectural state must match the reference after each instruction. Inside RISC-V: Navigating the RTL Design & Verification Landscape
[6] In coverage-guided fuzzing of RISC-V ISSs, a coverage-guided run on Spike was reported to find a Spike issue labeled S1, achieving 100% branch coverage and 100% in R1/R2/R3 functional coverage columns; the run took 32,492 seconds. Reinforcement Learning Framework for RISC-V Functional Verification