32-bit RISC-V Linux をビルドして Spike で動かす

最近は自作 32-bit RISC-V CPU で Linux を動かしていた。その前段階として 32-bit RISC-V Linux をビルドして Spike で動かしたのでそのときの備忘録。 Spike でただ Linux を動かすだけなら Buildroot の Spike 用の設定ファイルを使えば簡単なのだが (た…

Spike を RV32 のプログラム向けにビルドする

Spike (riscv-isa-sim) は RISC-V の命令セットシミュレータで、(比較的) 手軽に RISC-V のプログラムを試す上でとても便利なツール。 Spike はデフォルトで RV64 のプログラム向けにビルドされるが、今回は Spike を RV32 のプログラム向けにビルドする。ま…

ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.

pip をアップデートしようとしたらハッシュが合わなくて怒られた。 $ pip install -U pip Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Requirement already satisfied: pip in /usr/lib/python3/dist-packages (20.3.4) …

Verilator で波形ファイルを出力する

Verilator は最速の Verilog シミュレータかつ lint ツール。オープンソースのツールであり、機能が優れているため、様々なプロジェクトで利用されている (Welcome to Verilator - Veripool)。 Verilator の大きな特徴として、Verilog を C++ にコンパイルし…