実例で学ぶマイクロプロセッサ設計
Verilogを一通り勉強してはみたけどいまいち分かんない……wireとregって何が違うの……というレベルだったので、Verilogのおべんきょうも兼ねてマイクロプロセッサをシミュレートするプロジェクトです。Verilog書けたら大金稼げるらしいからね!
将来的にパイプライン化することを見越して5段のマルチサイクルプロセッサを設計することを目指す(あんまり実装のことは考えてない)。
命令セットアーキテクチャの仕様は32ビットのMISP(MISP32)に準拠しています。多少の差異はあるかもしれませんが。
ロードマップ(近々改修予定)
- 第1回:Adder(足し算器)を作る - adder, トップモジュール (2017/11/11)
- 第2回:Adderのシミュレーション - $monitor (2017/11/12)
- 第3回:レジスタファイル設置 - always, posedge, clk (2017/11/15)
- 第4回:デコーダーを作る - 三項演算子 (2017/11/29)
- 第5回:プロセッサの制御線 - (2017/11/30)
- 第6回:ALUの実装
- 命令フェッチ部
- アセンブリとアセンブラ
- メモリ実装
- 分岐命令
- パイプライン化
- フォワーディング