図形描画

これまでに作成したVGA表示回路で図形を描画できるようにしました.
NIOS IIでVRAMにアクセスして図形を描画しています.

図形の描画アルゴリズムはこちらのサイトを参考にしました.
アルゴリズムの紹介

まだ直線と画像の描画しか実装していないのですがとりあえず実行中の画像です.
f:id:taltalp:20150721024534j:plain
文字(画像)の描画と直線の描画


また今回は、DE0の起動毎にハードウェアの情報を書き込んで、ソフトを書き込むという作業が面倒だったため、下記の本の第9章を参考にブートコピアを実装しました.

ハードウェアの情報はEPCS4に、ソフトウェアはFlashに入れるため不揮発性になりCycloneIII内のメモリー使用量を減らすことができました.空いた分をVRAMにまわせそうです.

しかし、CPUの処理が重くなり描画に時間がかかるようになってしまいました.
今は静止画のみの描画なので速度が遅くても困りませんが、そのうちより複雑な計算が必要になってきたらソフトウェアでは厳しそうです.

また、VRAMもDE0に載っているCycloneIII内のメモリービット数では640×480ピクセル分のデータを保持することができないため, SDRAM上にVRAMの領域を取るなど改良が必要そうです.

これらの改良はまた後々にやってみようと思います.