ブロックデザインの確認
Zybo-hdmi-outデザインと現在作成中のデザインで、だいたい同じハードウェアデザインになっているようなのは見たのですが、ちゃんと確認してみます。特にVivadoのバージョンが違うので、それによる違いがあるかもしれません。
まず、Zybo-hdmi-outデザインのHDMI関連部分。
- TMDS、HDMI_OEN、HDMI_HPD、HDMI_DDCポートが外に出ています。
- HDMI_DDCポートはPS部のIIC_1ポートに接続されています。
- いくつかのIPがPS部のM_AXI_GO0下にで接続されています(緑の線)。ここから各IPの動作制御を行います。
- PS部のS_AXI_HP0ポートからTMDSポートまで、いくつかのIPを経由して接続されています(ピンクの線)。これはPS部接続のDDRからデータを読み出すパスです。
作成中デザイン(Vivado 2017.4)では、こんな感じ。(わかりやすいように配置をいじっています。)
各IPの詳細を見てみると、設定が違う部分がありました。
まず、AXI Video Direct Memory Accessについて。
↑ Zybo-hdmi-out (Vivado2016.4)
↑ 作成中デザイン (Vivado2017.4)
Zybo-hdmi-outでは、"Stream Data Width"が32になっていますが、作成中デザインでは24になっています。
また、"Frame Buffers"も違いがあります。
これに対応して、次のAXI4-Stream Subset Converterでも違いが。
↑ Zybo-hdmi-out (Vivado2016.4)
↑ 作成中デザイン (Vivado2017.4)
"Slave Interface"側の"TDATA Width(Bytes)"が、Zybo-hdmi-outでは3、作成中デザインでは4になっています。また、"TDATA Remap String"の部分も違っています。
"Enable TLAST"の設定も、"Auto"か"Manual"かの違いはあります。あまり関係ないとは思いますが、一応そろえておきます。
作成中デザインの設定をZYbo-hdmi-outに合わせたうえで、Vivadoで再度ビットストリームの生成、ハードウェアのエクスポートを行います。
いざ実機 ...
Xilinx SDKを立ち上げ、"Program FPGA"およびdisplay_demo プロジェクトのデバッグ実行を行いましたが、状況は変わらず。(テストパターン表示されず)