OpenCores

Project maintainers

Details

Name: sarv
Created: Oct 27, 2026
Updated: Oct 28, 2026
SVN Updated: Oct 28, 2026
SVN: Browse
Latest version: download (might take a bit to start...)
Statistics: View
Bugs: 0 reported / 0 solved
Star1you like it: star it!

Other project properties

Category:Processor
Language:Verilog
Development status:Stable
Additional info:
WishBone compliant: No
WishBone version: n/a
License: CERN-OHL-S

SARV A Risc-V

Github : https://github.com/Sarst04/SARV

SARV is a 32-bit RISC-V processor based on the RV32I ISA. It currently supports the rv32iac_sstc_zaamo_zalrsc_zba_zbb_zbc_zbkc_zbs_zca_zcb_zicntr_zicond_zicsr_zihintpause_zihpm_zmmul ISA string, together with machine, supervisor, and user privilege modes.

The core is written in Verilog HDL and targets FPGA and ASIC implementations. It is designed as a compact embedded processor with a modular RTL architecture.


ISA Support

ExtensionDescriptionStatus
RV32IBase Integer InstructionsFull
ZmmulInteger Multiplication (no division)Full
ZicondConditional OperationsFull
ZihintpausePause Hint InstructionFull

Compressed Instructions (C)

Sub-extensionDescriptionStatus
ZcaInteger Compressed InstructionsFull
ZcbAdditional Compressed InstructionsFull

Atomic Instructions (A)

Sub-extensionDescriptionStatus
ZalrcsLoad-Reserved/Store-Conditional InstructionsFull
ZammoAtomic Memory OperationsFull

Atomic instructions are passed through the pipeline and handled by the data cach

Bit Manipulation (B)

Sub-extensionDescriptionStatus
ZbaAddress GenerationFull
ZbbBasic Bit-ManipulationFull
ZbsSingle-Bit OperationsFull
ZbcCarry-less MultiplicationFull

Control & Status

ExtensionDescriptionStatus
ZicsrControl Status RegistersFull
ZicntrBase Counters and TimersFull
ZihpmHardware Performance MonitorsOnly mhpmcounter3-9

Privilege Modes

SARV currently implements the three standard RISC-V privilege modes:

ModeDescriptionStatus
M-modeMachine modeSupported
S-modeSupervisor modeSupported
U-modeUser modeSupported

Supervisor trap and interrupt handling is supported through the corresponding supervisor CSRs and delegation mechanisms.

Interrupts

Machine Interrupts

InterruptDescriptionStatus
MEIMachine External InterruptSupported
MTIMachine Timer InterruptSupported
MSIMachine Software InterruptSupported

Supervisor Interrupts

InterruptDescriptionStatus
SEISupervisor External InterruptSupported
STISupervisor Timer InterruptSupported
SSISupervisor Software InterruptSupported
  • Supervisor interrupt delegation is handled through mideleg.
  • SARV includes support for the Supervisor-level Timer Compare extension (Sstc).

Power Management

FeatureDescriptionStatus
WFIWait for Interrupt — halts core until IRQSupported
Clock throttlingRuntime control of switching activitySupported

CoreMark Performance

MetricValue
CoreMark1508.755307
Frequency500 MHz (simulated)
CoreMark/MHz3.017510614
SimulationGate-level, ideal memory
Flags-march=rv32ib_zicond_zmmul_zicsr_zca -mabi=ilp32 -Ofast

Measured in gate-level simulation without cache/memory latency. Provides architectural comparison point.

The design under test uses:

  • A Branch Target Buffer (BTB) with 8 entries (BRANCH_PREDICTION_ENTRY_INDEX_BITS = 3).
  • A Return Address Stack (RAS) with 2 entries (RETURN_ADDRESS_PREDICTION_ENTRY_INDEX_BITS = 1).
  • ENABLE_CARRY_LESS_MULTIPLIER = 1.
  • ENABLE_EMBEDDED_BASE = 0.

Verification

Test SuiteStatus
CoreMarkPass
unprivilege Custom testsPass
M/S/U privilege Custom testsPass

Synthesis Results

Technology: Nangate 45nm Open Cell Library

MetricValue
Total Area38,354.008000 µm²
Cell Count26,670
KGE48.06 kGE
Sequential Area16,199.4 µm² (42.24%)
Synthesis ToolYosys
Post-synthesis estimated Fmax550 MHz

Architecture

Detailed down to wire and module documentation are available in the docs/ directory:

License

SARV is licensed under the CERN Open Hardware Licence Version 2 – Strongly Reciprocal (CERN-OHL-S-2.0).

You are free to use, modify, and manufacture hardware based on this project, provided you comply with the terms of the CERN-OHL-S v2.

See the LICENSE file for details.