#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活

#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活

#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活です。たまにnegedge RESET。

Amebaでブログを始めよう!

どうも、こんにちは


2週間ぶり、2回目の更新です。


現在、組込み関係や、プログラムの勉強をしているんですよ。


はい。そうなのですよ。


それで


今は、ARMマイコンと、FPGAを使用して、ぬわんとVGAのモニターに、

*FPGA・・・ プログラム(ハードウェア記述言語)によって書き換え可能なLSI(集積回路)


ゲームを出力しちまおうと


そういう話になってます。


ARMマイコンは、ゲームの流れの制御。


FPGAは、マイコンからの命令でひたすらに画面に描画をする。


これがメインの動作。


そんなに複雑ではありません。


たーだ


色数やなんやの関係でSRAMを積まなあかんのですわ。


#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活-zu


で、


まずは、SRAMのコントローラと、VGAのコントローラをFPGA上でつくらないといけないんです。


えーっと

今のところ、FPGAでモニタに単色や四角なんかの図形を出すことができましたー


基本的にはカウンタが重要なんです。


簡単にいうと、640(横のピクセル VGA = 640 × 480なので)数えるカウンタ(計数器)と、


480(縦)数えるカウンタの2つを作ります。


それぞれ、横のカウンタを 水平カウンタ

       縦のカウンタを 垂直カウンタ

っていいます。



*カウンタ・・・数をただひたすら数える回路 

         FPGA関連の参考にどうぞ ↓  http://monoist.atmarkit.co.jp/mn/articles/0701/25/news136.html


で、そのカウンタは、1数えるごとに、現在のピクセルに色を書き込みます。


なので、 640数えるということは・・・・


水平カウンタは、1ピクセルずつ横一列に色をつけます。


同じように、垂直カウンタも一行ごとに、指定していきます。




#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活-zu2


つーまり、水平カウンタの桁上げで、垂直カウンタをうごかすんでーす。


こういうカウンタの仕組みについては、上記リンクを参考にどうぞ



FPGAなこんな感じ


説明がいい加減なので、気が向いたら詳しい説明にもチャレンジしたいです。




ほかに、C言語で、コンソール(DOS窓)に、ゲーム(インベーダゲーム)の試作なんかをしてるんですけど


それは、また次の機会があればと


ではでは