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で終了するため、今後の開発は予定されていません。
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
コンピューターの起動から、CPU、システムコール、プロセスに至るまで、プログラムが実際にどう動くのかを複数章で解説する技術ガイドです。
CPU温度、周波数、電力、使用率をグラフ表示し、CPU負荷テストも備えたターミナルUI。
AIエージェントがEasyEDA Proを操作し、データシートの読み取り、回路図作成、PCBレイアウト、設計チェックを行える自動化レイヤー。