Intel Agilex® 7 エンベデッド・メモリー・ユーザーガイド

ID 683241
日付 4/10/2023
Public
ドキュメント目次

2.11. トゥルー・デュアルポートのデュアルクロック・エミュレーター

トゥルー・デュアルポート (TDP) のデュアルクロック・エミュレーターの機能は、TDP のデュアルクロック・モードをエミュレートします。この機能は、TDP のデュアルクロック・モードをサポートする インテル® Arria® 10 デバイスとの後方互換性を提供します。

この機能は、次の条件でのみサポートされます。

  • 2 つの読み出し/書き込みポートの動作モード
  • A ポートと B ポートのクロックモードにクロックをカスタマイズする場合
注: TDP のデュアルクロック・エミュレーター機能を有効にする場合は、デュアルポート RAM IP コアのパラメーター・エディターで、Emulate TDP dual clock mode をオンにする必要があります。この機能を有効にする方法に関しては、RAM: 2-PORT Intel FPGA IP のパラメーター設定を参照してください。

TDP デュアルクロック・エミュレーターは、2 つの DCFIFO と 1 つの RAM ブロックで構成されます。DCFIFO は、コントロール信号のクロック・ドメイン・クロッシング (CDC) の問題に対処します。また、RAM ブロックで処理される前後のデータストレージ用の一時バッファーになります。

異なるクロック周波数によって非決定的なレイテンシーが発生するため、valid 信号を導入し、出力データが有効であるかを識別します。valid 信号がアサートされている場合は、正しい出力データに従う必要があることを示しています。valid 信号がデアサートされている場合は、出力データを破棄します。

ポート A へのクロック接続は低速クロック (クロックA) にする必要があり、ポート B へのクロック接続は高速クロック (クロックB) にする必要があります。クロック B をクロック A で割ったクロック周波数比は、7 以上になる必要があります。

DCFIFO の深さは、デュアルポート RAM IP で設定されている RAM の深さに従います。DCFIFO の深さは、RAM IP のパラメーター・エディターで HDL を生成後、デザインファイルを介して手動で変更することができます。DCFIFO の深さは、クロック B をクロック A で割ったクロック周波数比よりも大きくする必要があります。これにより、エミュレートされた TDP のデュアルクロック・モードが正しく動作することを保証します。例えば、クロック B 周波数/クロック A 周波数の比が 10 の場合は、最小の DCFIFO 深度が 16 (2^4) 以上であることを確認します。

TDP のデュアルクロック・エミュレーターの機能を使用すると、ポート A とポート B では異なるレイテンシーが発生します。ポート A のレイテンシーは、2 つのクロック周波数の差が大きくなるにつれて小さくなります。最小レイテンシーは 5 クロックサイクルです。ポート B のレイテンシーは 2 クロックサイクルに固定されています。このコンフィグレーションで出力レジスターは常に有効になっています。

次の図は、TDP デュアルクロック・エミュレーターの機能のタイミングを表しています。

図 16. ポート A の出力条件
図 17. ポート B の出力条件
図 18. ポート A の Read-During-Write 条件
図 19. ポート B の Read-During-Write 条件