2010/01/07(木)賀●正 Verilog+CPLDでVESA VGA

あけましておめでとうございます。
今年は去年よりもマシな記事を書けるよう、技術的にもセンス的にも精進したいところ。

その昔(?)トランジスタ技術(2006年5月号)にALTERA CPLD MAXII付録基板がありまして、それ依頼マイコンのアセンブラやC言語以外にもハードウェア記述言語であるVerilog-HDLという言語も少しずつ勉強してました。


ネットで調べたり、↓の本を買ってみたり、とにかくいじってみたり
わかるVerilog HDL入門
そんなことをしてたのですが、やはり我流だと「定石」のようなものが全く掴めず年単位で足踏みしていました。そんな時にちょうど某町工場な市で組込み無料セミナー@Xilinx Spartanに参加できまして色々と「流れ」をつかむことができました。ちなみにセミナーは全10回で現在進行形です。

現状で、Velirogで(FPGA/CPLD設計)一番大事だと痛感しているのは「シミュレーションをがっちりする」ことです。(どこでも言われてますが)マイコンのときは結構デバッガなしでカット&トライのように書き込んでは実験を繰り返しす力技もできました。しかし、Verilogの場合そんなことをしていては膨大な時間と無駄な労力が発生します。というかセミナー参加までずっとそれで足踏みでした。

そんなこんなで2年越し(?)で漸くできたのが、一番最初に目標としていたVGAコントローラの「一部」です。
自己流VESA VGA適合のH-SYNC,V-SYNC発生回路です。
VESA_VGA01.png
VESA_VGA02.png

VESA VGA 640*480@60Hz (25MHz駆動)での仕様にぴったりです。
この辺はマイコンとはまた違う気持ち良さを体感できます。(笑)
ADDRはSRAMアクセス用出力レジスタ、描画期間(X=0~639、Y=0~479)の時だけインクリメントされます。
DISPは描画期間の時にHighになります。

次はSRAMアクセス部分を作り、そしてマイコンとのI/F部分を作り・・・。
これからがスタートといったところでしょうか・・・。