インテルのみ表示可能 — GUID: qxe1506087470699
Ixiasoft
4.7. 可能な限り最も深いスコープでの変数宣言
変数の実装に必要なFPGAハードウェア・リソースを低減するためには、変数の宣言は、ループでの使用直前に行います。変数の宣言を可能な限り最も深いスコープで行うと、データ依存関係とFPGAハードウェア使用率が最小限に抑えられます。これは、 インテル®HLSコンパイラー プロ・エディションによる変数データの保持は、変数を使用しないループでは必要がないためです。
次の例を検討します。
int a[N]; for (int i = 0; i < m; ++i) { int b[N]; for (int j = 0; j < n; ++j) { // statements } }
配列 a 実装では、配列 b よりも多くのリソースを必要とします。ハードウェア使用率を削減するには、配列 a を内側のループの外側に宣言します。ただしこれは、外側のループのイタレーションによってデータを維持する必要がない場合のみです。
ヒント: 可能な限り最も深いスコープ内の変数のすべての値が上書きされると、変数を表すために必要なリソースも減少します。