CPUの創りかたのTD4を少し変更した


CPUの創りかたのTD4をDE0-CVに実装した

TD4は命令フェッチ~実行までのすべてのステップを1クロックでやっている。
これは結構無茶な作りで、1ステップ1クロックでやるのが普通(のはず)。

TD4は周波数も遅いしIC10個でやるという制約もあるしで1クロックでぜんぶ処理する
作りになっていると思われるが、TD4をベースに色々と手を加えることを考えると
現実的なCPUの作りに近づけたほうが良いと思った。

あと、前の記事で作ったやつは74シリーズのロジックICをHDLにして回路図に近い形で
結線していたけれど、後の拡張とメンテナンスを考えると得策でないのでこれも
変更したかった。

ということでTD4の機能はそのままで色々と手を加えた。

まず処理はこんな感じ。パイプライン化は考えない。
f:id:m_keishi2006:20180103005754p:plain

アーキテクチャはこんな感じ。
TD4の基本構造はそのままで、ロジックICで作っていたものを一つのモジュールにした。
f:id:m_keishi2006:20180103005744p:plain

で、実装したものがこちら。
ほぼ一発でラーメンタイマーが動き大成功。
DE0_CV_TD4_mkII.qar - Google ドライブ

次にやりたいのはデータのバス幅を4bitから8bitにしたいこと。 これは今回作ったやつでconstantで仕込んだので、うまくすればそんなに面倒でない。
→8bit化できた。TD4_ROM_PKG.vhdのcData_widthを書き換え、
 rom_dataの値を変えれば4bitと8bitの切替可能。
 ちょっと修正したものをgoogle driveに再upload

あとはALUの機能UP。 最低でも74181相当の機能は欲しい。

命令もなにかに合わせて作ってみたいけど、まずはTD4ベースで。。
ExcelででもVisualStudioででもコンパイラ作ろうかな。(命令決まらないとできないけど)