見出し画像

NATUを作る(パート37)

HARUは失敗に終わってしまった。
だが、その悔しさをバネに、新たにNATUを作ることになった。

今回は、CPUとGPUを接続していきたいと思います。


制作

レジスタからの読み出し

今設置したこの赤い回路が、GPUの命令を読み出したときに、レジスタの情報を読み出してくれます。

一回目が画像データの情報で、二回目が座標の情報です。

読み出しは、ちゃんと2rt以内に収めることで、他スレッドの邪魔をしないようにしています。

レジスタの情報を読み出す回路

そして、読み出した情報をGPU・GRED II(ver.3)へ送ることで、GRED II(ver.3)が処理を行えるようになります。

配線、頑張らないと、、

GRED II(ver.2)の接続

CPUとGPUを接続する前に、GPU内の配線を繋げた方がいい気がしてきたので、先にこっちの配線をします。

でも、遅延調整はまだしなくて、配線のだけ先に通して、CPUとGPUの配線をどこに通すか決める感じです。

とりあえず、VROMのデータを描画回路に送る配線だけ通したいと思います。

上の薄灰色の回路がVROM、下の白の回路が描画回路


なんと!?!?

リピーターが2rtになっているところがあるではありませんか、、

なぜか2rtになっているリピーター

他にもこうなっているところがあったので、1rtに修正しておきました。

あと、0番地は封印しました。
常に0番地の情報を読み出されてしまうと、かなり厄介なので、、、


配線が完了しました!

配線

あ、配線がまだ改良できそうなので、改良してきます。


改良しました。

これで、遅延が大幅に減ったはずです。

改良後の配線

それでは、CPUとGPUを接続していきたいと思います。

CPUとGPUの接続

一番最初の赤の回路に、見落としがあったので、修正しました。

修正後

プログラム的には、14番地で画像の指定、15番地の下位4bitでX座標指定、15番地の上位4bitでY座標指定

といった感じになりそうです。





よし!
無事、座標とかを送る配線を繋げるのが終わりました!

ガラスの配線(どの回路にも所属?していないから、色のないノーマルガラス)

それでは、制御関係の配線を繋げていきたいと思います。


制御関係の配線も繋ぎました!

制御用の配線もガラス

テストしてみましたが、GPUに情報を送ることが出来ました!

それでは、次は、、、sushi memory architectureのクロックを作っていきたいと思います。
クロック回路で、疑似的にアドレスをループさせているので、周期の異なるクロック回路が必要です。


周期の異なる八つのクロックが完成しました!

クロック回路×8

これで、疑似的にアドレスをループさせられるはずです。

実際に動かしてみましたが、目で見た感じ、問題はなさそうでした。

それじゃぁ、とりあえず今回はこんな感じで終わりにしたいと思います。

結構進んだと思います!

CPUとGPUがつながったのだけでも、十分大きな進歩だと思っています!

それでは、次回は、GPUの配線と動作テストをしていきたいと思います。

今回は、約1時間20分の作業でした。
お疲れさまでした。

それじゃあ、次回、また会いましょう

いいなと思ったら応援しよう!