読者です 読者をやめる 読者になる 読者になる

HYPERCONCERTO株式会社のチーフエンジニア雑記Blog

hyperconcerto株式会社のチーフエンジニアが日々気づいたことを書いています

【4bit CPU自作】TD4の真似をするソースコード

 

 

今回はTD4の動作を真似するVerilogHDLによるソースコードを載せています。
ソースコードは下記よりダウンロードできます。

 

TD4のようなCPU

 

真似というのは本来のTD4で使用されている論理素子を無視してVerilogHDLの記述レベルで
書きやすいように書いたため、同じ動きはするけど回路的には非常に遠い物になっているはずです。
CPUを単純かつ乱暴に書いてしまうと、プログラム格納領域から拾ってきた命令を調べて
自分の知っている命令を分類して実行するだけです。
そのため実装する命令の数だけif文をつなげれば同等の事ができるはずです。
もちろんこの実装は非効率的であるため、実行速度は出ないでしょう。
VerilogHDLだと原始的な論理素子を積み上げてずに、直接目的の機能を組み込めるため非常に便利ですね。

で、どうやって使うのか?
VerilogHDLの習作として作ったので、プログラムROM領域もソースコードの中にベタ書きです。
TD4の仕様書を見ながらマシン語でプログラミングすることになります。
129行目からROM領域ですので、大昔のプログラマの気分に浸りながら書くことになります。
日頃あまりコードを書かない私がマシン語で書くなんてとちょっと感動に浸っておりました。

このコードですがいきなり実機に転送する前に、仮想環境でシミュレーションしましょう。
というわけで、次回はテストベンチについて書きます。

初めてGithub使いました…