--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"
--config
オプションで指定できます。たとえば --platform
オプションは、設定ファイルで次の構文を使用して、セクション ヘッドなしで指定できます。platform=xilinx_u200_xdma_201830_2
--advanced.param
--advanced.param <param_name>=<param_value>
次の表に示すアドバンス パラメーターを指定します。
パラメーター名 | 有効な値 | 説明 |
---|---|---|
compiler.acceleratorBinaryContent
|
データ型: 文字列 デフォルト値: |
xclbin に挿入する内容を指定します。有効なオプションは bitstream および dcp です。適用先
|
compiler.addOutputTypes
|
データ型: 文字列 デフォルト値: |
Vitis コンパイラで生成される追加の出力タイプ。有効な値は、xclbin および hw_export などです。hw_export を使用してダイナミック ハードウェア プラットフォームから固定 XSA を作成すると、エンベデッド ソフトウェア開発フローで使用できます。適用先
|
compiler.deadlockDetection
|
データ型: ブール型 デフォルト値: TRUE |
ハードウェア エミュレーションの一部として、シミュレーション実行中にカーネル デッドロックの検出をイネーブルにします。アプリケーションがデッドロックされると、コンソールおよびログ ファイルにエラーメッセージが表示されます。
メッセージは、デッドロックが終了されるまで繰り返されます。アプリケーションを手動で終了して、デッドロックを終了してください。 ヒント: シミュレーション中にデッドロックが発生した場合は、Vitis HLS でのカーネルのコンパイル で説明されるように、Vitis HLS でカーネルコードを開いて、デッドロックの検出とデバッグ機能を追加します。
適用先
|
compiler.enableIncrHwEmu
|
データ型: ブール型 デフォルト値: FALSE |
プラットフォームに少し変更があった場合に、xclbin ハードウェア エミュレーションのインクリメンタル コンパイルをイネーブルにするために使用します。これにより、プラットフォームがアップデートされた場合に、ハードウェア エミュレーションのデバイス バイナリがすばやく再構築できます。 適用先
|
compiler.errorOnHoldViolation
|
データ型: ブール型 デフォルト値: TRUE |
Vivado インプリメンテーションの最後の段階後、タイミング解析チェック中に、必要であればクロック スケーリングを実行します。ホールド違反が検出された場合、デフォルトでは v++ が終了してエラー メッセージが表示されます。xclbin は生成されません。このパラメーターを使用すると、このデフォルト動作を変更できます。適用先
|
compiler.fsanitize
|
データ型: 文字列 デフォルト値: |
OpenCL カーネルのデバッグ で説明されているように、OpenCL カーネルの追加のメモリ アクセス チェックをイネーブルにします。有効な値は address、memory などです。 ソフトウェア エミュレーションおよびデバッグに適用されます。 |
compiler.interfaceRdBurstLen
|
データ型: Int Range デフォルト値: |
カーネル AXI インターフェイスの AXI 読み出しバーストの予測される長さを指定します。compiler.interfaceRdOutstanding オプションと共にハードウェア バッファー サイズを決定するために使用されます。値は 1 ~ 256 です。適用先
|
compiler.interfaceWrBurstLen
|
データ型: Int Range デフォルト値: |
カーネル AXI インターフェイスの AXI 書き込みバーストに予測される長さを指定します。compiler.interfaceWrOutstanding オプションと共にハードウェア バッファー サイズを決定するために使用されます。値は 1 ~ 256 です。適用先
|
compiler.interfaceRdOutstanding
|
データ型: Int Range デフォルト値: |
カーネル AXI インターフェイスのバッファーへの読み出し数を指定します。値は 1 ~ 256 です。 適用先
|
compiler.interfaceWrOutstanding
|
データ型: Int Range デフォルト値: |
カーネル AXI インターフェイスのバッファーへの書き込み数を指定します。値は 1 ~ 256 です。 適用先
|
compiler.maxComputeUnits
|
データ型: Int デフォルト値: |
システムで使用可能最大計算ユニット。デフォルトは、60 計算ユニットですが、numComputeUnits プロパティを使用すると、ハードウェア プラットフォーム (.xsa) で指定することもできます。 指定した値でデフォルト値またはハードウェア プラットフォームの設定が上書きされます。デフォルト値 -1 を指定すると、[default] の設定が保持されます。 適用先: |
compiler.skipTimingCheckAndFrequencyScaling
|
データ型: ブール型 デフォルト値: FALSE |
インプリメンテーションの最後の段階 (route_design または配線後の phys_opt_design ) 後に実行されるタイミング チェックおよびオプションのクロック周波数スケーリングをスキップします。適用先
|
compiler.userPreCreateProjectTcl
|
データ型: 文字列 デフォルト値: |
Vitis ビルド プロセスで Vivado プロジェクトを作成する前に実行する Tcl スクリプトを指定します。 適用先
|
compiler.userPreSysLinkOverlayTcl
|
データ型: 文字列 デフォルト値: |
Vitis ビルド プロセスで Vivado IP インテグレーター ブロック デザインを開いた後、コンパイラで生成された dr.bd.tcl スクリプトを実行する前に実行する Tcl スクリプトを指定します。 適用先
|
compiler.userPostSysLinkOverlayTcl
|
データ型: 文字列 デフォルト値: |
コンパイラで生成された dr.bd.tcl スクリプトを実行した後に実行する Tcl スクリプトを指定します。 適用先
|
compiler.userPostDebugProfileOverlayTcl
|
データ型: 文字列 デフォルト値: |
vpl.update_bd 段階で Vivado IP インテグレーター ブロック デザインにデバッグ プロファイルのオーバーレイを挿入した後に実行する Tcl スクリプトを指定します。 適用先
|
compiler.worstNegativeSlack
|
データ型: 浮動小数点 デフォルト値: 0 |
タイミング解析チェック中に、デザインで許容されるワースト ネガティブ スラックをナノ秒 (ns) で指定します。ネガティブ スラックが指定の値を超えると、ツールでタイミング結果を達成するためにクロック周波数のスケーリングが試みられることがあります。0 スラックではなく、許容されるネガティブ スラック値を指定します。 適用先
|
compiler.xclDataflowFifoDepth
|
データ型: Int デフォルト値: |
カーネル データフロー領域で使用される FIFO の深さを指定します。 適用先
|
hw_emu.compiledLibs
|
データ型: 文字列 デフォルト値: |
指定したシミュレータに clibs を使用します。ハードウェア エミュレーションおよびデバッグに適用されます。 |
hw_emu.debugMode
|
gdb | wdb デフォルト値: |
デフォルト値は WDB で、シミュレーションが波形モードで実行されます。 これオプションは、 ハードウェア エミュレーションおよびデバッグに適用されます。 |
hw_emu.enableProtocolChecker
|
データ型: ブール型 デフォルト値: FALSE |
ハードウェア エミュレーション中に軽量 AXI プロトコル チェッカー (lapc) をイネーブルにします。これは、AxI インターフェイスの正確さを確認するために使用します。 ハードウェア エミュレーションおよびデバッグに適用されます。 |
hw_emu.platformPath
|
データ型: 文字列 デフォルト値: |
カスタム プラットフォーム ディレクトリへのパスを指定します。<platformPath> ディレクトリがプラットフォームの作成で使用されるには、次の要件を満たしている必要があります。
ハードウェア エミュレーションおよびデバッグに適用されます。 |
hw_emu.post_sim_settings
|
データ型: 文字列 | ハードウェア エミュレーションを実行する前に Vivado シミュレータを設定する Tcl スクリプトへのパスを指定します。このスクリプトは、ツールのデフォルト コンフィギュレーションの後、シミュレーションを起動する前に実行されます。この Tcl スクリプトを使用すると、特定の設定を上書きしたり、必要に応じてシミュレータをカスタム設定したりできます。 ハードウェア エミュレーションおよびデバッグに適用されます。 |
hw_emu.scDebugLevel
|
none | waveform | log | waveform_and_log デフォルト値: waveform_and_log |
Vivado ロジック シミュレータ (xsim ) の TLM トランザクション デバッグ レベルを設定します。
ハードウェア エミュレーションおよびデバッグに適用されます。 |
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>
には、次の表にリストされている値のいずれかを指定します。
プロパティ名 | 有効な値 | 説明 |
---|---|---|
kernel.<kernel_name>.kernel_flags
|
データ型: 文字列 デフォルト値: |
カーネル <kernel_name> に特定のコンパイル フラグを設定します。 |
solution.device_repo_path
|
データ型: 文字列 デフォルト値: |
ハードウェア プラットフォームのリポジトリへのパスを指定します。このオプションの代わりに、 --platform オプションで .xpfm プラットフォーム ファイルへの完全パスを指定してください。 |
solution.kernel_compiler_margin
|
データ型: 浮動小数点 デフォルト値: カーネル クロック周期の 12.5%。 |
カーネルのクロック マージン (ns)。この値は、配置配線遅延にマージンを提供するため、合成前にカーネル クロック周期から引かれます。 |
--advanced.misc
--advanced.misc <arg>
カーネル コンパイルのアドバンス ツール指示子を指定します。