FC2カウンター FPGAの部屋 Vitis 2019.2 アプリケーション・プロジェクトでラプラシアン・フィルタAXI4-Streamバージョンのカーネルを複数インスタンス
FC2ブログ

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

FPGAの部屋

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

Vitis 2019.2 アプリケーション・プロジェクトでラプラシアン・フィルタAXI4-Streamバージョンのカーネルを複数インスタンス

今回は、Vitis 2019.2 アプリケーション・プロジェクトでラプラシアン・フィルタAXI4-Streamバージョンのカーネルを複数インスタンスしてみよう。

Vitis 統合ソフトウェア プラットフォームの資料 アプリケーション アクセラレーション開発 UG1393 (v2019.2) 2019 年 11 月 11 日”の”第 55 章 アドバンス トピック: 複数の計算ユニットおよびカーネルのストリーミング”の”複数の計算ユニット”によると、

Vitis 環境では、v++ コマンドで --nk オプションを使用してカーネル (計算ユニット) のインスタンス数を指定します。--nk オプションは、xlcbin ファイルにインスタンシエートするカーネルの数と名前マップを指定します。

ということなので、やってみよう。

Vitis 2019.2 の streaming_lap_filter4 プロジェクトを作成した。(もうすでにビルドしてあるが)
streaming_lap_filter_92_200219.png

Assistant ウインドウの streaming_lap_filter4_system -> streaming_lap_filter4 を右クリックして右クリックメニューから Settings... を選択する。

Project Settings ダイアログが表示される。
V++ linker options: に

--config ../src/krnl_stream_dmar_lap_dmaw.ini

を入力した。
streaming_lap_filter_93_200219.png

krnl_stream_dmar_lap_dmaw.ini の内容を示す。

[connectivity]
nk=dma_read:1:dma_read_2
nk=krnl_lap_filter_dmaw:1:krnl_lap_filter_dmaw_2

stream_connect=dma_read_2.outs:krnl_lap_filter_dmaw_2.ins
stream_connect=dma_read_1.outs:krnl_lap_filter_dmaw_1.ins


これで Hardware をビルドした。

Vivado のブロックデザインを見てみよう。
streaming_lap_filter_94_200219.png

dma_read_1, dma_read_2, krnl_lap_filter_dmaw_1, krnl_lap_filter_dmaw_2 が実装されているのが分かる。2 組のストリーミング接続のカーネルが実装された。

アドレス・エディタの画面を示す。
streaming_lap_filter_95_200219.png

ホスト・プログラムも作ったが、まだうまく動いていない。とりあえず、他に書きたい内容が目白押しなので、後でデバックしようと思う。

(追記)
Vitis_Accel_Examples/host/mult_compute_units/ が複数の計算ユニットを使った簡単な例だそうだ。ホスト・プログラムを作る際には、Vitis_Accel_Examples/host/mult_compute_units/ を参考にしよう。
  1. 2020年02月19日 04:07 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4798-f0681b5b
この記事にトラックバックする(FC2ブログユーザー)