ZynqBerryボードでHDMI出力
HDMI出力のテスト
リファレンスデザインのページには hdmi_fb というデザインもあります。
これはHDMIを出力するリファレンスデザインとなっています。
TE0726-hdmi_fb-vivado_2015.4-build_32_2016xxxxxxxx.zip の方のzipファイルを解凍したフォルダは、Hello Worldのリファレンスデザインと同様で以下の構造です。
prebuilt\boot_images\TE0726-02M\display_test\フォルダにBOOT.binがあるので、
Hello Worldのときと同様にすぐにHDMI出力を試すことができます。
design_basic_settings.cmd の @set SWAPP=NA は @set SWAPP=display_test と変更します。
編集を行った後、 program_flash_binfile.cmd を実行すればOKです。
HDMIケーブルでディスプレイと接続するとサンプルの画像が出力されます。
デザインの内容
vivado_create_project_guimode.cmd を実行してプロジェクトをVivadoで開いてみると、
デザインの中身を確認することができます。
Flow Navigator -> IP Integrator -> Open Block Design からブロックダイアグラムを見ると
以下の図のようになっています。
このデザインはVideo DMAを使ってHPポートからDRAMの内容を読み出してきて、それをフレームバッファに入れて、HDMIに変換して出力しているようですが、ほとんどは既存のIPを組み合わせて作られていて、HDLで書いた部分はごくわずかです。そのHDLの元になる僅かなソースはip_libフォルダに入っています。
ソフトウェアの元はsw_libに入っているのですが、基本的にはVDMAを起動する程度のことしかしていません。