FC2カウンター FPGAの部屋 2018年11月06日
FC2ブログ

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

FPGAの部屋

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

Ultra96用PMOD拡張ボードでカメラ入力3(DMA_Write_sFB IPの作成)

Ultra96用PMOD拡張ボードでカメラ入力2(mt9d111_inf_axis IP の作成2)”の続きだけど、”Ultra96実践勉強会で作ったVivado HLS 2018.2 のDMA Write IP”の続きでもある。

ソースコードは、”Ultra96実践勉強会で作ったVivado HLS 2018.2 のDMA Write IP”に貼ってある。ソースコードのバグフィックスができたので、DMA した画像は出てきたが、C/RTL 協調シミュレーションがエラーになってしまう。なお、バグフィックスのために参考にさせていただいたのは、”OpenCV の Mat のデータを直接いじる”だ。これで、Mat の書き換え方法がわかった。ありがとうございました。

Vivado HLS 2018.2 を使用したDMA_Write sFB プロジェクトを示す。
DMA_Write_sFB_1_181105.png

C シミュレーションを行った。
DMA_Write_sFB_3_181106.png

DMA されたFrame Buffer から生成したBMP ファイルに画像がコピーされているのが分かる。
DMA_Write_sFB_8_181106.png

なお、デバックの結果によると、cvMat2AXIvideo(src, src_axi); でMat フォーマットをAXI4-Stream にしたときのdata エレメントのバイト・アサインは、0x00RRGGBB になるようだ。上のバイト・レーンからRed, Green, Blue になっていた。

次に、C コードの合成を行った。
DMA_Write_sFB_4_181106.png
DMA_Write_sFB_5_181106.png

Estimated は 8.75 ns で問題ない。Latency は min 480011 クロックで、max が 1440031 クロックだった。これは、800 x 600 ピクセルの 1 画面の 480000 ピクセルから、3 画面の 1440000 ピクセルまでということだ。11 クロックほど追加されているだけなので、問題ない。

C/RTL 協調シミュレーションをしてみたが、エラーで終了してしまった。原因は良くわからない?
DMA_Write_sFB_6_181106.png

Export RTL を行ってIP 化した。
DMA_Write_sFB_7_181106.png

問題なさそう。
DMA_Write_sFB_9_181106.png
  1. 2018年11月06日 04:45 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0