Repolode
OpenXiangShan

OpenXiangShan/XiangShan

XiangShanプロジェクトが開発する、ScalaとChiselで記述されたオープンソースの高性能RISC-Vプロセッサコア。

スター
7,368
フォーク
977
未解決の Issue
336
最終コミット
昨日

これは何?

XiangShanは、オープンソースの高性能RISC-Vプロセッサプロジェクトです。設計はScalaに組み込まれたハードウェア構築言語Chiselで記述されており、チップ開発に利用できるVerilogを生成します。

このリポジトリには、Yanqihu、Nanhu、Kunminghuなど、世代ごとのマイクロアーキテクチャが収録されており、それぞれ独立したブランチで管理されています。現在の開発ラインはKunminghu-V2とV3で、V3は活発に開発が進められています。また、VerilatorベースのC++エミュレータ、difftestコシミュレーションフレームワーク、キャッシュサブシステム、Pythonベースのデバッガ(xspdb)など、周辺ツールチェーンも提供しています。

設計ドキュメントとユーザーガイドはプロジェクトのドキュメントサイトで公開されており、パフォーマンスダッシュボードではコミット単位の結果やSPECのリグレッションを確認できます。

主な機能

  • 01高性能なアウト・オブ・オーダー・マイクロアーキテクチャでRISC-V命令セットを実装します。
  • 02Chiselで記述されており、make verilogでVerilogを生成します。
  • 03RISC-Vバイナリを実行できる、VerilatorベースのC++シミュレータを同梱しています。
  • 04NEMUリファレンスモデルとのdifftestコシミュレーションを提供します。
  • 05実行のステップ実行や状態確認に使えるPythonベースのデバッガxspdbを提供します。

ユースケース

  • フル機能のオープンRISC-Vコアを使った、プロセッサマイクロアーキテクチャの研究。
  • ハードウェア検証やコシミュレーションのワークフローの学習。
  • 公開されているVerilogを基にした、下流のRISC-Vチップ設計。
  • VerilatorシミュレータでのRISC-Vワークロードのベンチマーク。

クイックスタート

  1. 1

    NEMU_HOME、NOOP_HOME、AM_HOME の環境変数を設定し、mill をインストールする

  2. 2

    プロジェクトをクローンし、サブモジュールを初期化する

    make init
  3. 3

    Verilator をインストールしてから、C++ シミュレーターをビルドする

    make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10
  4. 4

    シミュレーターでプログラムを実行する

    ./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so

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

  • ビルドには複数の外部プロジェクト(NEMU、nexus-am、mill、Verilator)が必要なため、セットアップは大変です。
  • kunminghu-v3 ブランチはまだ開発中で、安定していない可能性があります。研究には kunminghu-v2 を推奨します。

トピック

#risc-v#processor#chisel#hardware#microarchitecture#verilog#cpu-design

よくある質問

XiangShan とは?
XiangShanプロジェクトが開発する、ScalaとChiselで記述されたオープンソースの高性能RISC-Vプロセッサコア。 XiangShanは、オープンソースの高性能RISC-Vプロセッサプロジェクトです。設計はScalaに組み込まれたハードウェア構築言語Chiselで記述されており、チップ開発に利用できるVerilogを生成します。
XiangShan は無料で使えますか?ライセンスは?
XiangShan は MulanPSL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
XiangShan は今もメンテナンスされていますか?
活発にメンテナンス中。XiangShan の最終コミットは 2026年11月5日 です。
XiangShan は何に使えますか?
フル機能のオープンRISC-Vコアを使った、プロセッサマイクロアーキテクチャの研究。 ハードウェア検証やコシミュレーションのワークフローの学習。 公開されているVerilogを基にした、下流のRISC-Vチップ設計。 VerilatorシミュレータでのRISC-Vワークロードのベンチマーク。
XiangShan のインストール方法は?
NEMU_HOME、NOOP_HOME、AM_HOME の環境変数を設定し、mill をインストールする プロジェクトをクローンし、サブモジュールを初期化する: make init Verilator をインストールしてから、C++ シミュレーターをビルドする: make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 シミュレーターでプログラムを実行する: ./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
XiangShan はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/OpenXiangShan/XiangShan

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

関連プロジェクト

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

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

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

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

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

その他#risc-v#cpu#fpga
168+8 今週32SystemVerilogApache-2.0更新 17 日前