クロック周波数の管理 - 2020.2 Japanese

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

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese
重要: ここで説明する --clock オプションは、データセンター アクセラレータ カードのレガシ プラットフォームではサポートされません。古いプラットフォームでは、カーネルはプラットフォームのデフォルトの動作周波数で動作します。

一般的に、エンベデッド プロセッサ プラットフォームおよび新しいデータセンター アクセラレータ カードでは、デバイス バイナリで複数のカーネルを異なるクロック周波数のプラットフォームに接続できます。各カーネル、またはカーネル固有のインスタンスは、指定されたクロック周波数または複数のクロックに接続でき、異なるカーネルがプラットフォームで生成された異なるクロック周波数を使用できます。

コンパイル中にカーネル周波数を指定するには、 --hls.clock コマンドを使用します。これで、指定した周波数をターゲットにしたカーネルをコンパイルでき、Vitis HLS ツールを使用して指定された周波数でカーネル ロジックの検証できるようになります。これはコンパイル用のインプリメンテーション ターゲットにすぎませんが、最適化とフィードバックができます。

リンク処理中に、カーネルがプラットフォームに接続されてデバイス バイナリをビルドする場合、v++ コマンドの --clock オプション を使用してカーネルのクロック周波数を指定できます。

  1. 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 です)。
  2. リンク中に、カーネル内の各クロック信号のクロック周波数またはクロック ID を次のコマンドで指定します。
    v++ -l ... --clock.freqHz <freqHz>:kernelName.ap_clk

クロック ID を指定する場合、カーネル周波数はプラットフォーム上の指定されたクロックの周波数で指定されます。クロック周波数を指定すると、プラットフォームはプラットフォーム クロックをスケーリングして、指定された周波数を作成しようとします。場合によっては、クロック周波数はある程度の近似でしか達成できないことがあります。この場合、--clock.tolerance または --clock.default_tolerance を指定して、許容範囲を示すことができます。指定されたクロック周波数を許容範囲内でスケーリングできない場合、警告メッセージが表示され、カーネルがデフォルトのクロックに接続されます。