この記事はひとりでCPUとエミュレータとコンパイラを作る Advent Calendar 2017の9日目の記事です。 今日から2日かけて、FPGA上に昨日の命令セットのCPUを実装する。 言語はSystem Verilogを用いる。 完成品のリポジトリはこれ。 こいつでフィボナッチ数を計算すると 2進数で、1, 2, 3, 5, 8, 13, 21, 34, 55 を計算しているのが分かるだろう。 全体の流れ FPGAで回路を組む手順をすべて書くと FPGAを買う 買ったやつにあわせて制約ファイルを書く シミュレーション用のモジュールを書く(HDLでコーディング) そこにassertテストコードを追加 シミュレーションして、各レジスタの電圧波形を見る。テストを走らせる テストが通る 論理合成用のモジュールを書く 論理合成する 論理合成結果をインプリメントする ビット列に変換する FPGA