Vitis IDE の設定

[Assistant] ビューから Settings ボタン () を使用して選択したプロジェクトまたはコンフィギュレーション ポートを設定します。詳細は、次を参照してください。

Vitis のプロジェクト設定

Vitis のプロジェクト設定を変更するには、[Assistant] ビューでプロジェクトを選択して [Settings] ボタン () をクリックし、[Project Settings] ダイアログ ボックスを開きます。このダイアログ ボックスでは、Vitis コンパイラ v++ コマンドのリンクおよびコンパイル オプションの両方を指定して、プロジェクト ビルド プロセスをカスタマイズできます。

1: プロジェクト設定
Project name
プロジェクトの名前。リンクをクリックすると、プロジェクトの [Properties] ダイアログ ボックスが開きます。
Platform
このプロジェクトのターゲット プラットフォーム。リンクをクリックすると、[Platform Description] ダイアログ ボックスが開きます。Browse をクリックすると、プラットフォームを変更できます。
Runtime
このプロジェクトで使用されるランタイムが表示されます。
Number of devices
エミュレーション中にホスト プログラムが使用可能な OpenCL アクセラレータ デバイスの数を指定します。
V++ compiler options
Vitis コンパイラ コマンド に説明するように、v++ コマンドのコンパイラ オプションを指定します。
V++ linker options
v++ コマンドのリンク オプションを指定します。

Vitis ビルド コンィギュレーション設定

ビルド コンフィギュレーションの設定を変更するには、[Assistant] ビューでビルド コンフィギュレーションをクリックし、Settings ボタン () をクリックして、[Build Configuration Settings] ダイアログ ボックスを開きます。このダイアログ ボックスでは、ホストおよびカーネルのデバッグを有効にし、ビルド プロセス中にレポートする情報レベルを指定し、ハードウェア ビルドの最適化レベルを指定します。

2: ビルド コンィギュレーション設定
Target
ビルド ターゲット で説明するようにビルド コンフィギュレーション ターゲットを指定します。
Host debug
オンにすると、ホスト コードのデバッグが有効になります。
Kernel debug
オンにすると、カーネル コードのデバッグが有効になります。
Report level
レポート生成の制御 で説明するように、生成するレポート レベルを指定します。
Hardware optimization
ハードウェア最適化で使用するエフォートを指定します。ハードウェア最適化は計算負荷の高いタスクなので、最適化のレベルが高いほど最適なハードウェアにはなりますが、ビルド時間は増加します。このオプションは、[Active build configuration] を [System] に設定している場合にのみ使用できます。

[Build Configuration] ダイアログ ボックスには、コンパイラおよびリンカーのツールチェーン設定へのリンクも含まれます。標準的な Eclipse 環境のすべての設定を変更できるほか、Vitis ツールチェーン設定 で説明するように、Vitis コア開発キットも設定できます。標準 C/C++ ツールチェーンに含まれない Vitis コンパイラおよびリンカー オプションなどの Vitis 特有の設定は、[Miscellaneous] タブに含まれます。

Vitis の run コンィギュレーション設定

run コンフィギュレーションの設定を変更するには、ビルド コンフィギュレーションを選択して右クリックし、Run > Run Configurations をクリックして選択したビルド コンフィギュレーションに対する [Run Configurations] ダイアログ ボックスを開きます。[Run Configuration] ダイアログ ボックスでは、デバッグ オプションを指定し、実行しているアプリケーションのプロファイルを有効にしたり、収集するプロファイル データのタイプを指定したりできます。

ヒント: 次のオプションの中には、ハードウェア ビルドやハードウェア エミュレーション ビルドで使用できるものもありますが、すべてのビルドではサポートされません。
3: run コンィギュレーション設定
Name
run コンフィギュレーションの名前を指定します。
Project
現在のプロジェクトを表示しますが、ほかの開いているプロジェクトに変更できます。
Build Configuration
現在選択しているビルド コンフィギュレーションを指定するか、アクティブなビルド コンフィギュレーションにユーザーの設定を適用します。
Kernel Debug
オンにすると、カーネル デバッグ用に波形ビューが有効になるか、波形ベースのカーネル デバッグ で説明するライブ波形ビューが有効になります。
Enable profiling
プロファイル サマリ レポート で説明するような、アプリケーションが実行される際のプロファイル データの収集を有効にします。
Generate timeline trace
アプリケーション タイムライン で説明するような、アプリケーションのタイムライン トレース レポートを生成します。
Collect Data Transfer Trace
Vitis コンパイラの一般オプション および xrt.ini ファイル で説明するようなデータ転送データの収集を指定します。
[Collect Stall Trace]
Vitis コンパイラの一般オプション および xrt.ini ファイル で説明するように、さまざまな条件下のストール データの取り込みを示すことができます。

[Run Configuration] ダイアログ ボックスには、アプリケーションを実行する際のランタイム環境を設定しやすくするための追加タブが含まれるようになります。次の例では、[Arguments] タブにアプリケーションが問題なく実行されるようにするために必要なさまざまな引数が表示されています。

4: run コンィギュレーション設定 - [Arguments] タブ
Program arguments
アプリケーションに必要な引数と値を指定します。前の例の xclbin ファイルのように、パスに関連するオプションは Working ディレクトリに相対的に指定します。
Automatically add binary containers to arguments
オンにすると、バイナリ コンテナーが自動的に含まれるようになります。
Working directory
実行中のアプリケーションのディレクトリを指定します。これは Vitis IDE で自動的に定義されますが、[Use default] チェック ボックスをオフにしてパスを指定すると変更できます。

Vitis のバイナリ コンテナー設定

プロジェクトでバイナリ コンテナーの設定を変更するには、[Assistant] ビューでそのバイナリ コンテナーを選択し、Settings ボタン () をクリックして、[Binary Container Settings] ダイアログ ボックスを開きます。バイナリ コンテナーに新しい名前を指定して、v++ コマンドのリンク オプションを指定します。

5: バイナリ コンテナーの設定
Name
バイナリ コンテナー名を指定します。
V++ Linker Options
指定したビルド コンフィギュレーションで選択したバイナリ コンテナーのリンク オプションを入力します。使用可能なオプションの詳細は、Vitis コンパイラ コマンド を参照してください。
V++ Linker Command Line
現在の v++ コマンド ラインと指定したリンク オプションを表示します。

Vitis のハードウェア関数設定

プロジェクトのビルド コンフィギュレーションのハードウェア関数の設定は変更できます。[Assistant] ビューで [Emulation-HW] などの特定のビルド コンフィギュレーションのハードウェア関数を選択し、Settings ボタン () をクリックして、次の図のような [Hardware Function Settings] ダイアログ ボックスを開きます。

6: [Hardware Function Settings] ダイアログ ボックス

カーネル インスタンスの計算ユニット数の指定やカーネル ポートを特定のグローバル メモリ バンクへのマップなど、選択したビルド コンフィギュレーションのハードウェア関数に関するオプションを設定します。含まれるオプションは、次のとおりです。

Compute Units
複数のカーネル インスタンスの作成 で説明するように、カーネル用に作成する計算ユニット数を指定します。
Max Memory Ports
OpenCL カーネルの場合、オンにすると、カーネル関数シグネチャで宣言されたグローバル メモリ バッファーごとに別の物理メモリ インターフェイスが生成されます。オフにすると、メモリ マップド カーネルポートに対して 1 つの物理メモリ インターフェイスが作成されます。
Port Data Width
OpenCL カーネルの場合、データ ポートの幅を指定します。
Extra Source Files
入力データ ファイルなどのこのハードウェア関数に必要な追加のソース ファイルを定義します。
Compiler Options
選択したハードウェア関数の Vitis コンパイラ オプションを指定します。
Compute Unit Settings
計算ユニットの SLR への割り当て に説明するように、カーネルの各計算ユニットには SLR 配置を定義し、カーネル ポートのグローバル メモリへのマップ に説明するように、計算ユニットの各ポートにはグローバル メモリ割り当てを定義します。
Hardware Debug and Profiling Settings
選択したビルド コンフィギュレーションがシステム ビルドの場合は、[Compute Unit Settings] でデバッグおよびプロファイル モニターをインターフェイスに挿入するようにして、計算ユニットで信号トレースを取り込んで確認できるようにもできます。設定できる項目は次のとおりです。
ChipScope Debug
ハードウェア トレース デバッグ情報を取り込むモニターを追加します。
Protocol Checker
AXI Protocol Checker を追加します。
Data Transfer
計算ユニットとグローバル メモリ間のデータ転送を取り込むパフォーマンス モニターを追加します。取り込まれるデータは、カウンターおよびトレースのいずれか、または両方です。
Execute Profiling
計算ユニットの実行の開始と終了を記録するアクセラレータ モニターを追加します。
Stall Profiling
1 つのカーネル内、2 つのカーネル間、カーネルと外部メモリ間のデータフローのストールを取り込む機能を持ったアクセラレータ モニターを追加します。
ヒント: Vitis コンパイラの設定ファイル で説明するように、[Hardware Function Settings] ダイアログ ボックスで指定した設定が、--config オプションを使用して Vitis コンパイラで使用されるコンフィギュレーション ファイルに書き込まれます。

Vitis ツールチェーン設定

ツールチェーン設定には、プロジェクトの標準 Eclipse ベースのビューが含まれ、Vitis IDE の C/C++ ビルドのオプションすべてが表示されます。

[Build Configuration Settings] ダイアログ ボックスで下部の Edit Toolchain Compiler Settings または Edit Toolchain Linker Settings をクリックし、すべての C/C++ ビルド設定を含むコンパイラおよびリンカーを設定するダイアログ ボックスを開きます。このダイアログ ボックスでは、パス、ライブラリ、プロジェクト全体の定義、ホストの定義といった標準 C++ パスを設定できます。

7: ツールチェーン設定

Vitis IDE プロジェクトの場合、[Tool Settings] タブの下に次の 5 つの設定があります。

[V++ Kernel Compiler]
カーネル コンパイル プロセスのために v++ コマンドを呼び出す際に渡す必要のある v++ コマンドおよび追加オプションを指定します。Vitis のカーネル コンパイラおよびリンカーのオプション を参照してください。
[V++ Kernel Linker]
カーネル リンク プロセスのために v++ コマンドを呼び出したときに渡す v++ コマンドと追加オプションを指定します。Vitis のカーネル コンパイラおよびリンカーのオプション を参照してください。
emconfigutil
emconfigutil ユーティリティ のコマンド ライン オプションを指定します。[emconfigutil] 設定 を参照してください。
[GCC Host Compiler (x86_64)]
ホスト コンパイル プロセス中に渡す必要のある g++ リンカー引数を指定します。G++ ホスト コンパイラおよびリンカー設定 を参照してください。
[GCC Host Linker (x86_64)]
ホスト リンク プロセス中に渡す必要のある g++ リンカー引数を指定します。G++ ホスト コンパイラおよびリンカー設定 を参照してください。

Vitis のカーネル コンパイラおよびリンカーのオプション

Vitis カーネル コンパイラ オプション

[V++ Kernel Compiler] セクションには、カーネル コンパイル プロセスのために v++ コマンドを呼び出す際に渡す必要のある v++ コマンドおよびその他のオプションが表示されます。v++ コマンド オプションには、シンボル、インクルード パス、またはさまざまな有効なオプションなど、追加する v++ コマンド ライン オプションをどれでも指定できます。

8: Vitis コンパイラ オプション
Symbols
Vitis コンパイラの下の Symbols をクリックし、v++ コマンドに –D オプションを付けて渡すシンボルを定義します。
Includes
インクルード パスを Vitis コンパイラに追加するには、Includes をクリックし、Add ボタン () をクリックします。
Miscellaneous
Vitis コンパイラに渡す必要のあるその他のコンパイラ オプションは、[Miscellaneous] セクションで追加できます。使用可能なコンパイラ オプションの詳細は、Vitis コンパイラ コマンド を参照してください。

Vitis のカーネル リンカーのオプション

Vitis のカーネル リンカー設定には、カーネル リンカー プロセスのために v++ コマンドを呼び出す際に渡す必要のある v++ コマンドおよびその他のオプションが表示されます。

Vitis コンパイラに渡す必要のあるその他のオプションは、[Miscellaneous] セクションでオプションとして追加できます。リンク プロセスに使用可能なオプションの詳細は、Vitis コンパイラ コマンド を参照してください。

[emconfigutil] 設定

emconfigutil ユーティリティ で説明するように、エミュレーション コンフィギュレーション ファイルを作成する際に使用する emconfigutil コマンド オプションは、[Command] フィールドで指定できます。Vitis IDE は run コンフィギュレーションを開始する前に、指定した emconfigutil コマンドを実行して emconfig.json ファイルを作成します。

9: [emconfigutil] 設定

G++ ホスト コンパイラおよびリンカー設定

G++ コンパイラ オプション

Vitis コア開発キットで使用される g++ コンパイラの引数は、[Toolchain Settings] の [G++ Host Compiler] セクションで設定できます。

10: G++ ホスト コンパイラ設定
Dialect
使用する C++ 言語設定を選択するコマンド オプションを指定します。標準的なオプションは、C++ 98、C++ 2011、C++ 2014 (1Y) などです。
Preprocessor
シンボル定義などのホスト コンパイラへのプリプロセッサ引数を指定します。定義済みのデフォルト シンボルにはプラットフォームが含まれているので、ホスト コードが特定のプラットフォームをチェックできます。
Includes
インクルード パスおよびインクルード ファイルを指定します。
Optimization
コンパイラ最適化オプションおよびその他の最適化設定を指定します。
Debugging
デバッグ レベルおよびその他のデバッグ オプションを指定します。
Warnings
コンパイラの警告に関するオプションを指定します。
Miscellaneous
g++ コンパイラに渡されるその他のオプションを指定します。

G++ リンカー オプション

ここで使用可能なオプションを使用すると、Vitis テクノロジの G++ ホスト リンカーに対してリンカー引数を指定できます。一般オプション、ライブラリとライブラリ パス、その他のリンカー オプション、共有ライブラリなどのセクションがあります。