Repolode
munetomo-maruyama

munetomo-maruyama/mmRISC-2

Claude CodeですべてのRTL、検証環境、ドキュメントを作成した、Arty A7 FPGAボードでLinuxを起動できるSystemVerilog製64ビットRISC-V CPUコア。

スター
168
フォーク
32
未解決の Issue
0
最終コミット
17 日前

これは何?

mmRISC-2は、Digilent Arty A7-100T FPGAボードを対象とした、SystemVerilog製の自作64ビットRISC-Vプロセッサ(RV64GC)です。8段のインオーダーパイプライン、PMP対応のSv39 MMU、分岐予測、単精度・倍精度FPU、16 KBのL1命令・データキャッシュ、256 KBのL2キャッシュを備えています。周辺機器にはLiteXのものを使用し、オンチップJTAG/cJTAGデバッグにも対応しています。

ボード上では50 MHzで動作し、SDカードからLiteX BIOS、OpenSBI、Linux 7.2を起動してBusyBoxシェルを利用できます。Debian 13(riscv64)も起動でき、gcc、make、gdbをボード上で実行可能です。ベアメタルCプログラムは、JTAG経由でEclipse IDEからビルド・デバッグできます。Linux perfで利用できる29種類のパフォーマンスカウンターイベントを備えています。

リポジトリには、自作テスト、riscv-tests、参照モデル、バグ注入を含む検証環境のほか、設計の経緯や仕様も英語と日本語で記載されています。

主な機能

  • 01M、S、Uモード、Sv39 MMU、8エントリーPMPを備えたRV64GCコア。
  • 02分岐予測(BTB、gshare、リターンアドレススタック)を備えた8段インオーダーパイプライン。
  • 03パイプライン化されたデータパスを持つ単精度・倍精度FPU。
  • 0416 KBのL1命令・データキャッシュと256 KBのL2キャッシュ。
  • 05Arty A7-100TでSDカードからLinux 7.2とDebian 13を起動。
  • 06ハードウェアトリガーに対応したJTAG/cJTAGオンチップデバッグ。OpenOCDやgdbで利用可能。

ユースケース

  • SystemVerilogでのRISC-V CPUコア、キャッシュ、MMUの実装方法を学ぶ。
  • 手頃な価格のFPGAボード上で、自作RISC-Vコアを使ってLinuxを動かす。
  • FPGA上のRISC-Vコア向けに、Eclipseを使ってベアメタルCの開発とデバッグを行う。
  • 参照モデルやバグ注入を使ったプロセッサ検証の参考にする。

使う前に知っておきたいこと

  • 特定のFPGAボードであるDigilent Arty A7-100T上で動作するため、移植しない限り他のハードウェアでは動作しません。
  • プロジェクトはRev.02で終了するため、今後の開発は予定されていません。

トピック

#risc-v#cpu#fpga#systemverilog#hardware-design#linux#rtl#processor-verification

よくある質問

mmRISC-2 とは?
Claude CodeですべてのRTL、検証環境、ドキュメントを作成した、Arty A7 FPGAボードでLinuxを起動できるSystemVerilog製64ビットRISC-V CPUコア。 mmRISC-2は、Digilent Arty A7-100T FPGAボードを対象とした、SystemVerilog製の自作64ビットRISC-Vプロセッサ(RV64GC)です。8段のインオーダーパイプライン、PMP対応のSv39 MMU、分岐予測、単精度・倍精度FPU、16 KBのL1命令・データキャッシュ、256 KBのL2キャッシュを備えています。周辺機器にはLiteXのものを使用し、オンチップJTAG/cJTAGデバッグにも対応しています。
mmRISC-2 は無料で使えますか?ライセンスは?
mmRISC-2 は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mmRISC-2 は今もメンテナンスされていますか?
活発にメンテナンス中。mmRISC-2 の最終コミットは 2026年10月20日 です。
mmRISC-2 は何に使えますか?
SystemVerilogでのRISC-V CPUコア、キャッシュ、MMUの実装方法を学ぶ。 手頃な価格のFPGAボード上で、自作RISC-Vコアを使ってLinuxを動かす。 FPGA上のRISC-Vコア向けに、Eclipseを使ってベアメタルCの開発とデバッグを行う。 参照モデルやバグ注入を使ったプロセッサ検証の参考にする。
mmRISC-2 はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/munetomo-maruyama/mmRISC-2

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

組み込み制御アプリケーション向けに設計された、SystemVerilog製の小型で実用品質の32ビットRISC-V CPUコアです。

その他#risc-v#cpu-core#hardware
2159+17 今週830SystemVerilogApache-2.0更新 17 時間前

Verilogを生成する、パラメーター化可能なデジタル回路ジェネレーターを記述するための、Scalaに組み込まれたオープンソースのハードウェア記述言語です。

開発ツール#hardware-description-language#rtl#scala
4829+4 今週664ScalaApache-2.0活発にメンテナンス更新 23 時間前