自作CPU & 自作OSをやっていく (4) - macOSでPapilio Pro LX9のFPGAにBitstreamファイルを書き込む

Papilio Pro LX9

2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。

最終的にはFPGAに自作のCPUを書き込んでいくのだが、筆者はFPGAを使った経験がほとんどない。
CPUの回路設計はまだ手もつけていないが、不確実性を下げるために、先にFPGAを購入して普段遣いのmacOSからFPGA開発ができるように整えておく。

最終的には、macOSから papilio-prog コマンドでBitstreamファイル (.bit) を Papilio Pro LX9 評価ボードに書き込むことに成功したので、その記録を備忘として残しておく。

自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。

続きを読む


自作CPU & 自作OSをやっていく (3) - riscv/riscv-tests の挙動を追う

2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。

今回は、自作CPUのパフォーマンスベンチマークとして利用するつもりの riscv-tests の挙動を追ってみる。
関心があるのは、命令セットやOSの機能をどこまで用意してあげればベンチマークが実行できるのかという点。とりわけ、以下の観点をチェックしていく。

  • ISA (命令セット)
    • RV64F (単精度浮動小数点演算), RV64D (倍精度浮動小数点演算) を利用しているベンチマークはあるか。あるとしたらどれか。
    • RV64V (ベクトル演算) を利用しているベンチマークはあるか。あるとしたらどれか。
    • RV64A (アトミック命令) を利用しているベンチマークはあるか。あるとしたらどれか。
  • OS機能
    • ヒープ領域は必要か(スタック領域のみで十分か)。
    • スレッドをCPUコアに割り当てるスケジューラは必要か。

自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。

続きを読む


自作CPU & 自作OSをやっていく (2) - 64ビットRISC-Vの "Hello World" をRustで作った

2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。

今回は、64ビットRISC-V (RV64I) の “Hello World” をRustで作ったので、そのリポジトリの紹介。

自作CPU & 自作OS タグで、この前後の進捗とか目指しているもの(初回記事)とかを追えるようにしている。

続きを読む


自作CPU & 自作OSをやっていく (1) - 全体像(随時更新)

2020年1月から、趣味エンジニアリング活動として自作CPUと自作OSをやっていく。

第一回のこの記事では、目指してることとか、作りたい成果物とか、ロードマップとか、進捗とかを記録していく。インプットが増えたり手を動かしていくと色々と軌道修正があるだろうから、この記事は随時更新されていく。ChangeLogをご参考。
進捗報告は 自作CPU & 自作OS タグで追えるようにしておく。

続きを読む