Repolode
cvut

cvut/qtrvsim

コンピュータアーキテクチャ教育向けのQtベースRISC-V CPUシミュレータ。WebAssembly版はブラウザで実行できます。

スター
651
フォーク
97
未解決の Issue
25
最終コミット
9 日前

これは何?

QtRvSimは、コンピュータアーキテクチャの授業向けに開発されたグラフィカルなRISC-V CPUシミュレータです。静的リンクされた32ビットまたは64ビットのリトルエンディアンELF実行ファイルを読み込んで実行し、ELFヘッダーからXLENを選択します。基本的な統合アセンブラを備え、外部のmakeユーティリティを呼び出して編集中のプログラムをビルドすることもできます。

シミュレータは、UARTシリアルポート、LEDとノブのパネル、RGB565 LCDフレームバッファ、ACLINTタイマーおよびソフトウェア割り込みデバイスといった、メモリマップド周辺機器をモデル化します。また、CSRの一部と割り込み処理に加え、簡単なプログラムを実行するためのread、write、openat、exitなどのLinuxシステムコールを少数実装しています。

このプロジェクトは、チェコ工科大学のComputer Architectures Educationグループが開発しています。WebAssembly版は実験的な位置づけですが、インストール不要でオンラインから試せます。複数のLinuxディストリビューション向けにバイナリパッケージが提供されており、Qt 5またはQt 6とCMakeを使ってビルドできます。

主な機能

  • 01静的リンクされたRISC-V ELF実行ファイルを、32ビットおよび64ビットモードで実行します。
  • 02GNU assemblerディレクティブの一部を受け付ける、基本的な統合アセンブラを備えています。
  • 03UART、LED/ノブパネル、LCDフレームバッファ、ACLINTタイマー周辺機器をエミュレートします。
  • 04マシンモード向けに、一般的なCSRと割り込み処理を実装しています。
  • 05簡単なプログラムを実行するためのLinuxシステムコールを提供します。
  • 06WebAssembly版を使ってブラウザ上で実行できます。

ユースケース

  • 視覚的なCPUモデルを使った、学部または大学院のコンピュータアーキテクチャの授業。
  • シリアルI/O、割り込み、タイマーがRISC-Vプログラムとどのように連携するかのデモ。
  • GCCまたはClangでコンパイルした小規模なRISC-Vアセンブリ/Cプログラムを、ハードウェアで実行する前にテストする。

クイックスタート

  1. 1

    サブモジュールも含めてリポジトリをクローンします

    git clone --recurse-submodules https://github.com/cvut/qtrvsim.git
  2. 2

    Linuxでプロジェクトのルートディレクトリからmakeを実行し、ラッパーMakefileを使ってビルドします

    make
  3. 3

    または、インストールせずにブラウザーで実験版のWebAssemblyバージョンをお試しください

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

  • GPL-3.0ライセンスの下で公開されています。このコピーレフトライセンスでは、派生物も同じ条件でオープンソース化する必要があります。
  • 圧縮RISC-V命令にはまだ対応していません。
  • WebAssemblyバージョンは実験段階です。

トピック

#risc-v#cpu-simulator#computer-architecture#teaching#emulator#webassembly#qt#cpu-emulator

よくある質問

qtrvsim とは?
コンピュータアーキテクチャ教育向けのQtベースRISC-V CPUシミュレータ。WebAssembly版はブラウザで実行できます。 QtRvSimは、コンピュータアーキテクチャの授業向けに開発されたグラフィカルなRISC-V CPUシミュレータです。静的リンクされた32ビットまたは64ビットのリトルエンディアンELF実行ファイルを読み込んで実行し、ELFヘッダーからXLENを選択します。基本的な統合アセンブラを備え、外部のmakeユーティリティを呼び出して編集中のプログラムをビルドすることもできます。
qtrvsim は無料で使えますか?ライセンスは?
qtrvsim は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
qtrvsim は今もメンテナンスされていますか?
活発にメンテナンス中。qtrvsim の最終コミットは 2026年10月29日 です。
qtrvsim は何に使えますか?
視覚的なCPUモデルを使った、学部または大学院のコンピュータアーキテクチャの授業。 シリアルI/O、割り込み、タイマーがRISC-Vプログラムとどのように連携するかのデモ。 GCCまたはClangでコンパイルした小規模なRISC-Vアセンブリ/Cプログラムを、ハードウェアで実行する前にテストする。
qtrvsim のインストール方法は?
サブモジュールも含めてリポジトリをクローンします: git clone --recurse-submodules https://github.com/cvut/qtrvsim.git Linuxでプロジェクトのルートディレクトリからmakeを実行し、ラッパーMakefileを使ってビルドします: make または、インストールせずにブラウザーで実験版のWebAssemblyバージョンをお試しください
qtrvsim はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/cvut/qtrvsim

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

関連プロジェクト

プロセッサのコード実行を学べる、RISC-Vコンピューターアーキテクチャのビジュアルシミュレーター兼アセンブリエディター。

学習リソース#risc-v#computer-architecture#simulator
3474+8 今週388C++MIT活発にメンテナンス更新 4 日前