FC2カウンター FPGAの部屋 2019年02月07日
FC2ブログ

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

FPGAの部屋

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

Zynq UltraScale+ MPSoC のDisplayPort のLiveVideo のピクセルデータ

どうやらZynq UltraScale+ MPSoC のDisplayPort のLiveVideo のピクセルデータの色のビットフィールドが間違っていたようだ。

その証拠に、テスト・パターン生成回路 pattern_gen_axis が生成していたテスト・パターンは下図のような画像なのだが、
HLS_Disp_Cont_22_150607.jpg

Ultra96のDisplayPortを使用するためのプロジェクトを作成する5(HD解像度のテストパターン)”で表示されたテスト・パターンはこれだった。
DisplayPort_test_121_19027.jpg

どうもテスト・パターンが表示されたことで安心してしまい、色が違っていることに気が付かなかった。
これを比べると、Red がBlue にGreen がRed に、そして、Blue がGreen に変更されている。つまり、LiveVideo のビット・フィールドはRGB ではなくBRG となっているようだ。

Zynq UltraScale+ Device Technical Reference Manual UG1085 (v1.9) January 17, 2019”の931 ページの Table 33-3: Live Video Format を引用する。
cam_displayport_43_190207.png

これによると、ビット・フィールドはRGB のはずなのだが。。。実際はBRG のようだ。

従って、axis2video_out IP のVerilog HDL コードを修正する必要がある。具体的には、

assign disp_pixel = {pfifo_dout[23:16], 4'd0, pfifo_dout[15:8], 4'd0, pfifo_dout[7:0], 4'd0};

assign disp_pixel = {pfifo_dout[7:0], 4'd0, pfifo_dout[23:16], 4'd0, pfifo_dout[15:8], 4'd0}; //BRG

に修正する。
  1. 2019年02月07日 05:14 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0