外部メモリー・インターフェイス・インテル® Stratix® 10 FPGA IPユーザーガイド

ID 683741
日付 9/30/2019
Public
ドキュメント目次

12. コントローラー性能の最適化

外部メモリー・インターフェイスをデザインする際は、メモリー・コントローラーの効率と帯域幅を向上させる方法を理解する必要があります。

以降の項では、コントローラーの効率に影響を与える要因と、コントローラーの効率を向上させる方法について説明します。

コントローラーの効率

コントローラーの効率は、データのトランザクションによって異なります。コントローラーの効率を判断する最善の方法は、特定のデザインのメモリー・コントローラーをシミュレーションすることです。

コントローラーの効率は次のように表現されます。

効率 = データ転送のアクティブサイクル数/合計サイクル数

合計サイクル数には、コマンドまたは他の要求を発行するのに必要なサイクル数が含まれます。

注: データ転送のアクティブサイクル数は、ローカルのクロックサイクルの観点から計算します。例えば、データ転送のアクティブサイクル数が2メモリー・クロック・サイクルの場合、それをローカル・クロック・サイクルの1に変換します。

次のケースは、FPGAデバイスをターゲットとする高性能コントローラーのデザインに基づいています。ここでは、CASレイテンシーが3、メモリー側のバースト長が4 (2サイクルのデータ転送) であり、メモリーデバイスのアクセスされるバンクと行はすでに開いていると仮定します。このFPGAには、ハーフレート・モードで9サイクルのコマンド・レイテンシーがあります。local_ready信号はHighです。

  • ケース1: コントローラーがそれぞれの読み出しを実行する場合

    効率 = 1/(1 + CAS + コマンド・レイテンシー) = 1/(1+1.5+9) = 1/11.5 = 8.6%

  • ケース2: コントローラーが連続する4つの読み出しを実行する場合

    この場合、データ転送のアクティブサイクル数は8です。最初の読み出し後に返されるデータは連続しているため、CASレイテンシーは1回のみカウントされます。最初の読み出しのCASレイテンシーのみが効率に影響します。また、連続する読み出しコマンドは同じバンクと行を使用するため、コマンド・レイテンシーも1回カウントされます。

    効率 = 4/(4 + CAS + コマンド・レイテンシー) = 4/(4+1.5+9) = 1/14.5 = 27.5%