ループの概要 - 2023.2 日本語

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

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

高位合成 (HLS) 用のコードを記述する際、信号処理や画像処理などのデータ ブロックを処理する反復的なアルゴリズムのインプリメンテーションが頻繁に必要になります。一般に、C/C++ のソース コードには、ループや入れ子のループがいくつか含まれる傾向にあります。

パフォーマンスを最適化する場合、まずはループから着手するのが最善です。ハードウェアでは、ループの各反復を実行するのに少なくとも 1 クロック サイクルかかります。ハードウェアの面から考えると、ループの本体ではクロックまで待機することが暗示されます。ループの次の反復は、前の反復が終了してから開始されます。次のセクションで説明するように、ループを通常パイプライン処理または展開させて、高度に分散された並列 FPGA アーキテクチャを利用すると、パフォーマンスを向上できます。