syn.directive.occurrence - syn.directive.occurrence - 2026.1 日本語 - UG1399

Vitis 高位合成ユーザー ガイド (UG1399)

Document_ID
UG1399
Release_Date
2026-06-23
Version
2026.1 日本語

説明

OCCURRENCE プラグマまたは指示子では、関数やループをパイプライン処理する際に次を指定します。パイプライン処理された関数やループ内で呼び出されるパイプライン処理された関数のコードは、外側の関数やループよりも低いレートで実行されます。低いレートで実行することで、そのパイプライン処理された呼び出しは、より低いレートでパイプライン処理され、最上位のパイプライン内で共有される可能性があります。次に例を示します。

  • ループは N 回反復する。
  • 条件文がループの一部を制御し、処理は M 回のみ実行されます。ここで、N は M の整数倍です。
  • N/M の出現を条件とする条件文がコードを制御します。

OCCURRENCE レートを持つ領域を特定することで、ツールは外側スコープよりも大きな開始間隔で、関数やループをパイプライン処理できます。

構文

syn.directive.occurrence=[OPTIONS] <location>
  • <location>: 実行速度が遅いパイプライン処理された関数呼び出しを含むコード ブロックを指定します。

オプション

cycle=<int>
N/M の実行回数の比率を指定します。
  • N は、外側の関数またはループが実行される回数です。
  • M は、条件付き領域が実行される回数です。
重要: N は M の整数倍数である必要があります。
off=true
指定した関数に対する OCCURRENCE (実行回数の比率設定) を無効にします。

関数 foo の領域 Cond_Region の実行頻度を 4 に指定します。この領域は、それを含むコードよりも 4 倍低速で実行されます。

syn.directive.occurrence=cycle=4 foo/Cond_Region