--clock
オプションは、データセンター アクセラレータ カードのレガシ プラットフォームではサポートされません。古いプラットフォームでは、カーネルはプラットフォームのデフォルトの動作周波数で動作します。一般的に、エンベデッド プロセッサ プラットフォームおよび新しいデータセンター アクセラレータ カードでは、デバイス バイナリで複数のカーネルを異なるクロック周波数のプラットフォームに接続できます。各カーネル、またはカーネル固有のインスタンスは、指定されたクロック周波数または複数のクロックに接続でき、異なるカーネルがプラットフォームで生成された異なるクロック周波数を使用できます。
コンパイル中にカーネル周波数を指定するには、
--hls.clock
コマンドを使用します。これで、指定した周波数をターゲットにしたカーネルをコンパイルでき、Vitis HLS ツールを使用して指定された周波数でカーネル ロジックの検証できるようになります。これはコンパイル用のインプリメンテーション ターゲットにすぎませんが、最適化とフィードバックができます。
リンク処理中に、カーネルがプラットフォームに接続されてデバイス バイナリをビルドする場合、v++
コマンドの --clock オプション を使用してカーネルのクロック周波数を指定できます。
-
Vitis コンパイラーを使用して HLS コードをコンパイルします。RTL カーネルの場合は、手順 2 に進みます。
v++ -c -k <krnl_name> --hls.clock freqHz:<krnl_name>
注記: Vitis HLS カーネルがコンパイルされる頻度を変更するには、--hls.clock arg:kernelName
を使用します。arg
は Hz である必要があります (たとえば 250 MHz は250000000Hz
です)。 - リンク中に、カーネル内の各クロック信号のクロック周波数またはクロック ID を次のコマンドで指定します。
v++ -l ... --clock.freqHz <freqHz>:kernelName.ap_clk
クロック ID を指定する場合、カーネル周波数はプラットフォーム上の指定されたクロックの周波数で指定されます。クロック周波数を指定すると、プラットフォームはプラットフォーム クロックをスケーリングして、指定された周波数を作成しようとします。場合によっては、クロック周波数はある程度の近似でしか達成できないことがあります。この場合、--clock.tolerance
または --clock.default_tolerance
を指定して、許容範囲を示すことができます。指定されたクロック周波数を許容範囲内でスケーリングできない場合、警告メッセージが表示され、カーネルがデフォルトのクロックに接続されます。