FC2カウンター FPGAの部屋 ビットマップVGAコントローラのデバック1
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ビットマップVGAコントローラのデバック1

ビットマップVGAコントローラをデバックしている。大体動作してきたと思う。
下にシミュレーション波形を示す。
Bitmap_VGAC_debug_1_100209.png

vram_addressが読んでくるVRAM(DDR2 SDRAM)のアドレスを示す。読んでくる時にカウントアップされている。vram_req_weはアービタへのVRAMのリクエストを書き込む信号。リクエストしたVRAMアドレスのデータがvram_data_inにでてきて、その有効はvram_data_validによって示される。
cs_rdgステートマシがビットマップVGAコントローラの描画データの読み込み状態を示す。最初にidle_rdgになっているが、リセットが外れたら、init_full_modeになって、描画データを貯めておくpixel_async_fifoをFULL状態になるまで、アービタにリクエストを出す。リクエストがDDR2 SDRAMコントローラに届いて、VRAMにある描画データを読み込みpixel_async_fifoがFULLになったら、cs_rdgステートマシンはwait_half_full状態に移行し、pixel_async_fifoが描画データを吐き出して、半分になるのを待つ。半分になったら、cs_rdgステートマシはreq_vram_burstステートに移行し、pixel_async_fifoの容量半分をアービタにリクエストをだして、描画データを読んでくる。
最初に、pixel_async_fifoがFULLになってから、描画もスタートする。これは、cs_rdgステートマシがinit_full_modeからwait_half_full状態に移行したときにh_countのカウントが始まることでわかると思う。今のところ、動作的にはうまく行っているようだ。ちなみにDDR2 SDRAMから読んでくるデータはまだ、書き込んでいないのでXとなってしまっている。
pixel_async_fifoがFULLから半分になるのが2.672usec、req_vram_burstステートに移行して描画データを読んでから、もう一度req_vram_burstステートに移行するまでの時間は1.541usecだった。最初は描画が止まっているので、長い時間になっている。req_vram_burstステートでは、ちょうどpixel_async_fifoの容量の半分のデータをアービタにリクエストしているが、もう少し増やそうと思う。
  1. 2010年02月09日 05:44 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/1376-d9c4d2ff
この記事にトラックバックする(FC2ブログユーザー)