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 7/19/2026
Evidence 85 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

16 nodes · 38 edges
graph · spike · depth=1

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% 8e
Spike acts as the reference model in the verification environment, predicting expected instruction results.
Golden Reference Model implements → 100% 7e
Spike acts as the Golden Reference Model implementation for RISC-V in GoldenFuzz.
The paper describes using Spike as the reference model for co-simulation.
The paper evaluates Spike as a reference ISS and finds an error in it.
Instruction Set Simulator implements → 100% 4e
Spike implements the Instruction Set Simulator concept for RISC-V.
riscv-dv ← uses 99% 4e
RISCV-DV uses spike as an ISS for co-simulation
SoftFloat uses → 100% 4e
Spike uses SoftFloat as its underlying FP library.
RISC-V implements → 100% 3e
Spike is a high-performance RISC-V emulator.
RISC-V International published by → 100% 3e
Spike is the official RISC-V golden reference simulator maintained by RISC-V International.
MorFuzz ← uses 100% 3e
MorFuzz uses the spike ISA simulator as the reference model for co-simulation.
Instruction Set Architecture implements → 100% 3e
Spike is the official RISC-V ISA reference simulator implementing the RISC-V ISA.
Cascade ← uses 90% 3e
Cascade uses Spike as its ISS for asymmetric pre-simulation
RISC-V ISA implements → 100% 3e
Spike is the RISC-V ISA simulator used as the Golden Reference Model.
FP-RVVTS ← uses 100% 2e
FP-RVVTS uses Spike as the golden reference simulator.
RISC-V targets ISA → 100% 2e
Spike is the official RISC-V reference simulator.
EAVS uses Spike as its ISS/golden model component.
Instruction Set Simulator (ISS) implements → 97% 2e
Spike is an implementation of an Instruction Set Simulator for RISC-V.
Co-Simulation ← uses 99% 2e
Spike is used as the reference ISA simulator for co-simulation
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.
UVM ← uses 97% 2e
The UVM environment uses Spike as its reference model for co-simulation.
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.
The paper evaluates the approach using Spike as one of the target simulators
FP-RVVTS ← evaluates 100% 2e
FP-RVVTS uses Spike as its golden reference model and evaluates other simulators against it.
XiangShan ← uses 95% 1e
XiangShan supports Spike as an alternative golden reference model.
cov.py ← uses 96% 1e
cov.py processes spike simulation output for coverage
run.py ← uses 96% 1e
run.py can invoke spike for ISS simulation
RVVTS ← uses 100% 1e
RVVTS uses Spike as the golden reference model for execution comparison.
RefCovRunner ← uses 100% 1e
RefCovRunner uses Spike as an Execution Runner to provide Machine State.
golden model implements → 1e
Spike acts as the golden model reference for verifying RISC-V core execution.
Unordered Floating-Point Reductions uses → 85% 1e
Spike's handling of unordered floating-point reductions required special workarounds.
Co-simulation ← uses 1e
Co-simulation in RISCV-DV uses spike as one of the supported ISS tools.
RVFI-DII uses → 95% 1e
Spike was extended with the Direct Instruction Injection interface to support TestRIG verification.
Synchronizable Co-simulation ← uses 100% 1e
The synchronizable co-simulation uses Spike as the reference model.
RISC-V ISA uses → 97% 1e
Spike is a RISC-V ISA simulator implementing the RISC-V ISA.
unordered floating-point reduction reference model ← compares with 93% 1e
The unordered floating-point reduction reference model is used instead of Spike for non-deterministic reduction results.
RISC-V Vector extension (RVV) uses → 97% 1e
Spike is adapted to follow the RISC-V vector specification 0.7.1
UVM scoreboard ← uses 98% 1e
The scoreboard directly takes information from Spike as reference
The paper incorporates Spike as a RISC-V ISS for co-simulation validation.
Ibex Core ← uses 100% 1e
Ibex Core verification uses Spike as a golden ISS reference model for co-simulation.
Spike FF ← derived from 100% 1e
Spike FF is a modified, performance-tuned version of the official Spike simulator.
Instruction Decoder mentions → 95% 1e
Spike has a decoder error that was found by the fuzzer.
UVM environment ← uses 98% 1e
The UVM environment uses Spike as a reference model for co-simulation of vector instructions.
RISC-V Vector extension uses → 95% 1e
Spike was adapted to support the RISC-V Vector extension version 0.7.1 specification.
RVFI-DII implements → 95% 1e
Spike has been extended with the Direct Instruction Injection interface for use with TestRIG.
TestRIG ← evaluates 1e
TestRIG evaluates Spike as a RISC-V implementation.
Mutation-based Compliance Testing for RISC-V ← evaluates 100% 1e
The paper evaluates the complete CT infrastructure on SPIKE.
NEMU ← compares with 95% 1e
NEMU is described as similar to Spike, both being instruction set simulators.

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