Vitis コア開発キットでは、ターゲット デバイスに やPCIe バスを介した x86 ホストや AXI4 インターフェイスを介した Arm プロセッサなどのプロセッサに接続されたザイリンクス MPSoC または
UltraScale+™
FPGA を含めることができます。FPGA には、ハードウェア カーネルをコンパイル済みザイリンクス オブジェクト (.xo
) ファイルとしてカプセル化するデバイス バイナリ (.xclbin
) ファイルをインプリメントおよび実行するプログラマブル領域が含まれています。
FPGA プラットフォームには、1 つまたは複数のグローバル メモリ バンクが含まれます。CPU とカーネルの間のデータ転送は、これらのグローバル メモリ バンクを介して実行されます。FPGA で実行されるカーネルには、1 つまたは複数のメモリ インターフェイス (m_axi
) を含めることができます。グローバル メモリ バンクからこれらのメモリ インターフェイスへの接続は設定可能で、Vitis リンク オプションを使用して定義されます (カーネルのリンク を参照)。カーネルは、ストリーミング インターフェイス (axis
) を使用すると、あるカーネルから次のカーネルに直接データをストリーミングすることもできます。ストリーミング接続は、v++
リンク オプションによっても管理されます。
ザイリンクス デバイス バイナリ (.xclbin) の PL 領域には複数のカーネル (.xo) をインプリメントできるので、アプリケーションをかなりアクセラレーションできます。1 つのカーネルを複数回インスタンシエートすることもできます。カーネルのインスタンス数はプログラム可能で、FPGA バイナリを構築する際に指定したリンク オプションで決定できます。これらのオプションの詳細は、カーネルのリンク を参照してください。