システムのビルド

システムをビルドする際は、ビルド ターゲット に示すように 3 つのビルド ターゲットを使用するのがベスト プラクティスです。ビルド ターゲットは、それぞれ [Assisitant] ビューの別々のコンフィギュレーションに表示されます。これらのビルド コンフィギュレーションは、次の順に使用します。

Emulation-SW
ソフトウェア エミュレーション用のビルド (sw_emu) では、一緒に動作するホスト プログラムとカーネル コードの両方のアルゴリズム機能を確認します。
Emulation-HW
ハードウェア エミュレーション用のビルド (hw_emu) では、カーネルをハードウェア記述言語 (HDL) にコンパイルして、生成されたロジックが正しいかどうか確認し、シミュレーションされたパフォーマンスを評価します。
System
システム ハードウェア ビルド (hw) を実行して、ターゲット プラットフォームで実行されるアプリケーションをインプリメントします。

ビルド コマンドを起動する前に、ニーズを満たすようにこれらの各ビルド コンフィギュレーションを設定してください。特定のビルド コンフィギュレーションを選択して Settings アイコンをクリックし、[Build Configuration Settings] ダイアログ ボックスを開きます。このダイアログ ボックスの使用に関する詳細は、Vitis ビルド コンィギュレーション設定 を参照してください。

ビルド コンフィギュレーション設定以外にも、アプリケーションに影響する設定の多くが Vitis のハードウェア関数設定のダイアログ ボックスからアクセスする [Hardware Function] に含まれます。Vitis IDE の設定 で説明するように [Settings] ダイアログ ボックスのそれぞれの設定を確認することをお勧めします。

[Assistant] ビューからビルド コンフィギュレーションのさまざまなオプションを指定したら、ビルド コンフィギュレーションを選択して Build () ボタンをクリックしてビルド プロセスを開始できます。Vitis コア開発キットでは、Vitis コンパイラ v++ コマンドを使用してハードウェア カーネルの FPGA バイナリ (.xclbin) を生成するプロセスと g++ コンパイラを使用してホスト プログラム コードをコンパイルしてリンクするプロセスの 2 つのビルド プロセスが使用されます。

ビルド プロセスが終了したら、[Assistant] ビューで特定のビルド コンフィギュレーションに緑のチェックマークが付いて、問題なくビルドされたことが示されます。ハードウェア関数のコンパイル サマリやバイナリ コンテナーのリンク サマリなど、どのビルド レポートでも開くことができます。[Assistant] ビューでレポートを右クリックし、Open in Vitis Analyzer をクリックします。

1: [Assistant] ビュー - 問題のなかったビルド

ビルドが終了したら、次はその特定のビルド コンフィギュレーションに含まれるコンテキストでアプリケーションを実行します。たとえば、[Emulation-SW] ビルドでホスト プログラムの C モデルと FPGA バイナリが一緒に動作するようにしたり、[Emulation-HW] ビルドのシミュレーションでホスト プログラムおよび RTL カーネル コードを確認したり、[System] ビルドのターゲット プラットフォームでアプリケーションを実行したりします。

Vitis IDE 内からアプリケーションを実行するには、ビルド コンフィギュレーションを選択し、Run ボタン () をクリックしてデフォルトの run コンフィギュレーションを開始します。また、ビルド コンフィギュレーションを右クリックして Run をクリックしても、特定の run コンフィギュレーションを選択したり、Vitis の run コンィギュレーション設定 に示すように run コンフィギュレーションを変更したりできます。

Vitis IDE の [Guidance] ビュー

ビルド コンフィギュレーションを作成して実行すると、[Console] ビューの [Guidance] タブにそのビルドまたはビルド プロセスに関連するエラー、警告、提案がリストされます。[Guidance] ビューは自動的に生成され、[Console] ビューのタブに表示されます。ガイダンス メッセージを確認して、コードやビルド プロセスに必要な変更を加えます。

ハードウェア エミュレーションを実行すると、次のような [Guidance] ビューが表示されます。

2: ビルドのガイダンス
ヒント: [Guidance] レポートは、Vitis アナライザーの使用 で説明するように Vitis アナライザーでも確認できます。

[Guidance] ビューの情報は、Vitis IDE で検索およびフィルターすると、特定のガイダンス ルール入力を検出できます。ツリー ビューの展開を開いたり閉じたり、階層ツリーを非表示にして、ガイダンス ルールをシンプルに表示させることもできます。最後に、警告の表示をオンやオフにしたり、規則に従っているかどうかで表示を切り替えることができるほか、ビルドおよびエミュレーションなどのメッセージのソースに基づいて特定の内容を限定して表示することもできます。

デフォルトでは [Guidance] ビューには、ドロップダウンで選択したプロジェクトのガイダンス情報がすべて表示されます。内容を個別のビルドまたは run 手順に制限するには、次を実行します。

  1. Window > Preferences をクリックします。
  2. Guidance カテゴリを選択します。
  3. Group guidance rule checks by project をオフにします。

Vitis IDE からの Vivado ツールの使用

Vitis コア開発キットは、リンク プロセス中に Vivado Design Suite を呼び出して、FPGA バイナリ (xclbin) を生成する際に RTL 合成とインプリメンテーションを自動的に実行します。Vivado ツールを Vitis IDE 内から直接起動して、プロジェクトを使用して FPGA バイナリを合成およびインプリメントするオプションもあります。Vitis IDE から Vivado ツールを操作するには 3 つのコマンドがあり、これらは ザイリンクス > Vivado Integration メニューから実行できます。

Open Vivado Project
システム ビルド設定に関連付けられた Vivado プロジェクト (.xpr) が開きます。これには、そのビルドの Vivado プロジェクトが存在している必要があるので、完成済みのシステム ビルドが必要です。

Vivado プロジェクトを開くと Vivado IDE が起動し、インプリメンテーション デザイン チェックポイント (DCP) ファイルが開き、合成およびインプリメンテーション結果を直接管理できるようになります。この結果を使用して、Import Design Checkpoint コマンドで FPGA バイナリを生成します。

Import Design Checkpoint
システム ビルドの基盤として使用する Vivado デザイン チェックポイント (DCP) ファイルを指定して、FPGA バイナリを生成します。
Import Vivado Settings
Vitis コンパイラの設定ファイル に説明するように、コンフィギュレーション ファイルをインポートし、リンク プロセス中に使用できるようにします。

Vivado IDE をスタンドアロン モードで使用すると、さまざまな合成およびインプリメンテーション オプションを試して、パフォーマンスおよびエリアを改善するようにカーネルをさらに最適化できます。その他、FPGA ビルド プロセスを変更できるオプションもあります。詳細は、Vivado ツールの FPGA 合成およびインプリメンテーション結果の管理 を参照してください。

重要: スタンドアロンのプロジェクトで適用した最適化オプションは、Vitis IDE ビルド コンフィギュレーションには自動的に適用されません。このため、v++ --config ファイル オプションを使用して、そのビルドにさまざまな合成およびインプリメンテーション プロパティが指定されるようにする必要があります。詳細は、Vitis コンパイラ コマンド を参照してください。