Skip to content

mmRISC-2 Rev.01 (the first release)

Choose a tag to compare

@munetomo-maruyama munetomo-maruyama released this 19 Oct 17:04
· 36 commits to main since this release

mmRISC-2 Rev.01, the first release (2026-10-12). A 64-bit RISC-V CPU (RV64GC) designed entirely by Claude Code, booting Linux 7.2 on the Digilent Arty A7-100T at 50 MHz, 30 days after the start of the project. The final version is Rev.02.

mmRISC-2 の最初のリリース Rev.01(2026-10-12)。Claude Code がすべてを設計した 64-bit RISC-V CPU(RV64GC)で、Digilent Arty A7-100T の上で 50 MHz で Linux 7.2 が起動する。着手から 30 日。最終版は Rev.02。

Contents

  • RV64GC (IMAFDC) + Zba / Zbb / Zbs / Zbc / Zicond / Zicboz, M / S / U, Sv39 MMU (ITLB / DTLB of 8 entries each, hardware page table walker), PMP 8
  • An 8-stage in-order pipeline, branch prediction (256-entry BTB, gshare, return address stack)
  • FPU (F / D), a pipeline that takes one operation every cycle
  • L1 caches (I$ / D$ 16 KB each, the D$ non-blocking and write-back) and an L2 cache of 256 KB; the SoC's DMA goes through the D$ (coherence in hardware)
  • CLINT / PLIC, Sstc; JTAG / cJTAG on-chip debug (Debug Spec 1.0, 4 triggers); performance counters usable with Linux's perf (26 events)
  • On the board: LiteX BIOS → OpenSBI → Linux 7.2 → BusyBox from the SD card, Ethernet (DHCP, TFTP)

内容

  • RV64GC(IMAFDC)+ Zba / Zbb / Zbs / Zbc / Zicond / Zicboz、M / S / U、Sv39 MMU(ITLB / DTLB 各 8 エントリ、ハードウェアのページウォーカ)、PMP 8
  • 8 段のインオーダ・パイプライン、分岐予測(BTB 256、gshare、戻りアドレススタック)
  • FPU(単精度・倍精度)、毎サイクル 1 演算のパイプライン
  • L1 キャッシュ(I$ / D$ 各 16 KB、D$ はノンブロッキング・書き戻し)と L2 キャッシュ 256 KB。SoC の DMA も D$ を通す(一貫性をハードウェアで保つ)
  • CLINT / PLIC、Sstc。JTAG / cJTAG のオンチップデバッグ(Debug Spec 1.0、トリガ 4 本)。Linux の perf で使える性能カウンタ(イベント 26 種)
  • 実機: LiteX BIOS → OpenSBI → Linux 7.2 → SD カードの BusyBox、Ethernet(DHCP、TFTP)

Numbers / 数値

Rev.01
CoreMark/MHz (board, Linux) 2.498 (rv64gc -O2), 2.786 (Zba/Zbb -O2), 3.025 (fastest options)
DMIPS/MHz 1.496 (-O2), 1.542 (fastest options)
Floating point FIR 65.6 MFLOPS, matrix multiply 41.2 MFLOPS (50 MHz)
FPGA 50 MHz, WNS +0.664 ns, LUT 46,928 (74.0 %), slices 86.2 %
Verification 550 bug injections, all detected; 120-minute stress test PASS (mem 81, net 41, sd 517, NG 0)

Attached / 添付

  • 20261015_WhitePaper_mmRISC-2.pdf: white paper on Rev.01 (English, A4, 16 pages), written after the tag (2026-10-15) and published on main then. The Rev.02 edition is attached to Rev.02.
  • 20261015_WhitePaper_mmRISC-2_J.pdf: Rev.01 のホワイトペーパー(日本語版)。タグの後(2026-10-15)に書き、当時の main で公開したもの。Rev.02 版は Rev.02 に添付。

The SD card files (Image, fw_jump.bin, boot.json) are in LitexSystem/software/boot/ of the source; the corresponding source of the Linux kernel is in linux-src-4929f78c004e. Apache License 2.0.

SD カードのファイル一式(Image、fw_jump.bin、boot.json)はソースの LitexSystem/software/boot/ に、Linux カーネルの対応するソースは linux-src-4929f78c004e にある。Apache License 2.0。