組込制御論理を使用してFIFOを実装する
- 更新日2025-03-06
- 3分で読める
一部のFPGAハードウェアターゲットのブロックメモリで利用可能な組込FIFO制御論理は、大量のFPGAリソースを節約します。また、これらの専用の回路は、スライスファブリックを使用して作成する制御論理よりも高いクロックレートをサポートすることができます。
メモ ターゲットハードウェアでのFPGAの特性については、Xilinxのドキュメントを参照してください。
組込FIFO制御論理の使用に関する制約と注意事項
組込FIFOの使用に関する制約と注意事項を以下に記載します。
- FPGAには、各ブロックメモリ内に専用FIFOコントローラが含まれる必要があります。
- 組込FIFOのクロック領域には、安定した自走クロックが必要です。
- (Xilinx Vivado) 以下のメソッドは、組込制御論理があるFIFOをサポートしていません。
- 読み取り可能要素数を取得
- 書き込み可能要素数を取得
- 以下のメソッドを使用すると、リソースの使用量が増えるため、読み取りおよび/または書き込みのために使用されるクロック領域の最大周波数が低減します。
- 読み取り可能要素数を取得
- 書き込み可能要素数を取得
- クリア
- クリアメソッドは要素を同時ではなく1つずつクリアするため、このメソッドの使用は複数のクロックサイクルを必要とします。
- いくつかのターゲットで、組込および「ターゲットに最適」FIFO制御論理はシミュレーションエクスポートでサポートされていません。シミュレーションエクスポート用にスライスファブリックFIFO制御論理を実装するには、条件無効ストラクチャを使用します。
- 書き込みメソッドでハンドシェイクインタフェースを有効にすると、FIFO深度が1つ増えます。
- 組込FIFOが完全に一杯になると、少なくとも2つの空の要素ができるまでFIFOに書き込むことができません。書き込み可能要素数を取得メソッドと書き込み (FIFOメソッド) には、最低2つの空の要素ができるまでFIFOが一杯であると示されます。
- 強制変換された要求する要素数の計算は、FPGAシリーズによって異なります。
ターゲットに最適化オプションを使用して、FIFO制御論理を最適化する
組込FIFOを使用する際に、組込FIFOの使用に関するすべての制約をアプリケーションが満たすことを保証できない場合、FIFOを構成してその状況に最適な構成を使用することができます。FIFOプロパティダイアログボックスの一般ページで、制御論理プルダウンメニューからターゲットに最適を選択します。
ターゲットに最適オプションは、ターゲットとアプリケーションの機能に応じてスライスファブリックおよび組込論理間のFIFO構成を切り替えます。ターゲットが組込FIFOをサポートし、リセット中にクロック領域が停止しない場合、アプリケーションは組込FIFOを使用します。それ以外の場合、アプリケーションはスライスファブリックを使用して制御論理を作成します。
メモ ターゲットに最適の選択は、ターゲットの種類とアプリケーション内のFIFOの配置により、FIFO内の実際の要素数が変わることを意味します。実際の要素数の値は常に、要求する要素数の値以上です。