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/5/2026
Evidence 119 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

8 nodes · 22 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% 9e
Spike can serve as a reference model and supports adding new custom instruction behaviour.
Golden Reference Model implements → 100% 8e
Spike serves as the de-facto golden reference model for RISC-V
The paper describes using Spike as the reference model for co-simulation.
Instruction Set Simulator implements → 100% 6e
spike is an open source ISS for RISC-V
SoftFloat uses → 100% 6e
Spike is evaluated with SoftFloat as its FP backend integration.
The paper evaluates Spike as a reference ISS and finds an error in it.
Instruction Set Simulator (ISS) implements → 100% 5e
SPIKE is the official RISC-V reference ISS
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.
RISC-V ISA implements → 100% 4e
Spike is a RISC-V ISA simulator.
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
ISA Simulator implements → 100% 3e
Spike is used as the RISC-V ISA simulator reference in Prelude.
RVVTS ← uses 100% 3e
RVVTS uses Spike as the reference simulator for co-simulation and architectural state comparison.
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.
GenHuzz ← uses 100% 2e
GenHuzz uses Spike as the RISC-V ISA reference model (Golden Reference Model) for differential testing.
Ara vector processor ← uses 85% 2e
Prior verification efforts for Ara used co-simulation with Spike.
The paper evaluates Spike simulator for compliance 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.
The paper evaluates the approach using Spike as one of the target simulators
UVM ← uses 97% 2e
The UVM environment uses Spike as its reference model for co-simulation.
CHIA ← uses 99% 2e
CHIA uses Spike as the golden ISA simulator oracle for differential verification throughout the flow.
RISC-V targets ISA → 100% 2e
Spike is the official RISC-V reference simulator.
EAVS uses Spike as its ISS/golden model component.
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
RISCSmith ← uses 100% 2e
RISCSmith uses Spike as the golden reference model for differential comparison.
Co-Simulation ← uses 99% 2e
Spike is used as the reference ISA simulator for co-simulation
FloppyFloat uses → 95% 2e
Spike is evaluated with FloppyFloat as its FP backend integration.
FP-RVVTS ← uses 100% 2e
FP-RVVTS uses Spike as the golden reference simulator.
CFC uses Spike as the software model for co-simulation.
CFC uses Spike as the software model for RISC-V co-simulation.
Instruction-Accurate Simulation implements → 100% 1e
Spike provides an instruction-accurate functional model of RISC-V cores.
Gemmini uses → 90% 1e
Spike supports a Gemmini extension for processing custom Gemmini instructions.
architectural validation ← uses 100% 1e
Spike has been widely used in architectural validation flows
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

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