--advanced オプション - 2020.1 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2020-08-20
Version
2020.1 Japanese

--advanced.param および --advanced.prop オプションは、v++ コマンドで使用するパラメーターおよびプロパティを指定します。コンパイルまたはリンクを実行する際にこれらのオプションを使用すると、Vitis コア開発キットで生成されるハードウェアおよびハードウェア エミュレーション プロセスを詳細に制御できます。

--advanced.xxx オプションの引数は、<param_name>=<param_value> という形式で指定します。次に例を示します。

v++ --link -–advanced.param compiler.enableXSAIntegrityCheck=true 
-–advanced.prop kernel.foo.kernel_flags="-std=c++0x"
ヒント: Vitis コンパイラのコンフィギュレーション ファイル で説明するように、Vitis コンパイラ オプションを設定ファイルで指定して、その設定ファイルを --config オプションで指定できます。たとえば --platform オプションは、設定ファイルで次の構文を使用して、セクション ヘッドなしで指定できます。
platform=xilinx_u200_xdma_201830_2

--advanced.param

--advanced.param <param_name>=<param_value>

次の表に示すアドバンス パラメーターを指定します。

表 1. param オプション
パラメーター名 有効な値 説明
compiler.acceleratorBinaryContent データ型: 文字列

デフォルト値: <empty>

xclbin に挿入する内容を指定します。有効なオプションは bitstream および dcp です。
compiler.addOutputTypes データ型: 文字列

デフォルト値: <empty>

Vitis コンパイラで生成される追加の出力タイプ。有効な値は xclbinsd_cardhw_export または qspi です。
compiler.​errorOnHoldViolation データ型: ブール型

デフォルト値: TRUE

ホールド違反がある場合にエラー メッセージを表示します。
compiler.​fsanitize データ型: 文字列

デフォルト値: <empty>

OpenCL カーネルのデバッグ で説明されているように、OpenCL カーネルの追加のメモリ アクセス チェックをイネーブルにします。有効な値は address、memory などです。
compiler.​interfaceRdBurstLen データ型: Int Range

デフォルト値: 0

カーネル AXI インターフェイスの AXI 読み出しバーストの予測される長さを指定します。compiler.interfaceRdOutstanding オプションと共にハードウェア バッファー サイズを決定するために使用されます。値は 1 ~ 256 です。
compiler.​interfaceWrBurstLen データ型: Int Range

デフォルト値: 0

カーネル AXI インターフェイスの AXI 書き込みバーストに予測される長さを指定します。compiler.interfaceWrOutstanding オプションと共にハードウェア バッファー サイズを決定するために使用されます。値は 1 ~ 256 です。
compiler.​interfaceRdOutstanding データ型: Int Range

デフォルト値: 0

カーネル AXI インターフェイスのバッファーへの読み出し数を指定します。値は 1 ~ 256 です。
compiler.​interfaceWrOutstanding データ型: Int Range

デフォルト値: 0

カーネル AXI インターフェイスのバッファーへの書き込み数を指定します。値は 1 ~ 256 です。
compiler.​maxComputeUnits データ型: Int

デフォルト値: -1

システムで使用可能な最大計算ユニット数。正の値を指定すると、ハードウェア プラットフォーム (.xsa) の numComputeUnits 設定が上書きされます。デフォルト値 -1 では、プラットフォームの設定が保持されます。
compiler.skipTimingCheckAndFrequencyScaling データ型: ブール型

デフォルト値: FALSE

インプリメンテーションの最後の段階 (route_design または配線後の phys_opt_design) 後に実行されるタイミング チェックおよびオプションのクロック周波数スケーリングをスキップします。
​compiler.userPreCreateProjectTcl データ型: 文字列

デフォルト値: <empty>

Vitis ビルド プロセスで Vivado プロジェクトを作成する前に実行する Tcl スクリプトを指定します。
​compiler.userPreSysLinkOverlayTcl データ型: 文字列

デフォルト値: <empty>

Vitis ビルド プロセスで Vivado IP インテグレーター ブロック デザインを開いた後、コンパイラで生成された dr.bd.tcl スクリプトを実行する前に実行する Tcl スクリプトを指定します。
​compiler.userPostSysLinkOverlayTcl データ型: 文字列

デフォルト値: <empty>

コンパイラで生成された dr.bd.tcl スクリプトを実行した後に実行する Tcl スクリプトを指定します。
​compiler.userPostDebugProfileOverlayTcl データ型: 文字列

デフォルト値: <empty>

Vitis ビルド プロセスで Vivado IP インテグレーター ブロック デザインをけんしょうした後に実行する Tcl スクリプトを指定します。
compiler.​worstNegativeSlack データ型: 浮動小数点

デフォルト値: 0

デザインで許容されるワースト ネガティブ スラックをナノ秒 (ns) で指定します。ネガティブ スラックが指定の値を超えると、ツールでタイミング結果を達成するためにクロック周波数のスケーリングが試みられることがあります。
compiler.​xclDataflowFifoDepth データ型: Int

デフォルト値: -1

カーネル データフロー領域で使用される FIFO の深さを指定します。
hw_emu.​compiledLibs データ型: 文字列

デフォルト値: <empty>

指定したシミュレータに clibs を使用します。
hw_emu.​debugMode gdb | wdb

デフォルト値: wdb

v++ コンパイル時間を短縮するためのコンパイル時オプションで、GDB に設定すると Vivado シミュレータ エラボレーションが実行されなくなります。

デフォルト値は WDB で、シミュレーションが波形モードで実行されます。

これオプションは、-g または --debug オプションと共に使用した場合にのみ機能します。

hw_emu.​enableProtocolChecker データ型: ブール型

デフォルト値: FALSE

ハードウェア エミュレーション中に軽量 AXI プロトコル チェッカー (lapc) をイネーブルにします。これは、AxI インターフェイスの正確さを確認するために使用します。
hw_emu.platformPath データ型: 文字列

デフォルト値: <empty>

カスタム プラットフォーム ディレクトリへのパスを指定します。<platformPath> ディレクトリがプラットフォームの作成で使用されるには、次の要件を満たしている必要があります。
  • ip_repo というディレクトリが含まれている必要があります。
  • scripts というディレクトリが含まれ、scripts ディレクトリには hw_em_util.tcl ファイルが含まれている必要があります。hw_em_util.tcl ファイルでは、次の 2 つのプロシージャが定義されています。
    • hw_em_util::add_base_platform
    • hw_em_util::generate_simulation_scripts_and_compile
hw_emu.​scDebugLevel none | waveform | log | waveform_and_log

デフォルト値: waveform_and_log

Vivado ロジック シミュレータ (xsim) の TLM トランザクション デバッグ レベルを設定します。
  • none: 最適化
  • log: TLM トランザクション ログをレポート ファイルに出力します。
  • waveform: TLM トランザクション波形ビューをイネーブルにします。
  • waveform_and_log: ログ メッセージと波形ビューの両方をイネーブルにします。
hw_emu.simulator

XSIM | QUESTA

デフォルト値: XSIM

ハードウェア エミュレーションの実行に指定したシミュレータを使用します。
次に例を示します。
--advanced.param compiler.addOutputTypes="hw_export"
ヒント: このオプションは、設定ファイルの [advanced] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[advanced]
param=compiler.addOutputTypes="hw_export"

--advanced.prop

--advanced.prop <arg>

カーネル コンパイルのアドバンス カーネルまたはソリューション プロパティを指定します。<arg> には、次の表にリストされている値のいずれかを指定します。

表 2. prop オプション
プロパティ名 有効な値 説明
kernel.<kernel_name>.​kernel_flags データ型: 文字列

デフォルト値: <empty>

カーネル <kernel_name> に特定のコンパイル フラグを設定します。
solution.​device_repo_path データ型: 文字列

デフォルト値: <empty>

ハードウェア プラットフォームのリポジトリへのパスを指定します。このオプションの代わりに、 --platform オプションで .xpfm プラットフォーム ファイルへの完全パスを指定してください。
solution.​hls_pre_tcl データ型: 文字列

デフォルト値: <empty>

C コードの合成前に実行する Vitis HLS Tcl ファイルへのパスを指定します。これにより、Vitis HLS のコンフィギュレーション設定を合成前に適用できます。
solution.​hls_post_tcl データ型: 文字列

デフォルト値: <empty>

C コードの合成後に実行する Vitis HLS Tcl ファイルへのパスを指定します。
solution.​kernel_compiler_margin データ型: 浮動小数点

デフォルト値: カーネル クロック周期の 12.5%。

カーネルのクロック マージン (ns)。この値は、配置配線遅延にマージンを提供するため、合成前にカーネル クロック周期から引かれます。

--advanced.misc

--advanced.misc <arg>

カーネル コンパイルのアドバンス ツール指示子を指定します。