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