FC2カウンター FPGAの部屋 2014年03月21日
FC2ブログ

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

FPGAの部屋

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

ZYBO用キャラクタ・ディスプレイ・コントローラ2(VGAポート専用)

ZYBO用キャラクタ・ディスプレイ・コントローラ1(VGAポート専用)”の続き。

前回は、SVGA解像度で、うまくキャラクタをディスプレイに表示することができた。今回は残りのVGA, XGA, SXGA, HD解像度でキャラクタをディスプレイに表示した。

まずは、VGA解像度からやってみよう。やり方を下に示す。

1.XPSプロジェクトで cdc_vga_axi_slave_0 をダブルクリックして立ちあげ、XPS Core Config ダイアログを表示させる。
ZYBO_CDC_AXI_slave_36_140320.png

2.XPS Core Config ダイアログで、Userタブの Video を展開して、RESOLUTION で VGAを選択する。
ZYBO_CDC_AXI_slave_27_140319.png

3.XPSプロジェクトで clk_generator_0 をダブルクリックして立ちあげ、XPS Core Config ダイアログを表示させる。
ZYBO_CDC_AXI_slave_37_140320.png

4.XPS Core Config ダイアログで、Userタブの CLKOUT0 を展開して、Required Frequency (Hz) に 25000000 と入力する(25MHz)
ZYBO_CDC_AXI_slave_28_140319.png

なお、SVGAは40MHz、XGAは65MHz、SXGAは108MHz、HDは後に述べる理由から148MHzに設定する。

5.これで設定は終了した。Project Navigator に戻って、論理合成、インプリメント、ビットストリームの生成まで行う。下の図は終了したところだ。
ZYBO_CDC_AXI_slave_38_140321.png

次は、ハードウェアのエクスポートを行ってSDKを立ち上げる。
6.Hierarchyウインドウから system_i を選択して、Processesウインドウから Export Hardware Design To SDK wit Bitstream をダブルクリックする。(下の図はもうすでにエクスポートを終えたところだ)
ZYBO_CDC_AXI_slave_39_140321.png

7.しばらくして、SDKが立ち上がり、ワークスペースを聞いてくるので、自分のワークスペースを選択する。多くは、system/SDK/SDK_Export ファルダを指定する。

8.SDKが立ち上がる。
ZYBO_CDC_AXI_slave_35_140320.png

9.上の図のように、cdc_test.c を編集して、現在、XPSプロジェクトで指定した解像度の HORIZONTAL_PIXELS と VERTICAL_LINES のコメントを外して、その他の解像度はコメントアウトする。

10.セーブすると自動的にビルドしてくれると思う。

11.ZYBOのUSBケーブルとVGAケーブルをパソコンに接続して、ZYBOの電源をONする。

12.SDKで Xilinx Tools -> Program FPGA を選択して、FPGAにビットストリームをダウンロードする。(Program ボタンをクリックする)
ZYBO_CDC_AXI_slave_40_140321.png

13.SDKで Run -> Run Configurations... を選択する。

14.ダイアログでRunボタンをクリックする。
ZYBO_CDC_AXI_slave_41_140321.png

これで、ディスプレイをD-SUB入力モードに変更すると、色とりどりのキャラクタが見えるはずだ。
ZYBO_CDC_AXI_slave_31_140319.jpg

下に同様に設定した XGA, SXGA の画像を示す。
最初にXGAの画像だ。
ZYBO_CDC_AXI_slave_42_140321.jpg

SXGAの画像だ。
ZYBO_CDC_AXI_slave_43_140321.jpg

HDの画像を表示するときに、正常な動作周波数の148.5MHzではエラーが出てしまった。
ZYBO_CDC_AXI_slave_32_140320.png

ZYBO_CDC_AXI_slave_33_140320.png

100MHzの入力周波数で、148.5MHzは出力できないようだ。そこで、ピクセルの周波数を148MHzとし、フロントポーチやバックポーチを調整して60Hzのフレームレートとすることにした。
ZYBO_CDC_AXI_slave_34_140320.png

これで問題なく、HD解像度で表示された。
ZYBO_CDC_AXI_slave_44_140321.jpg
  1. 2014年03月21日 05:36 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:0