--clock オプション - 2020.2 Japanese

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

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese
重要: ここで説明する --clock オプションは、エンベデッド プロセッサ プラットフォームおよびデータセンター アクセラレータ カード用の新しいプラットフォームでサポートされます。古いレガシ プラットフォームでは、--kernel_frequency オプションを使用してカーネルのクロック周波数を指定できます。

--clock.XXX オプションは、リンク時に、v++ コマンド ラインからクロックをカーネルに割り当て、必要なカーネル クロック周波数ソースを見つけるために使用します。クロックを指定するためのさまざまなオプションがあります。オプションの優先順位は、クロック オプションがどれだけ特定的であるかによります。次のオプションは、全体的なものからより特定的なものの順にリストされており、下に行くほど優先順位が高くなります。

  • --clock.XX オプションなし: プラットフォームのデフォルトのクロックが各計算ユニット (CU) に適用されます。2 つクロックを使用するカーネルの場合、プラットフォームからのクロック ID 0 が ap_clk に割り当てられ、クロック ID 1 が ap_clk_2 に割り当てられます。
  • --clock.defaultId=<id>: すべてのカーネルに特定のクロック ID を定義できます。プラットフォームのデフォルト クロックの割り当てよりも優先されます。
  • --clock.defaultFreqHz=<Hz>: すべてのカーネルに指定したクロック周波数を定義します。ユーザー指定のデフォルト クロック ID およびプラットフォームのデフォルト クロックよりも優先されます。
  • --clock.id=<id>:<cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]]: クロック ID を関連する CU のリストに割り当て、オプションで CU のクロック ピンに割り当てます。
  • --clock.freqHz=<Hz>:<cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]]: 指定した CU の指定したクロック ピンに指定のクロック周波数を割り当てます。

--clock.defaultFreqHz

--clock.defaultFreqHz <arg>

すべてのカーネルに使用するデフォルト クロック周波数を MHz で指定します。デフォルトのプラットフォーム クロックよりも優先され、クロックに指定のクロック周波数をデフォルトで割り当てます。<arg> には、クロック周波数を MHz 単位で指定します。

次に例を示します。

v++ --link --clock.defaultFreqHz 300000000
ヒント: このオプションは、コンフィギュレーション ファイルの [clock] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[clock]
defaultFreqHz=300000000

--clock.defaultId

--clock.defaultId <arg>
--clock.defaultId=<id>: すべてのカーネルに指定したクロック ID を定義します。プラットフォームのデフォルト クロックよりも優先されます。<arg> には、ターゲット プラットフォームで定義されているデフォルト クロック ID 以外のクロック ID を指定します。
ヒント: ターゲット プラットフォームで使用可能なクロック ID は、platforminfo ユーティリティを使用すると確認できます (platforminfo ユーティリティ を参照)。

次に例を示します。

v++ --link --clock.defaultId 1
ヒント: このオプションは、コンフィギュレーション ファイルの [clock] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[clock]
defaultId=1

--clock.defaultTolerance

--clock.defaultTolerance <arg>

デフォルトのクロック耐性を値、またはデフォルトのクロック周波数のパーセントで指定します。clock.defaultFreqHz を指定する際に、値またはパーセントのいずれかで耐性を指定することもできます。この場合、その耐性を反映するためにタイミング制約もアップデートされます。

耐性の値 <arg> は、clock.defaultFreqHz ± 整数、またはデフォルトのクロック周波数のパーセント (10 進数値) で指定できます。

重要: このオプションを指定しない場合のデフォルトのクロック耐性は 5% です。

次に例を示します。

v++ --link --clock.defaultFreqHz 300000000 --clock.defaultTolerance 0.10
ヒント: このオプションは、コンフィギュレーション ファイルの [clock] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[clock]
defaultTolerance=0.10

--clock.freqHz

--clock.freqHz <arg>

クロック周波数を Hz で指定し、関連付けられている計算ユニット (CU) のリストおよびオプションで CU の特定のクロック ピンに割り当てます。<arg><frequency_in_Hz>:<cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]] のように指定します。

  • <frequency_in_Hz>: クロック周波数を MHz で指定します。
  • <cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]]: 指定した周波数を、指定した CU またはオプションで CU の指定したクロック ピンに割り当てます。
次に例を示します。
v++ --link --clock.freqHz 300000000:vadd_1,vadd_3
ヒント: このオプションは、コンフィギュレーション ファイルの [clock] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[clock]
freqHz=300000000:vadd_1,vadd_3

--clock.id

--clock.id <arg>

ターゲット プラットフォームで使用可能なクロック ID を指定し、関連付けられている計算ユニット (CU) のリストおよびオプションで CU の特定のクロック ピンに割り当てます。<arg><reference_ID>:<cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]] のように指定します。

  • <reference_ID>: ターゲット プラットフォームで使用するクロック ID を定義します。
    ヒント: ターゲット プラットフォームで使用可能なクロック ID は、platforminfo ユーティリティを使用すると確認できます (platforminfo ユーティリティ を参照)。
  • <cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]]: 指定した周波数を、指定した CU またはオプションで CU の指定したクロック ピンに割り当てます。

次に例を示します。

v++ --link --clock.id 1:vadd_1,vadd_3
ヒント: このオプションは、コンフィギュレーション ファイルの [clock] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[clock]
id=1:vadd_1,vadd_3

--clock.tolerance

--clock.tolerance <arg>

クロック耐性を値、またはデフォルトのクロック周波数のパーセントで指定します。--clock.freqHz を指定する際に、値またはパーセントのいずれかで耐性を指定することもできます。この場合、その耐性を反映するためにタイミング制約もアップデートされます。<arg>: <tolerance>:<cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]] のように指定します。

  • <tolerance>: clock.freqHz ± 整数、またはデフォルトのクロック周波数のパーセント (10 進数値) で指定できます。
  • <cu_0>[.<clk_pin_0>][,<cu_n>[.<clk_pin_n>]]: 定義したクロック耐性を特定の CU に適用します。オプションで、CU の指定したクロック ピンに適用することもできます。
重要: このオプションを指定しない場合、デフォルトのクロック耐性は clock.FreqHz の 5% です。

次に例を示します。

v++ --link --clock.tolerance 0.10:vadd_1,vadd_3 
ヒント: このオプションは、コンフィギュレーション ファイルの [clock] セクション ヘッドの下で次のフォーマットを使用して指定できます。
[clock]
tolerance=0.10:vadd_1,vadd_3