複数 DDR バンクの使用 - 2020.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese

Vitis テクノロジでサポートされるアクセラレーション カードには、最大 80 GB/s の生 DDR 帯域幅の 1、2、または 4 つの DDR バンクが含まれます。FPGA と DDR の間で大量のデータを移動するカーネルの場合、ザイリンクスでは Vitis コンパイラおよびランタイム ライブラリで複数の DDR バンクを使用するように指示することをお勧めします。

ホスト アプリケーションは、DDR バンクだけでなく、カーネルに直接データを転送する PLRAM にアクセスできます。この機能をイネーブルにするには、コンフィギュレーション ファイルに connnectivity.sp オプションを含め、v++ --config でそのコンフィギュレーション ファイルを指定します。この最適化の使用法の詳細は カーネル ポートのメモリへのマップ、グローバル メモリ バンクへのデータ転送に関する詳細は メモリマップド インターフェイス を参照してください。

複数の DDR バンクの利点を活かすには、ホスト コードで CL メモリ バッファーを異なるバンクに割り当て、xclbin ファイルを v++ コマンド ラインでのバンク割り当てと同じになるように設定する必要があります。

次の図に、GitHub の Vitis Examples からの Global Memory Two Banks (C) 例のブロック図を示します。この例では、カーネルの入力ポインター インターフェイスを DDR バンク 0 に、出力ポインター インターフェイスを DDR バンク 1 に接続しています。

図 1. グローバル メモリの 2 つのバンクの例