Raptor — RISC-V Processor Core

Benchmark App STA

The published homepage is an interactive product surface: a 2D pipeline block diagram extracted from the SystemVerilog tree, plus a documentation shell whose make commands come from the repository Makefile. This page is the written overview.

Raptor is a parameterized superscalar, out-of-order RISC-V core with register renaming, a reorder buffer, reservation stations, branch prediction, and Sv32/Sv39 virtual memory support for RV32/RV64.

The repository also bundles the NEMU software ISS (used as a difftest reference), a Verilator-based simulator (NPC), an AbstractMachine runtime, Linux kernel build scripts, and FPGA integration (Gowin Tang boards and Xilinx KU15P through LiteX).

Repository: https://github.com/Kingfish404/raptor-chip

Core Summary

Item Value
ISA rv32/64imafdc_zba_zbb_zbs_zfhmin_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zca_zcb_zcmop
RV64 extras Zkt, Svinval, Svpbmt on the default RV64 / RVA22S64 path
Privilege modes M, S, U
MMU Sv32 (RV32) / Sv39 (RV64) / Bare
PMP 8 usable entries (TOR / NA4 / NAPOT); 16 CSR slots, upper eight read-only zero
Interrupts CLINT (mtime, mtimecmp, msip) + PLIC (31 sources, M/S contexts)
Ordered widths Decode 2 / Rename 2 / Dispatch 2 / Commit 2 by default; independently parameterized
Integer execution 2 physical integer issue/ALU ports by default; CSR/system on port 0
Queues ROB 32, ALQ 8, BRQ 4, MDQ 4, FPQ 4, IOQ 8, unified SQ 16
Register state 64-entry integer PRF (including 32 architectural mappings) + 32 × 64-bit FPR bank
Writeback CDB ×5 (integer ports + branch + memory + MUL/DIV)
BPU TAGE direction predictor + 2-way BTB (128) + 4-entry RSB
L1I / L1D 16 KiB 4-way each (64 sets × 64 B × 4), banked SRAM; L1D write-through
L2 Optional 16 KiB direct-mapped; default preset leaves the stage as passthrough
Bus AXI4, XLEN-bit data/addr, 4-bit ID; up to 8 reads, one single-beat write
Debug RISC-V Debug Module / JTAG DTM bring-up ports at cluster top
Verification Difftest against NEMU; RVFI/riscv-formal; SVA

See Microarchitecture for the complete pipeline description.

Performance (Verilator, RV32EM, bare-metal)

See Performance Iterations for the recorded IPC history of the current two-wide configuration. PROFILE is a legacy archive and does not describe the default RTL.

Verification

Documentation

Repository Layout

raptor-chip/
├── Makefile              top-level driver
├── env.sh                environment variables (auto-sourced by Makefile)
├── hdl/                   SystemVerilog RTL
│   ├── chisel/            Chisel decoder generator
│   ├── rapt.sv           cluster-level top (core + CLINT + PLIC + router + debug)
│   ├── rapt_core.sv      single-hart CPU body
│   ├── rapt_pkg.sv       core configuration and shared types
│   ├── frontend/         IFU, FQU, IDU, RNU, BPU, CSR
│   ├── backend/          PRF, ROU, DPU, IEU, FEU, LSU, CMU
│   ├── memory/           L1I/L1D, optional L2, TLB, PTW, AXI4 bus
│   ├── perip/            CLINT, PLIC, debug module, JTAG DTM, DPI wrappers
│   ├── include/          type macros, interfaces, DPI-C
│   └── generated/        Chisel-generated decoders
├── nemu/                 NEMU reference ISS
├── sim/                  NPC Verilator simulator
├── lspd/                 synthesis/PPA flow and non-product HDL wrappers
├── abstract-machine/     AM runtime (nanos-lite, navy-apps)
├── linux/                Linux kernel build scripts
├── fpga/                 FPGA integration (Gowin Tang Nano 20K, LiteX)
└── docs/                 documentation (this directory)

The project is licensed under the Apache License 2.0. Third-party components retain their original licenses; see NOTICE.

raptor docs shell parsed from Makefile + HDL · not a simulator