FC2カウンター FPGAの部屋 ZYBO_0_2 と ZYBO_1_XGA_test との接続テスト時の画像のバグのデバック2(アプリの変更)

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

FPGAの部屋

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

ZYBO_0_2 と ZYBO_1_XGA_test との接続テスト時の画像のバグのデバック2(アプリの変更)

ZYBO_0_2 と ZYBO_1_XGA_test との接続テスト時の画像のバグのデバック1(HDMI 出力の確認)”の続き。

前回は、ZYBO_0_2 から出力されるHDMI 出力はどうやら良さそうだ。ということが分かった。今回は、HDMI を受ける側のZYBO_1_XGA_test を変更して、バグが直るかどうかを確認する。

バグは今のところ2種類あって、左端の画像がおかしい現象と、ところどころ黒いドットが出ている現象がある。
黒いドットが出ているのは、FIFOのオーバーフロー、アンダーフローかもしれないので、取りあえず、AXI VDMAのFIFO 容量を増やしてみよう。最初のLine Buffer Depth は 512 だった。
HDMI_tran_bug_fix_3_160118.png

これを 1024 に変更した。
HDMI_tran_bug_fix_4_160118.png

これで、ビットストリームの生成まで行った。問題ない。
HDMI_tran_bug_fix_5_160119.png

これで、ハードウェアをエクスポートして、SDKを起動してテストしてみたところ、黒いドットは表示されている。

次に、左端の画像がおかしい現象はと言うと、どうやら、右の画像が回り込んでいるように見える。それならばということで、ビットマップ・ディスプレイ・コントローラのフレーム・バッファのベースアドレスに、0xc を足してみることにした。
HDMI_tran_bug_fix_6_160119.png

そうしたところ、左端のおかしい画像は無くなった。やはり余計なデータが意図せずに入ってしまったようだ。

黒いドットについては、Video In とAXI4-Stream IP のFIFO Depth を 1024 から 2048 に変更してみた。
HDMI_tran_bug_fix_8_160119.png

ビットストリームの生成まで行った。こちらも問題ない。
HDMI_tran_bug_fix_9_160119.png

これで、ハードウェアをエクスポートして、SDKを起動してテストしてみたところ、やはり黒いドットは表示されている。
これ以上は自分で作ったIP ではないので、仕方ないかもしれない。
左端のおかしい画像が無くなっただけでも、左右カメラのラプラシアンフィルタ画像の比較のためには良かったと思う。
  1. 2016年01月19日 05:26 |
  2. ZYBO
  3. | トラックバック:0
  4. | コメント:2

コメント

ここまでするとIPのバグ(という名の仕様)出しになるので難しいですね。
データ経路にダミーデータ(シーケンシャルや固定値)をかまして読み書きしたデータをみるくらいでしょうか。

単体でOKなのが組み合わせるとNGになるパターンとしては
1.書き込み/読み込みのタイミングが衝突した時の調停処理に問題
 IPのデータシート見てると、HighのままのTREADY信号が落ちたときの挙動ですかね。
 これだと、AXIストリーム側のバースト長を変えてみるとかすると変化があるかもしれません。
2.1枚のフレームバッファの同じ位置に書き込み/読み出しを同時にしたとき
 カメラとかでフレームごとに違う画を入れている場合、同じ画素に書き込み/読み出し同時に行った場合に画素抜けみたいなことがありました。
 新しい画と古い画の差分が特定の箇所で現れるのですが、この場合に書き込み/読み出しタイミングがずれていると流れるような画になります。
 フレームバッファ2枚用意して切り替えで判定可能ですがおおがかりになりそうです。
  1. 2016/01/20(水) 10:00:19 |
  2. URL |
  3. おる #-
  4. [ 編集 ]

おるさん、こんにちは。
いつもありがとうございます。

dvi2rgb の出力をビデオ信号として扱っていると問題なく表示されています。
http://marsee101.blog19.fc2.com/blog-entry-3248.html

問題なのはビデオ信号-AXI4-Stream変換IPとAXI VDMAなんじゃないかな?と思っています。
AXI4-Streamのバースト長は1水平ラインですので、変えるときには解像度を帰るということになって、ちょっと大掛かりになります。
  1. 2016/01/21(木) 04:48:52 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3371-53fb02a3
この記事にトラックバックする(FC2ブログユーザー)