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

ID 683216
日付 6/20/2022
Public
ドキュメント目次

3.6.1. インテル® Agilex™ EMIF IPとHPSにおけるI/Oバンク使用時の制約

インテル® Agilex™ ハード・プロセッサー・サブシステム (HPS) とともに インテル® Agilex™ EMIF IPを実装する際は、特定の インテル® Agilex™ I/Oバンクのみを使用することができます。

I/Oバンクの使用に関する制約は、 インテル® Agilex™ HPSがHPSに最も近いI/OバンクのEMIF回路にハードワイヤード接続されるために発生します。特定のEMIFのコンフィグレーションにおいて、EMIFとHPS間のインターフェイスのピン配置は固定されています。

次の図は、EMIFとHPS間のさまざまなデータ幅に対するI/Oバンクとレーンの使用方法を表しています。

図 75.  インテル® Agilex™ HPS-EMIFにおけるI/Oバンクとレーンの使用

HPS EMIFは、最も近くに位置する外部メモリー・インターフェイスのI/Oバンクを使用し、SDRAMに接続します。データサブバンクに対するHPS EMIFのアドレスおよびコマンドサブバンクのこの配置は、現在のバージョンの インテル® Quartus® PrimeデザインスイートのファブリックEMIFではサポートされていません。

次の図は、I/Oピンの使用に関する制約を表しています。これらの制約に関する詳細は、図に続く説明を参照してください。

図 76.  インテル® Agilex™ 外部メモリー・インターフェイスとHPSでのI/Oピン使用時の制約 (1/3)
図 77.  インテル® Agilex™ 外部メモリー・インターフェイスとHPSでのI/Oピン使用時の制約 (2/3)
図 78.  インテル® Agilex™ 外部メモリー・インターフェイスとHPSでのI/Oピン使用時の制約 (3/3)

HPSがアクティブな場合は常に、HPS EMIF IPを使用する必要があります。したがって、HPSを有効にすると、EMIFをこの位置に配置してFPGAデザインを実装する必要があることに注意してください。

システムにHPS EMIFがある場合は、未使用のHPS EMIFピンをFPGA汎用I/Oとして使用することができます。ただし、次の制約が伴います。

  • バンク3D、下側サブバンク (アドレス/コマンド + ECCデータのサブバンク)
    • レーン3は、ECCモードがアクティブな場合にのみデータビットに使用されます。ECCがアクティブかアクティブではないかにかかわらず、このレーンに汎用I/Oを配置しないでください。
    • レーン2、1、0は、SDRAMのアドレスとコマンドに使用されます。これらのレーンの未使用ピンは、FPGAファブリックで使用しないでください。
    • ALERT_Nピンはレーン2、ピン・インデックス8に配置する必要があります。これを柔軟に変更することはできません。
  • バンク3D、上側サブバンク (データビット31:0のサブバンク)
    • レーン3、2、1、0はデータビットに使用されます。
    • 32ビットのデータ幅の場合、このバンクの未使用ピンをFPGAファブリックで使用しないでください。
    • 16ビットのデータ幅の場合、レーン0と1はデータレーンとして使用されます。レーン0とレーン1の未使用ピンは、FPGAファブリックで使用しないでください。レーン2と3がHPS EMIFで使用されていない場合でも、レーン2と3の未使用ピンをFPGAファブリックで使用しないでください。
  • バンク3C、下側サブバンク (データビット63:32のサブバンク)
    • 64ビットのデータ幅の場合、レーン3、2、1、0はデータビット [63:32] に使用されます。これらのレーンの未使用ピンをFPGAファブリックで使用しないでください。
    • 32ビットのデータ幅の場合、下側サブバンク全体をFPGAファブリックで使用することができます。制約はありません。
  • バンク3C、上側サブバンク
    • HPS EMIFでは使用されません。3Cの下側サブバンクが64ビットのHPS EMIFで使用されていない場合は、このバンクの未使用ピンをFPGAファブリックで使用することができます。
    • 3Cの下側サブバンクが64ビットのHPS EMIFに使用されている場合は、次の制約が上側サブバンクに適用されます。
      • このサブバンクを使用して、より大きな非HPS EMIFを形成することができます。ただし、このサブバンクにアドレスとコマンドバンクを配置することはできません。
      • 1.5Vの真の差動信号はサポートされません。
      • I/O PLLのリコンフィグレーションはサポートされません。

デフォルトで、HPS IPコア向けの インテル® Agilex™ 外部メモリー・インターフェイスでは、 インテル® Quartus® Primeのフィッターを使用すると、開始点としての配置が自動的に実装されます。これは変更が必要な場合があります。その場合は、HPS EMIF固有の次の要件に従う必要があります。

  1. 単一のx8 DQSグループを実装する単一のデータレーン内では、次の内容が当てはまります。
    • DQピンには、インデックス0、1、2、3、8、9、10、11のピンを使用する必要があります。最終的なピン配置でこれらのインデックスのピンのみを使用している限り、DQビット間で位置を入れ替える (つまり、DQ[0] とDQ[3] の位置を入れ替える) ことが可能です。
    • DM/DBIピンには、インデックス6のピンを使用する必要があります。これを柔軟に変更することはできません。
    • DQSおよびDQS#はそれぞれ、インデックス4と5のピンを使用する必要があります。これを柔軟に変更することはできません。
    • ピン・インデックス7はファブリックで使用しないでください。また、汎用I/Oを実装することはできません。
  2. いずれの場合においても、DQSグループは、示されているI/Oバンクで入れ替えることが可能です。バンク3Dの下側サブバンクに配置されるECC DQSグループに対する要件はありません。
  3. バンク3Dの下側サブバンク (アドレスとコマンド + ECCデータのサブバンク) には、次の内容が当てはまります。
    • アドレスピンとコマンドピンの配置をデフォルトから変更してはなりません。
    • alert#ピンをレーン2、ピン・インデックス8に配置します。
    • このサブバンクにPLLリファレンス・クロックを配置します。このサブバンクにPLLリファレンス・クロックを配置していない場合は、デバイス・コンフィグレーションの問題が発生します。PLLリファレンス・クロックは、デバイスのコンフィグレーションを行う前に正しい周波数で動作している必要があります。
    • このサブバンクにRZQピンを配置します。このサブバンクにRZQピンを配置していない場合は、フィッターまたはデバイス・コンフィグレーションの問題が発生します。
  4. デフォルトで生成されたピン割り当てを上書きするには、.qipファイルで関連するHPS_LOCATION割り当てをコメントアウトし、独自の位置の割り当てを.qsfファイルに追加します (set_location_assignmentを使用)。