Vitis コンパイラでは、コンパイル プロセスとリンク プロセスで多数のオプションがサポートされます。これらのオプションにはさまざまな機能があり、コンパイルまたはリンクのいずれかにのみ適用できるものもあれば、コンパイルとリンクの両方に対して設定する必要のあるものもあります。
--config
オプションで指定する設定ファイルに含めることができます。たとえば --platform
オプションは、設定ファイルで次の構文を使用して、セクション ヘッドなしで指定できます。platform=xilinx_u200_xdma_201830_2
--board_connection
- 適用先
- コンパイルおよびリンク
--board_connection
各 DIMM (Dual Inline Memory Module) コネクタ スロットの DIMM ボード ファイルを指定します。ボードは、ボード リポジトリに表示されるように、DIMM カードの Vendor:Board:Name:Version (vbnv) 属性を使用して指定します。
次に例を示します。
<DIMM_connector>:<vbnv_of_DIMM_board>
-c | --compile
- 適用先
- コンパイル
--compile
コンパイルには必須ですが、--link
と共に使用することはできません。v++ -c
を実行し、カーネル ソース ファイルから .xo ファイルを生成します。
--config
- 適用先
- コンパイルおよびリンク
--config <config_file> ...
v++
オプションを含む設定ファイルを指定します。設定ファイルは、コンパイルまたはリンク ストラテジを取り込むために使用するファイルで、v++
コマンド ラインで参照することにより簡単に再利用できます。また、設定ファイルを使用すると、v++
コマンド ラインで指定する必要があるのは、設定ファイルで指定されていないオプションのみなので、コマンド ラインが簡潔になります。詳細は、Vitis コンパイラのコンフィギュレーション ファイル を参照してください。
v++
コマンドに複数の設定ファイルを指定できます。使用するファイルごとに個別の --config
オプションが必要となります。次に例を示します。
v++ -l --config cfg_connectivity.txt --config cfg_vivado.txt ...
--custom_script
- 適用先
- コンパイルおよびリンク
--custom_script <kernel_name>:<file_name>
ビルド プロセスのコンパイル時またはリンク時に使用するカスタム Tcl スクリプトを指定します。--export_script
オプションと共に使用し、ビルド プロセスをカスタマイズするスクリプトを作成、編集、および実行します。
このオプションを v++ --compile
コマンドで使用すると、指定したカーネルのコンパイルに使用するカスタム HLS スクリプトを指定できます。このスクリプトで、Vitis HLS ツールを変更またはカスタマイズできます。--export_script
オプションを使用して Vitis HLS でカーネルのコンパイルに使用する Tcl スクリプトを抽出し、必要に応じてスクリプトを変更して、--custom_script
オプションを使用して再適用することにより、カーネルのビルド プロセスをより良く制御できます。
v++ -c -k kernel1 -export_script ...
*** Modify the exported script to customize in some way, then resubmit. ****
v++ -c --custom_script kernel1:./kernel1.tcl ...
ハードウェア ビルド ターゲット (-t hw
) に v++ --link
コマンドを使用する際、このオプションを使用して変更した run_script_map.dat ファイルへの絶対パスを指定できます。このファイルには、ビルド プロセス段階のリストと、それらの段階で Vitis および Vivado ツールにより実行される Tcl スクリプトが含まれます。run_script_map.dat を変更し、ビルド プロセスのそれらの段階で実行するカスタム Tcl スクリプトを指定できます。Tcl スクリプトをカスタマイズするには、次の手順に従います。
- 次に示すように
--export_script
オプションを使用してビルド プロセスを実行します。v++ -t hw -l -k kernel1 -export_script ...
- カスタマイズする段階で run_script_map.dat により参照される Tcl スクリプトをコピーします。たとえば、合成またはインプリメンテーションに指定されている Tcl ファイルをコピーします。ファイルは、プロジェクト ビルド構造外の別の場所にコピーする必要があります。
- Tcl スクリプトにコマンドを追加したり既存のコマンドを変更したりして、新しいカスタム Tcl スクリプトを作成します。
- run_script_map.dat を変更し、指定のインプリメンテーション段階に新しいカスタム スクリプトを設定します。
-
--custom_script
オプションを使用して run_script_map.dat ファイルへの絶対パスを指定し、ビルド プロセスを再起動します。v++ -t hw -l -k kernel1 -custom_script /path/to/run_script_map.dat
read_xdc dont_touch.xdc
set_property used_in_implementation false [get_files dont_touch.xdc]
このようにしないと、合成で dont_touch.xdc ファイルがないことを示すエラー メッセージが表示されます。
-D | --define
- 適用先
- コンパイルおよびリンク
--define <arg>
有効なマクロ名と定義のペアを <name>=<definition>
という形式で指定します。
定義付きマクロとして名前を前もって定義します。このオプションは v++
プリプロセッサに渡されます。
--dk
- 適用先
- コンパイルおよびリンク
--dk <arg>
ハードウェア デバッグ用に FPGA バイナリ (.xclbin) へのデバッグ IP コアの挿入をイネーブルにします。このオプションでは、追加するデバッグ コアのタイプと、
ChipScope™
で監視する計算ユニットおよびインターフェイスを指定できます。--dk
オプションを使用すると、デバッグおよびパフォーマンス監視目的に、AXI プロトコル チェッカーと System ILA コアをカーネルへのインターフェイスに接続できます。
System Integrated Logic Analyzer (ILA) を使用すると、トランザクション レベルでアクセラレーション カーネルまたはハードウェアで実行される関数を表示できます。System ILA コアでは、特定の AXI トラフィックをキャプチャして表示させることもできます。
AXI Protocol Checker デバッグ コアは、アクセラレーション カーネル上の AXI4 インターフェイスを監視します。CU のインターフェイスに接続すると、プロトコル違反をアクティブにチェックし、違反が発生した場合にそれを通知します。
<arg>
に有効な値は、次のとおりです。
[protocol|chipscope|list_ports]:<cu_name>:<interface_name>
説明:
-
protocol
: デザインに AXI Protocol Checker デバッグ コアを追加します。all
キーワードまたは<cu_name>:<interface_name>
を使用して指定できます。 -
chipscope
: デザインに System Integrated Logic Analyzer デバッグ コアを追加します。chipscope
オプションにはall
キーワードは使用できないので、<cu_name>
を指定する必要があり、オプションで<interface_name>
を指定することもできます。 -
list_ports
は、現在のデザインの有効な計算ユニットとポート組み合わせのリストを表示します。この情報は、コマンド ラインまたはコンフィギュレーション ファイルを作成するのに役立ちます。 -
<cu_name>
には--dk
オプションを適用する計算ユニットを指定します。 -
<interface_name>
はオプションです。指定しない場合、指定した CU のすべてのポートが解析されます。
次に例を示します。
v++ --link --dk chipscope:vadd_1
--export_script
- 適用先
- コンパイルおよびリンク
--export_script
ビルド プロセスをスクリプト ファイルをエクスポートする時点まで実行して停止します。ビルド プロセスは、--custom_script
オプションを使用して完了する必要があります。これにより、エクスポートされたスクリプトを変更し、カスタム スクリプトを使用してビルドを再実行できます。
このオプションを v++ --compile
コマンドで使用すると、指定したカーネルの Tcl スクリプト ファイル <kernel_name>.tcl がエクスポートされます。このスクリプトは Vitis HLS を実行するのに使用できますが、実際に HLS が起動する前にビルド プロセスが停止します。これによりビルド プロセスを中断できるので、次の例に示すように、生成された Tcl スクリプトを編集し、--custom_script
オプションを使用してビルド プロセスを再開できます。
v++ -c -k kernel1 -export_script ...
–t sw_emu
) ではサポートされません。ハードウェア ビルド ターゲット (-t hw
) に対して v++ --link
コマンドでこのオプションを使用すると、run_script_map.dat ファイルが現在のディレクトリにエクスポートされます。このファイルには、ビルド プロセス段階のリストと、それらの段階で Vitis および Vivado ツールにより実行される Tcl スクリプトが含まれます。Tcl スクリプトを編集してビルド プロセスをカスタマイズし、--custom_script
オプションを使用してビルド プロセスを再開できます。run_script_map.dat ファイルをエクスポートするには、次のコマンドを使用します。
v++ -t hw -l -k kernel1 -export_script ...
--from_step
- 適用先
- コンパイルおよびリンク
--from_step <arg>
Vitis コンパイラ ビルド プロセスのステップ名を指定しすると、そのステップからビルド プロセスを開始できます。中間結果がある場合、リンク プロセスが早送りされて、可能であれば指定した段階から実行を開始します。--to_step
を使用してビルドを実行し、プロジェクトを何らかの方法で変更した後、そのビルド プロセスを --from_step
で再開できます。--list_step
オプションを使用すると、有効なステップのリストが表示されます。
--from_step
および --to_step
オプションはインクリメンタル ビルド オプションで、--from_step
を使用して Vitis コンパイラを再起動する際は、--to_step
を使用してビルドを開始したのと同じプロジェクト ディレクトリを使用する必要があります。v++ --link --from_step vpl.update_bd
-g | --debug
- 適用先
- コンパイルおよびリンク
-g
カーネルをデバッグするコードを生成します。このオプションを使用すると、カーネルがコンパイルされて FPGA バイナリが作成される際に、カーネルをデバッグしやすくする機能が追加されます。
次に例を示します。
v++ -g ...
-h | --help
-h
v++
コマンドのヘルプを表示します。次に例を示します。
v++ -h
-I | --include
- 適用先
- コンパイルおよびリンク
--include <arg>
ヘッダー ファイルを検索するディレクトリのリストに指定のディレクトリを追加します。このオプションは Vitis コンパイラのプリプロセッサに渡されます。
<input_file>
- 適用先
- コンパイルおよびリンク
<input_file1> <input_file2> ...
v++
コンパイル用の OpenCL または C/C++ カーネル ソース ファイル、あるいは v++
リンク用のザイリンクス オブジェクト ファイル (.xo) を指定します。
次に例を示します。
v++ -l kernel1.xo kernelRTL.xo ...
--interactive
- 適用先
- コンパイルおよびリンク
--interactive [ impl ]
v++
で必要な環境を設定し、Vivado ツールを起動して、またはインプリメンテーション プロジェクトを開きます。
Vivado ツールをインタラクティブに起動するので、リンク プロセスは vpl
ステップで停止します。これは、v++
コマンドで --to_step vpl
オプションを使用するのと同じことです。Vivado ツールを使用し終え、デザイン チェックポイント (DCP) を保存したら、-from_step
を使用してリンク コマンドを再実行して、vpl
プロセス時点のコマンドから実行します。
次に例を示します。
v++ --interactive impl
-j | --jobs
- 適用先
- コンパイルおよびリンク
--jobs <arg>
並列ジョブの数を指定します。
Vivado Design Suite で FPGA バイナリをインプリメントするのに使用される並列ジョブ数を指定します。ジョブ数を増やすと、Vivado インプリメンテーション段階を並列に処理することにより、短時間で完了できます。
次に例を示します。
v++ --link --jobs 4
-k | --kernel
- 適用先
- コンパイルおよびリンク
--kernel <arg>
入力ファイルから指定したカーネルのみをコンパイルします。1 つの v++
コマンドに使用できる -k
オプションは 1 つだけです。有効な値には、入力 .cl または .c/.cpp カーネル ソース コードからコンパイルされるカーネルの名前が含まれます。
これは、C/C++ カーネルの場合は必須ですが、OpenCL カーネルの場合はオプションです。OpenCL では、kernel
キーワードを使用してカーネルが識別されます。C/C++ カーネルの場合、-k
または --kernel
を使用してカーネルを識別する必要があります。
OpenCL ソース ファイルを -k
オプションなしでコンパイルすると、ファイル内のカーネルすべてがコンパイルされます。特定のカーネルをターゲットにするには、-k
コマンドを使用します。
次に例を示します。
v++ -c --kernel vadd
--kernel_frequency
- 適用先
- コンパイルおよびリンク
--kernel_frequency <clockID>:<freq>|<clockID>:<freq>
カーネルにユーザー定義のクロック周波数 (MHz) を指定し、ハードウェア プラットフォームで定義されていたデフォルトのクロック周波数を上書きします。<freq>
は 1 つのクロックのみを含むカーネルのクロック周波数 1 つを指定するのに使用します。2 つのクロックをサポートするカーネルの場合は <clockID> および <freq> を指定します。
1 つのカーネル クロックのみを含むプラットフォームのクロックを上書きする構文では、単に周波数 (MHz) を指定します。
v++ --kernel_frequency 300
2 つのクロックを含むプラットフォームで特定のクロックの周波数を変更するには、クロック ID と周波数を指定します。
v++ --kernel_frequency 0:300
マルチクロック プラットフォームで両方のクロックの周波数を変更するには、各クロックの ID とその周波数を指定します。次に例を示します。
v++ --kernel_frequency 0:300|1:500
-l | --link
--link
コンパイル後のリンク プロセスに必須のオプションで、--compile
と共に使用することはできません。リンク モードで v++
を実行し、.xo 入力ファイルをリンクし、.xclbin 出力ファイルを生成します。
--list_steps
- 適用先
- コンパイルおよびリンク
--list_steps
指定したターゲットに有効な実行ステップをリストします。このオプションは、--from_step
または --to_step
オプションで使用可能なステップをリストします。このコマンドには、次のオプションを使用する必要があります。
-
-t | --target [sw_emu | hw_emu | hw ]
: -
[ --compile | --link ]
: 指定したビルド ターゲットに対するコンパイルまたはリンク プロセスのいずれかからのステップのリストを指定します。
次に例を示します。
v++ -t hw_emu --link --list_steps
--log_dir
- 適用先
- コンパイルおよびリンク
--log_dir <dir_name>
ログ ファイルを保存するディレクトリを指定します。--log_dir
ディレクトリを指定しない場合は、ログファイルは ./_x/logs に保存されます。詳細は、v++ コマンドからの出力ディレクトリ を参照してください。
次に例を示します。
v++ --log_dir /tmp/myProj_logs ...
--lsf
- 適用先
- コンパイルおよびリンク
--lsf <arg>
bsub
コマンド ラインを LSF クラスターに渡す文字列として指定します。Vivado インプリメンテーションおよび合成に IBM Platform LSF (Load Sharing Facility) を使用する場合、このオプションは必須です。
次に例を示します。
v++ --link --lsf '{bsub -R \"select[type=X86_64]\" -N -q medium}'
--message_rules
- 適用先
- コンパイルおよびリンク
--message-rules <file_name>
メッセージを制御するルールを含むメッセージ ルール ファイルを指定します。詳細は、メッセージ ルール ファイルの使用 を参照してください。
次に例を示します。
v++ --message_rules ./minimum_out.mrf ...
--no_ip_cache
- 適用先
- コンパイルおよびリンク
--no_ip_cache
Vivado 合成のアウト オブ コンテキスト (OOC) 合成のために IP キャッシュをディスエーブルにします。IP キャッシュ リポジトリをディスエーブルにすると、各ビルドごとに IP 合成結果を生成し直す必要があるので、ビルド時間が増える可能性があります。ただし、クリーン ビルドにもなるので、IP の早期の結果が削除されます。
次に例を示します。
v++ --no_ip_cache ...
-O | --optimize
- 適用先
- コンパイルおよびリンク
--optimize <arg>
Vivado インプリメンテーション結果の最適化レベルを指定します。有効な最適化の値は、次のとおりです。
-
0
: デフォルトの最適化です。コンパイル時間を削減し、デバッグで予測される結果を生成します。 -
1
: 消費電力を削減するように最適化します。デザインのビルド時間は長くなります。 -
2
: カーネル速度を上げるように最適化します。ビルド時間が長くなりますが、生成されるカーネルのパフォーマンスは向上します。 -
3
: 生成されたコードのパフォーマンスは最高レベルになりますが、コンパイル時間はかなり長くなります。 -
s
: サイズを小さくするよう最適化します。カーネルで使用されるデバイスのロジック リソースが削減されます。 -
quick
: Vivado インプリメンテーション時間は短くなりますが、カーネルのパフォーマンスは低下し、カーネルで使用されるリソースも多くなります。
次に例を示します。
v++ --link --optimize 2
-o | --output
- 適用先
- コンパイルおよびリンク
-o <output_name>
v++
コマンドで生成された出力ファイルの名前を指定します。コンパイル (-c
) プロセスの出力ファイル名には、ザイリンクス オブジェクト ファイルの場合は .xo 拡張子が付いている必要があります。リンク (-l
) プロセスの出力ファイル名には、ザイリンクス 実行バイナリの場合は .xclbin 拡張子が付いている必要があります。
次に例を示します。
v++ -o krnl_vadd.xo
--o
または --output
を指定しない場合は、出力ファイル名はデフォルトで次のようになります。
- コンパイル: a.o
- リンク: a.xclbin
-f | --platform
- 適用先
- コンパイルおよびリンク
--platform <platform_name>
サポートされるアクセラレーション プラットフォームの名前を $PLATFORM_REPO_PATHS
環境変数で指定されているように指定するか、.xpfm プラットフォーム ファイルへの完全パスを指定します。そのバージョンでサポートされるプラットフォームのリストは、Vitis 2020.1 ソフトウェア プラットフォーム リリース ノート を参照してください。
このオプションは、ビルド プロセスのターゲット ザイリンクス プラットフォームを定義するため、コンパイルおよびリンクの両方で必要です。--platform
オプションには、プラットフォーム名または xpfm プラットフォーム ファイルへのパス (完全パスまたは相対パス) を指定できます。
--platform
および -t
オプションは、リンクで使用する --platform
および -t
と同じである必要があります。詳細は、platforminfo ユーティリティ を参照してください。次に例を示します。
v++ --platform xilinx_u200_xdma_201830_2 ...
--config
オプションでその設定ファイルを指定できます。たとえば platform
オプションは、設定ファイルで次の構文を使用して、セクション ヘッドなしで指定できます。platform=xilinx_u200_xdma_201830_2
--profile_kernel
- 適用先
- コンパイルおよびリンク
--profile_kernel <arg>
カーネルとホスト間のデータ トラフィック、カーネル ストール、カーネル実行時間のプロファイル データを収集します。--profile_kernel
には、次の 3 つのオプションがあります。
-
data
: モニター IP を介してデータ ポートを監視します。このオプションは、リンク時には指定する必要があります。 -
stall
: FPGA バイナリにストール監視ロジックを含めます。これには、カーネル インターフェイスにストール ポートを追加する必要があります。そのため、コンパイルおよびリンクの両方でstall
オプションを指定する必要があります。 -
exec
: カーネルの実行時間を記録し、システム実行中に最小限のポート データ コレクションを示します。カーネルの実行時間は、data
またはstall
データ コレクションでもデフォルトで収集されます。このオプションは、リンク時には指定する必要があります。
v++
で --profile_kernel
オプションを使用するには、xrt.ini ファイルに profile=true
を追加する必要もあります。xrt.ini ファイル を参照してください。
data
プロファイルの構文は、次のとおりです。
data:[ <kernel_name> | all ]:[ <cu_name> | all ]:[ <interface_name> | all ](:[ counters | all ])
kernel_name
、cu_name
、interface_name
を使用して、パフォーマンス モニターが適用されるインターフェイスを指定できます。all
キーワードを使用して、1 つのオプションで既存のカーネル、計算ユニット、インターフェイスすべてを監視できるよう設定することもできます。
最後のオプション <counters|all>
は必須ではありません。指定しない場合はデフォルトで all
になります。大型デザインの場合は情報の収集を counters
に制限できますが、all
を指定して実際のトレース情報が収集されるようにすることもできます。
stall
または exec
プロファイルの構文は、次のとおりです。
[ stall | exec ]:[ <kernel_name> | all ]:[ <cu_name> | all ](:[ counters | all ])
stall
または exec
の場合、<interface_name>
フィールドは使用されません。次の例では、すべてのカーネルのすべての CU 上にある all
インターフェイスで data
プロファイルが記録されるようにしています。
v++ -g -l --profile_kernel data:all:all:all ...
--profile_kernel
オプションは、異なるカーネル、CU、インターフェイスのプロファイルを指定するのにいくつでも使用できます。--remote_ip_cache
- 適用先
- コンパイルおよびリンク
--remote_ip_cache <dir_name>
IP のアウト オブ コンテキスト (OOC) 合成中に使用する Vivado 合成のリモート IP キャッシュ ディレクトリを指定します。OOC 合成を使用すると、Vivado 合成ツールでイテレーション中に変更されなかった IP の合成結果が再利用できるようになります。これにより、合成結果を再利用できるので .xclbin ファイルのビルドに必要な時間を削減できます。
--remote_ip_cache
オプションを指定しない場合、IP キャッシュは v++
が起動された現在の作業ディレクトリに書き込まれます。このオプションを使用すると、別のキャッシュ ディレクトリを指定して、たとえば複数のプロジェクトで使用したりできます。
次に例を示します。
v++ --remote_ip_cache /tmp/IP_cache_dir ...
--report_dir
- 適用先
- コンパイルおよびリンク
--report_dir <dir_name>
レポート ファイルを保存するディレクトリを指定します。--report_dir
ディレクトリを指定しない場合は、レポート ファイルは ./_x/reports に保存されます。詳細は、v++ コマンドからの出力ディレクトリ を参照してください。
次に例を示します。
v++ --report_dir /tmp/myProj_reports ...
-R | --report_level
- 適用先
- コンパイルおよびリンク
--report_level <arg>
有効なレポート レベルは 0
、1
、2
、estimate
です。
これらのレポート レベルのマップは、optMap.xml ファイルに含まれます。インストールされた optMap.xml を無効にして、カスタム レポート レベルを定義できます。
-
-R0
を指定すると、Vivado インプリメンテーション中に中間デザイン チェックポイント (DCP) は生成されません。配線後のタイミング レポートは生成されます。 -
-R1
を指定すると、-R0
で生成されるものすべてに加え、report_failfast pre-opt_design
とreport_failfast post-opt_design
、すべての中間 DCP が生成されます。 -
-R2
を指定すると、-R1
で生成されるものすべてに加え、report_failfast post-route_design
が実行されます。 -
-Restimate
を指定すると、design.xml データ ファイルが存在しない場合は Vitis HLS で生成され、システム見積もりレポート で説明するように、システム見積もりレポートが生成されます。ヒント: このオプションは、design.xml がデフォルトでは生成されないソフトウェア エミュレーション ターゲット (-t sw_emu
) の場合に便利です。
次に例を示します。
v++ -R2 ...
--reuse_impl
--reuse_impl <arg>
- 適用先
- リンク
インプリメント済みデザイン チェックポイント (DCP) のパスとファイル名を指定して、FPGA バイナリ ファイル (xclbin) を生成する際に使用されるようにします。リンク プロセスは指定したインプリメント済み DCP を使用して FPGA ビットストリームを抽出し、xclbin を生成します。以前に完了した Vitis ビルドで作成された Vivado プロジェクトを手動で編集したり、--to_step
オプションを指定して Vitis ビルド プロセスを中断し、手動で合成済みデザインを配置配線したりできます。これにより、Vivado Design Suite をインタラクティブに使用してデザインを変更をし、ビルド プロセスでその DCP を使用できます。
--reuse_impl
オプションはインクリメンタル ビルド オプションで、--reuse_impl
を使用して Vitis コンパイラ再開する際は、--to_step
を使用してビルドを開始したのと同じプロジェクト ディレクトリを使用する必要があります。次に例を示します。
v++ --link --reuse_impl ./manual_design.dcp
-s | --save-temps
- 適用先
- コンパイルおよびリンク
--save-temps
v++
コマンドでコンパイルおよびリンク プロセス中に作成された中間ファイル/ディレクトリを保存します。--temp_dir
オプションを使用すると、中間ファイルを保存するディレクトリを指定できます。
次に例を示します。
v++ --save_temps ...
-t | --target
- 適用先
- コンパイルおよびリンク
-t [ sw_emu | hw_emu | hw ]
ビルド ターゲット で説明するようにビルド ターゲットを指定します。ビルド ターゲットにより、コンパイルおよびリンク プロセスの結果が決まります。デバッグおよびテスト用にエミュレーション モデルをビルドするか、ハードウェアで実行する実際のシステムをビルドするかを選択できます。ビルド ターゲットは -t
で指定しない場合はデフォルトで hw
になります。
--platform
および -t
オプションは、リンクで使用する --platform
および -t
と同じである必要があります。有効な値は、次のとおりです。
-
sw_emu
: ソフトウェア エミュレーション。 -
hw_emu
: ハードウェア エミュレーション。 -
hw
: ハードウェア。
次に例を示します。
v++ --link -t hw_emu
--temp_dir
- 適用先
- コンパイルおよびリンク
--temp_dir <dir_name>
ビルド プロセス中に作成された一時ファイルを保存するディレクトリを指定します。--save-temps
オプションを指定しておかない場合、一時的な結果は v++
コンパイラで書き出された後削除されます。
--temp_dir
ディレクトリを指定しない場合は、./_x/temp に一時ファイルが保存されます。詳細は、v++ コマンドからの出力ディレクトリ を参照してください。
次に例を示します。
v++ --temp_dir /tmp/myProj_temp ...
--to_step
- 適用先
- コンパイルおよびリンク
--to_step <arg>
ステップ名をコンパイルまたはリンク プロセスに変更し、そのステップからビルド プロセスを実行します。--list_step
オプションを使用すると、有効なコンパイルまたはリンク ステップのリストが表示されます。
ビルド プロセスは、指定したステップが終了した後に終了します。この段階で、ビルド結果を処理できるようになります。たとえば、HLS プロジェクトや Vivado Design Suite プロジェクトに手動でアクセスして、ビルド フローに戻る前に特定のタスクを実行するには、v++
コマンドに --from_step
オプションを指定します。
--to_step
および --from_step
オプションはインクリメンタル ビルド オプションで、--from_step
を使用して Vitis コンパイラを再起動する際は、--to_step
を使用してビルドを開始したのと同じプロジェクト ディレクトリを使用する必要があります。
--to_step
を使用する場合は、--save-temps
も指定して、Vivado ツールで必要な一時ファイルを保存する必要があります。次に例を示します。
v++ --link --save-temps --to_step vpl.update_bd
--trace_memory
- 適用先
- コンパイルおよびリンク
--trace_memory <arg>
ハードウェア ターゲットのリンク時に --profile_kernel
オプションと共に使用し、トレース データを収集するのに使用するメモリのタイプおよび量を指定します。
プロファイル用にトレース バッファー メモリのタイプを <FIFO>:<size>|<MEMORY>[<n>]
という形式で指定します。
- FIFO:<size>: KB で指定します。デフォルトは FIFO:8K です。最大値は 4G です。
- Memory[<N>]: プラットフォームのメモリ リソースのタイプおよび数を指定します。ターゲット プラットフォームのメモリ リソースは、
platforminfo
コマンドで指定できます。サポートされるメモリ タイプは、HBM、DDR、PLRAM、HP、ACP、MIG、および MC_NOC などです。たとえば、DDR[1] などです。
--trace_memory
を使用する場合は、xrt.ini ファイル で説明するように、xrt.ini ファイル内で [Debug] trace_buffer_size
も使用する必要があります。-v | --version
-v
v++
コマンドのバージョンおよびビルド情報を表示します。次に例を示します。
v++ -v
--user_board_repo_paths
- 適用先
- コンパイルおよびリンク
--user_board_repo_paths
DIMM ボード ファイルの既存のユーザー ボード リポジトリを指定します。この値は Vivado プロジェクトの board_part_repo_paths
プロパティの冒頭に追加されます。
--user_ip_repo_paths
- 適用先
- コンパイルおよびリンク
--user_ip_repo_paths <repo_dir>
カーネル デザインで使用される IP を最初に検索するユーザー IP リポジトリ パスのディレクトリを 1 つまたは複数指定します。この値は、Vivado ツールで IP コアを見つけるため、ip_repo_paths
の冒頭に追加されます。これらの指定されたパスからの IP 定義は、ハードウェア プラットフォーム (.xsa) またはザイリンクス IP カタログからの IP リポジトリより前に使用されます。
--user_ip_repo_paths
コマンドを v++
コマンド ラインに指定できます。次に、ビルド プロセス中に検出される IP 定義の優先順序を上からリストします。これらのエントリには、複数のディレクトリを含めることができます。
- システム ハードウェア ビルド (
-t hw
):-
--user_ip_repo_paths
からの IP 定義。 - カーネル IP 定義 (
vpl --iprepo
オプションの値)。 - プラットフォームに関連付けられた IP リポジトリからの IP 定義。
- インストール ディレクトリからの IP キャッシュ (例: <Install_Dir>/Vitis/2019.2/data/cache/)。
- インストール ディレクトリからのザイリンクス IP カタログ (例: <Install_Dir>/Vitis/2019.2/data/ip/)
-
- ハードウェア エミュレーション ビルド (
-t hw_emu
):-
--user_ip_repo_paths
からの IP 定義およびユーザー エミュレーション IP リポジトリ。 - カーネル IP 定義 (
vpl --iprepo
オプションの値)。 - プラットフォームに関連付けられた IP リポジトリからの IP 定義。
- インストール ディレクトリからの IP キャッシュ (例: <Install_Dir>/Vitis/2019.2/data/cache/)。
-
$::env(XILINX_VITIS)/data/emulation/hw_em/ip_repo
-
$::env(XILINX_VIVADO)/data/emulation/hw_em/ip_repo
- インストール ディレクトリからのザイリンクス IP カタログ (例: <Install_Dir>/Vitis/2019.2/data/ip/)
-
次に例を示します。
v++ --user_ip_repo_paths ./myIP_repo ...