インテル® Quartus® Prime プロ・エディションのユーザーガイド: デザインの推奨事項

ID 683082
日付 8/03/2023
Public
ドキュメント目次

1.4.1.1. 同期メモリーブロックの使用

インテル FPGAのメモリーブロックは同期式です。したがって、専用のメモリーブロックに直接マッピングするには、RAMのデザインが同期している必要があります。 これらのデバイスの場合、 インテル® Quartus® Primeの合成では、非同期メモリーロジックを通常のロジックセルに実装します。

同期メモリーには、非同期メモリーに比べていくつかの利点があります (より高い周波数、またそれによって得られる高いメモリー帯域幅、信頼性の向上、待機電力の削減など)。非同期メモリーを変換するには、データパスからメモリーブロックにレジスターを移動します。

次の読み出し動作のいずれかがある場合、メモリーブロックは同期式です。

  • メモリー読み出しがVerilog HDLの場合は always ブロックで clock 信号を使用して発生しており、VHDLの場合はクロックが提供されるプロセスで発生している。同期メモリーに推奨されるコーディング・スタイルは、レジスターされる読み出し出力でデザインを作成することです。
  • メモリー読み出しはクロックが提供されるブロック外部で発生しているが、同期読み出しアドレスがある (つまり、読み出しステートメントで使用されるアドレスがレジスターされる)。合成では、このロジックを常にメモリーブロックとして推論するわけではありません。また、ターゲットのデバイス・アーキテクチャーに応じて、外部バイパスロジックが必要になる場合があります。同期メモリーには、このコーディング・スタイルを避けてください。
注: インテル FPGAデバイスの同期メモリー構造は、他のベンダーのデバイスの構造とは異なる場合があります。最高の結果を得るには、デザインとターゲット・デバイスのアーキテクチャーが一致するようにします。

この章では、さまざまなメモリータイプに対するコーディングの推奨事項について説明します。このドキュメントの例はすべて同期式です。よって、インテル FPGAで利用可能な専用のメモリー・アーキテクチャーに直接マッピングすることができます。