XILINX FOUNDATION ISE 3.3i を用いたVGA出力のテスト


Digilab XLA5 や、UP-1ボードには VGA の出力コネクタが付いています。
LEDや8セグメントLEDに出力を表示するのもいいですが、本格的な回路のデバッグを考えたとき、
VGAへの文字出力は威力を発揮しそうです。
ここでは、Digilab XLA5 を使って VGA に単純な長方形を表示する回路の記述例を示します。

vga_test.v

上が Standard VGA に3つの四角を表示するための Verilog-HDL のソースです。
James O. Hamblen and Michael D. Furman, RAPID PROTOTYPING OF DIGITAL SYSTEMS
という本を参考にして記述しました。
ソース中の Test はコンフィギュレーションが成功したときにHIGHに
なるように設定した出力信号で、LEDに接続します。
結構高い確率で(50%位?)FPGAのコンフィギュレーションが失敗するので、確認のために追加しました。
VGA出力とは関係ありません。

#### UCF file created by Project Navigator
NET "clk" LOC = "p13";
NET "res" LOC = "p59";
NET "R" LOC = "p77";
NET "G" LOC = "p78";
NET "B" LOC = "p79";
NET "HS" LOC = "p81";
NET "VS" LOC = "p80";
NET "Test" LOC = "p69";

上が vga_test.ucf の内容です。ピン配置には注意する必要があります。 Digilent, Inc. からダウンロード
できる Digilab XL Users Mannual には記述ミスがあるからです。
マニュアルにはピン番号80がHS(水平同期信号), ピン番号81番がVS(垂直同期信号)とありますが、
実際にはこれらの番号は逆です。(だと思います。少なくとも逆にしないと動きません。)
回路が動かなかった時に、原因がこのようなマニュアルの記述ミスだということに気づくまでには
長い時間がかかりました。
やはり、動いているハードウェアの信号の内容を確認しながら設計を進める必要があるようです。

ディスプレイにつないだところです。画面上に、赤、緑、青の3つの長方形が表示されているのがわかります。
画面は黒色を含めて4色ですが、3ビットで最大8色を表示できます。

A という文字を敷き詰めてみました。本当はアルファベットすべてを表示したかったのですが、それほどのメモリが取れそうもないので、
A だけの表示になってしまいました。(こちらのコードは掲載していません。)