カーネルが設計されて、Vivado IDE のサンプルの IP プロジェクトでテストされたら、最後に RTL カーネル オブジェクト ファイル (.xo) を生成して、Vitis コンパイラで使用されるようにします。
Generate RTL Kernel コマンドをクリックします。[Generate RTL Kernel] ダイアログ ボックスに 3 つのパッケージ オプションが表示されます。
から- ソースのみのカーネル パッケージを選択すると、RTL デザイン ソースを直接使用してカーネルがパッケージされます。
- 合成済みのカーネル パッケージを選択すると、RTL デザイン ソースと合成済みのキャッシュされた出力を含めてカーネルがパッケージされます。合成済みのキャッシュされた出力を使用すると、フローの後の方で再合成する必要はありません。ターゲット プラットフォームを変更すると、パッケージされたカーネルで合成済みのキャッシュされた出力が使用されなくなり、RTL デザイン ソースだけが使用されるようになります。
- ネットリスト (デザイン チェックポイント (DCP)) ベースのカーネル パッケージを選択すると、カーネルの合成済み出力により生成されたネットリストを使用して、カーネルがブラック ボックスとしてパッケージされます。必要であれば、この出力は暗号化可能です。ターゲットのプラットフォームを変更した場合、カーネルが新しいデバイスにターゲットを変更できなくなる可能性があるので、ソースから生成し直す必要があります。デザインにブロック デザインが含まれている場合は、ネットリスト (DCP) ベースのカーネル パッケージ オプションのみが選択可能です。
また、すべてのカーネル パッケージング タイプで、ソフトウェア エミュレーションで使用可能なソフトウェア モデルを使用してパッケージするオプションもあります。ソフトウェア モデルに複数のファイルが含まれている場合は、ソース ファイル リストのファイル名をスペースで区切るか、GUI を使用して、CTRL キーを押しながら複数のファイルを選択します。
OK をクリックすると、カーネル出力ファイルが生成されます。あらかじめ合成済みのカーネルまたはネットリストのカーネル オプションを選択している場合は、合成を実行できます。合成が前に実行されている場合は、古くてもそのときの出力が使用されます。カーネル ザイリンクス オブジェクト (.xo) ファイルは、Vivado カーネル プロジェクトの exports ディレクトリに生成されます。
この時点で、Vivado カーネル プロジェクトを閉じることができます。Vivado カーネル プロジェクトを Vitis IDE から起動した場合、host_example.cpp という名前のサンプル ホスト コードおよびカーネル ザイリンクス オブジェクト (.xo) ファイルが自動的に Vitis IDE のアプリケーション プロジェクトの ./src フォルダーにインポートされます。