--advanced オプション - 2019.2 Japanese

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

Document ID
UG1393
Release Date
2020-02-28
Version
2019.2 Japanese

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

--advanced.XXX オプションの引数は、:<keyword>=<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:<arg>

カーネル コンパイルのアドバンス パラメーターを指定します。<arg> には、次の表にリストされている値のいずれかを指定します。

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

デフォルト値: <empty>

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

デフォルト値: TRUE

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

デフォルト値: <empty>

OpenCL カーネルのデバッグ で説明されるように OpenCL カーネルに追加のメモリ アクセス チェックが使用されるようにします。address、memory などの値を使用できます。
param:compiler.​maxComputeUnits データ型: 整数

デフォルト値: -1

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

デフォルト値: <empty>

Vitis コンパイラで生成される追加の出力タイプ。xclbinsd_cardhw_exportqspi などの値を使用できます。
param:hw_em.​compiledLibs データ型: 文字列

デフォルト値: <empty>

指定したシミュレータに clibs を使用します。
param:hw_em.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
param:hw_em.​enableProtocolChecker データ型: ブール型

デフォルト値: FALSE

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

値: XSIM、QUESTA

デフォルト値: XSIM

ハードウェア エミュレーションの実行に指定したシミュレータを使用します。
param:compiler.​xclDataflowFifoDepth データ型: 整数

デフォルト値: -1

カーネル データフロー領域で使用される FIFO の深さを指定します。
param:compiler.​interfaceWrOutstanding データ型: 整数範囲

デフォルト値: 0

カーネル AXI インターフェイスにバッファリングする未処理の書き込みの数を指定します。有効な値は 1 ~ 256 です。
param:compiler.​interfaceRdOutstanding データ型: 整数範囲

デフォルト値: 0

カーネル AXI インターフェイスにバッファリングする未処理の読み出しの数を指定します。有効な値は 1 ~ 256 です。
param:compiler.​interfaceWrBurstLen データ型: 整数範囲

デフォルト値: 0

カーネル AXI インターフェイスの AXI 書き込みバーストに予測される長さを指定します。これは compiler.interfaceWrOutstanding オプションを使用して指定して、ハードウェア バッファー サイズを決定します。有効な値は 1 ~ 256 です。
param:compiler.​interfaceRdBurstLen データ型: 整数範囲

デフォルト値: 0

カーネル AXI インターフェイスの AXI 読み出しバーストに予測される長さを指定します。これは compiler.interfaceRdOutstanding オプションを使用して指定して、ハードウェア バッファー サイズを決定します。有効な値は 1 ~ 256 です。
次に例を示します。
--advanced.param "compiler.addOutputTypes=qspi,sd_card"
ヒント: このオプションは、設定ファイルの [advanced] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[advanced]
param=compiler.addOutputTypes="qspi,sd_card"

--advanced.prop

--advanced.prop <arg>

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

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

デフォルト値: <empty>

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

デフォルト値: <empty>

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

デフォルト値: <empty>

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

デフォルト値: <empty>

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

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

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

--advanced.misc

--advanced.misc:<arg>

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