FC2カウンター FPGAの部屋 Vivado HLS のソースコードをSDx で試す4(AXI4-Stream向きのコード)

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

FPGAの部屋

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

Vivado HLS のソースコードをSDx で試す4(AXI4-Stream向きのコード)

Vivado HLS のソースコードをSDx で試す3(AXI4-Stream向きのコード)”の続き。

前回は、Vivado HLS で使用していたAXI4-Stream のソースコードをSDSoC 用のサイドチャネル付きAXI4-Stream に対応するソースコードにうまく変換できなかったため、配列渡しとして書き換えた上でAXI4-Stream として実装するプラグマを与えたら、理論上の限界値に近い実行性能が出た。今回は、同じソースコードで、SDSoCのプラグマを変更して実行性能を見ていこう。最初にSDS data zero_copy を与えてみた。

lap_filter4.c にSDS data zero_copy を追加した。
SDx_v2016_3_134_170111.png

Relesase でビルドを行った。
成功したので、Vivado のレポートを見た。
SDx_v2016_3_135_170111.png

前回よりもリソース使用量が少ない。前回のレポートを示す。
SDx_v2016_3_127_170111.png

ブロックデザインを示す。
SDx_v2016_3_136_170111.png

lap_filter_axim はAXI4 Master となった。シンプルな構成になっている。

Vivado HLS のSynthesis Report を示す。
SDx_v2016_3_137_170111.png

次に、実際にZYBO で確かめてみよう。
workspace\lap_filter2\SDRelease\sd_card の内容をMicro SD カードにコピーした。
ZYBO に挿入して電源ONした。
Linux が立ち上がった。
cd /mnt./lap_filter4.elf を実行した。
SDx_v2016_3_138_170111.png

ソフトウェアの実行時間の下5回の平均は、約 47.7 ms だった。
ハードウエアの実行時間の下5回の平均は、約 6.04 ms だった。
ハードウェアの実行時間/ソフトウェアの実行時間 ≒ 0.127倍、つまり、ハードウェアの性能はソフトウェアの約 7.90 倍ということになった。前回の約 8.61 倍ほどではないが、リソース使用量が少ないのに、相当な高性能だ。
こうなると、Vivado HLS で生成したAXI4 Master の回路はDMAのRead とWrite が重なり合っているとしか考えられないのだが、本当だろうか?一度、このコードのままVivado HLS 2016.3 でコードを合成してみよう。
  1. 2017年01月12日 05:33 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3691-80b9dbab
この記事にトラックバックする(FC2ブログユーザー)