2019年 07月 17日
Petalinux と DMA を使うサンプル実装 その4
Zynq 上で Petalinux と DMA を使う サンプル実装 を作ってみました。
Linux 上のユーザプログラムから PL に作った行列乗算器を使って計算します。
行列乗算器の機能は疑似コードを書くとこんな感じ。
今回は 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