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

ID 683216
日付 12/14/2020
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バンクとレーンの使用方法を表しています。

図 24. インテルAgilexのHPSとEMIFでのI/Oバンクとレーンの使用

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

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

図 25. インテルAgilex外部メモリー・インターフェイスとHPSでのI/Oピン使用時の制約 (1/3)
図 26. インテルAgilex外部メモリー・インターフェイスとHPSでのI/Oピン使用時の制約 (2/3)
図 27. インテル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ピンはピン・インデックス8、レーン2に配置する必要があります。これを柔軟に変更することはできません。
  • バンク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を使用)。