ソフトウェアで制御可能なカーネルは、プログラマブル レジスタ インターフェイスをオープンにして、ホスト ソフトウェア アプリケーションがレジスタの読み出しと書き込みを介してカーネルと対話できるようにします。これらは最も一般的で広く適用される PL カーネルのタイプです。ソフトウェア制御可能なカーネルには、ユーザー管理と XRT 管理の 2 種類があります。
注記: XRT 管理のカーネルは、特殊な形式のユーザー管理のカーネルです。
ユーザー管理のカーネルと XRT 管理のカーネルの主な違いは、カーネル実行モードに関連しています。XRT は HLS コンパイラで生成される ap_ctrl_chain
および ap_ctrl_hs
実行プロトコルに依存するため、C++ を使用した PL カーネルの開発 で説明されるように、XRT 管理のカーネルは C++ 開発者により適しています。また、ユーザー管理のカーネルは、既存の Vivado RTL IP のように多くの異なるユーザー定義の実行プロトコルをサポートできるので、RTL カーネルのパッケージ で説明するように、RTL 設計者向きです。
Vitis 開発フローは、XRT ネイティブ C/C++ API を使用して PL カーネルと一緒に使用できるように記述されたソフトウェア アプリケーションをサポートします。この API は、ユーザー管理のカーネルと XRT 管理のカーネルの両方をサポートし、実行モード で説明するような高度なデザインもサポートします。次のセクションでは、XRT 管理のカーネルまたはユーザー管理のカーネルに必要なプログラミング API とさまざまなハードウェア インターフェイスについて簡単に説明します。
XRT 管理のカーネル | ユーザー管理のカーネル |
---|---|
|
|