人気ブログランキング | 話題のタグを見る

雑多な趣味の記録帳

tom01h.exblog.jp

Petalinux と DMA を使うサンプル実装 その4

Zynq 上で Petalinux と DMA を使う サンプル実装 を作ってみました。
Linux 上のユーザプログラムから PL に作った行列乗算器を使って計算します。
行列乗算器の機能は疑似コードを書くとこんな感じ。
Petalinux と DMA を使うサンプル実装 その4_f0054075_22034385.png
今回は Verulator と SystemC を使った協調検証環境もどきで RTL シミュレーションができます。
FPGA では ”in_buf へ DMA 転送”→”行列乗算”→”out_buf から DMA 転送” を繰り返し実行して CPU の計算結果と比較検証します。
DMA 転送方法は”その3”の時と同じですが、送受信ともに設定した後に out_buf からの受信が終わるのを待ちます。
今回の実装は、疑似コードでいうと k のループ内はパイプライン動作しますが、データ転送部分や、sum から out_buf への転送と演算はパイプライン動作していません。

by tom01h | 2019-07-17 22:21