やっと、JPEG Decoderが正常に動作した。
結局、アプリからFPGAのJPEG Decoderへデータ転送をする部分でCPUとFPGA側の動作周波数をケアしてなかったのでそこでJPEGデータがFPGAに正常に送信できなかったり、デコード後のRGBデータが途切れたり・・・
周波数変換のためにFIFOを入れて制御はしてたけど、適当に作ってたのでそこでひずみが出てた。
新規で作成したAXI DMAのマスターを含めたシステム全体のアーキテクチャに問題があるってことでした。
JPEG Decoder自体は5年以上、実績もあるしいまさらデバッグしなくても良いし・・・
まぁ、試作だしいいかな・・・(^-^;
そのうち、気が向いたら、ちゃんとシステムを組みなおそう。
今回はZynqにJPEG Decoderを組み込みたかっただけだし・・・
やってみてわかったことは、やっぱりアプリで同期を取ってDMAを駆動させるのは難しいなぁということ。
アプリの遅延はバカにならないわ。
今度は、ZedBoardのVGAに出力できるように、Xilinxの純正IPだけで出力モジュールを作成できないか模索中。
とりあえず、できそうな気配なんだけど、ZedBoardってRGBが4bitずつだもんなぁ。
どんな風にバスをわける表現をすれば良いかな?
そして、表示系がでたら、次はOpenCVのFillter2Dの設計に入ろう。
エッジ検出とかできるようになるさぁ。