コンパイラで作成される FIFO の深さの指定 - 2023.2 日本語

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

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

開始の伝搬 FIFO

コンパイラが自動的に開始 FIFO を作成して、ap_start/ap_ready ハンドシェイクを内部プロセスに伝搬することがあります。このような FIFO がパフォーマンスのボトルネックになることがあるので、その場合は syn.dataflow.start_fifo_depth コンフィギュレーション コマンドを使用して、ツールで見積もられたデフォルト サイズを増加できます。

プロデューサーとコンシューマー間に制限のないスラックが必要で、内部プロセスが恒久的に実行され、入力および出力 (FIFO または PIPO) によりすべて安全に駆動される場合は、次のプラグマまたは指示子を使用して、指定したデータフロー領に対してローカルでこれらの開始 FIFO をユーザーの責任において削除できます。

#pragma HLS DATAFLOW disable_start_propagation

スカラー伝搬 FIFO

コンパイラは、C/C++ コードからのスカラーの一部をスカラー FIFO を介して自動的にプロセス間を伝搬します。このような FIFO がパフォーマンスのボトルネックになったり、デッドロックの原因となることがあるので、その場合は syn.dataflow.scalar_fifo_depth コンフィギュレーション コマンドを使用してサイズを設定します。
ヒント: デフォルトの深さは syn.dataflow.fifo_depth を使用して設定されます。