ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

VivadoでAXI DMAって正常に動作するんだろうか?

JEPG DecoderでAXI DMAを使いたいのでVivadoで構成したんだが、JPEG Decoderにデータが転送されてこない不具合が発生した。

JPEG Decoderは自作で、JPEG Decoder自体はすでに実績のあるもの、これにAXI Streamの入出力を追加して、AXI DMAと接続した。

もしかしたら、自作のAXI Streamモジュールが悪いのかなと思ったんだけど・・・

正確に言うと、AXI DMAからAXI Streame FIFOを通じて、JPEG Decoderに接続している。

まず、JPEG Decoder周辺を疑って、あれこれしたがどうもここじゃないらしい。

そこでJPEG Decoderを外して、AXI DMA⇒AXI Stream FIFO⇒AXI DMAの構成で確認したら、データが転送されてこない。

DMA自体の動作は問題ない。

データだけがやってこないのだ。

次に、AXI Stream FIFOを外してみた。

それでもデータ転送がされない。

ここまではJPEG Decoderから順番に外していったプロジェクトを使っていた。

次にプロジェクト自体も新しく作り上げて、至ってシンプルなAXI DMAでループバックするモジュールで構成した。

やはり、データが転送されてこない。

問題はデータが転送されてこないことなんです。

DMAの制御自体は問題なく動作している。

Linux部分のドライバもいろいろ疑ったので、ドライバやアプリもいろいろいぢったけど、やはりVivadoでAXI DMAでデータが転送されないようだ。

ほぼ、決定的かも・・・

何かの設定があるのか?

う〜ん、わからないなぁ。

JPEG Decoderのために別の方法を考えないと・・・