第12回: 実習(7): FPGAへのCPUの実装(2)

全体構成と制御回路の設計



以下では、未設計の部分を順につくっていき、 適宜シミュレーションや実機で動作確認をしてみましょう。

レジスタとプログラムカウンタ

reg, pcは、一般的なレジスタ(D-FF)と同様の動作ですので、 レジスタの記述を参考にVHDL記述します。

制御回路の設計:レジスタの制御

命令(op)に応じて、datapath_regで生成された演算結果(res)を、 r0またはr1に書き込むように「r0, r1を更新するべき値」を生成します。

例えば、op="0000"(mov imm, r0)では、datapath_regでres=immとなっていますが、 これを書き込む先はr0ですからr0o=resとなり、 またr1は変更しませんから、r1の現在の値であるr1iを、そのままr1o=r1iとして 出力すればよいことになります。

他にも同様に、例えばop="0011"(add r0, imm, r1)ならば、r0o=r0i, r1o=resとなります。


戻る