pragma HLS occurrence - 2019.2 Japanese

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

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

説明

関数またはループをパイプライン処理する際に使用して、ある領域のコードがそれを含む関数またはループのコードよりも低頻度で実行されるように指定します。これにより、実行速度が遅いコード部分が低頻度でパイプライン処理されるようにでき、最上位パイプライン内で共有できる可能性があります。OCCURRENCE プラグマは次を基に判断します。

  • ループは <N> 回反復する。
  • ループ本体の一部が条件文で有効になっており、<M> 回しか実行されない (<N><M> の整数倍)。
  • 条件コードの実行は、ループ本体の残りの部分の N/M 倍低速。

たとえば、10 回実行されるループで、ループ内の条件文が 2 回だけ実行される場合、実行頻度は 5 (10/2) となります。

領域に OCCURRENCE プラグマを使用すると、その領域内の関数およびループがそれを含む関数またはループよりも遅い開始間隔 (II) でパイプライン処理されます。

構文

C ソースのコードの領域内に配置します。

#pragma HLS occurrence cycle=<int>

説明:

cycle=<int>
N/M の実行頻度を指定します。
<N>
領域を含む関数/ループの実行回数です。
<M>
条件領域の実行回数です。
重要: <N><M> の整数倍数である必要があります。

次の例では、領域 Cond_Region の実行頻度を 4 に指定しています。この領域は、それを含むコードの 1/4 の速度で実行されます。

Cond_Region: {
#pragma HLS occurrence cycle=4
...
}

関連項目