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

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

3.7.1. HPSを備える インテル® Stratix® 10 EMIF IPのI/Oバンク使用時の制約

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

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

注: この項で説明されている制約は、新しいデザインすべてに適用されます。すでに機能する既存のボードがある場合、これらの制約に準拠するためにボードを変更する必要はありません。

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

図 16.  インテル® Stratix® 10外部メモリー・インターフェイスのI/Oバンクとレーンの使用

HPS EMIFは、最も近くに位置する外部メモリー・インターフェイスI/Oバンクを使用しDRAMに接続します。

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

図 17. HPSを備える インテル® Stratix® 10外部メモリー・インターフェイスでのI/Oピンの使用に関する制約

システムでHPS EMIFが使用されていない場合、HPS EMIFバンク全体をFPGAの汎用I/Oとして使用できます。システムにHPS EMIFがある場合、未使用のHPS EMIFピンはFPGAの汎用I/Oとして使用することはできますが、次の制約をともないます。

  • バンク2M
    • バンク2Mのレーン3は、ECCモードがアクティブな場合にのみデータビットに使用されます。ECCがアクティブかどうかにかかわらず、このレーンに汎用I/Oを配置しないでください。
    • レーン2、1、0は、SDRAMのアドレスおよびコマンドに使用されます。これらのレーンの未使用ピンは、動作を保証できないためFPGAファブリックで使用しないでください。
  • バンク2Nおよびバンク2L
    • レーン3、2、1、0はデータビットに使用されます。
    • 64ビットのデータ幅の場合、これらのバンクの未使用ピンは、動作を保証できないためFPGAファブリックで使用しないでください。
    • 32ビットのデータ幅の場合、バンク2Nの未使用ピンは、動作を保証できないためFPGAファブリックで使用しないでください。バンク2Lのレーン0から3はHPS EMIFで使用されないため、これらのレーン内のピンはいずれもFPGAファブリックで使用できます。
    • 16ビットのデータ幅の場合、 インテル® Quartus® Primeはレーン0およびレーン1をバンク2Nのデータレーンとして割り当てます。これら2つのレーンの未使用ピンは、動作を保証できないためFPGAファブリックで使用しないでください。レーン2および3はHPS EMIFで使用されません。よって、これらのレーンのピンはFPGAファブリックで使用できます。

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

  1. 単一のx8 DQSグループを実装する単一のデータレーン内では
    • DQピンは、インデックス1、2、3、6、7、8、9、10のピンを使用する必要があります。最終的なピン配置がこれらのインデックスのピンのみを使用している限り、DQビット間で位置を入れ替える (つまり、DQ[0] とDQ[3] の位置を入れ替える) ことが可能です。
    • DM/DBIピンは、インデックス11のピンを使用する必要があります。これを柔軟に変更することはできません。
    • DQSおよびDQS#はそれぞれ、インデックス4と5のピンを使用する必要があります。これを柔軟に変更することはできません。
    • ピン・インデックス0は、許可される場合にalert#またはHPS REFCLK_P、もしくはアドレス/コマンド、または汎用I/Oに使用される以外は接続なしにする必要があります。
  2. 上記の図は、インターフェイスの幅に応じてデータレーンがどのように使用されるかの概要を示しています。次の表に、インターフェイスの幅とコンフィグレーションに応じて使用する必要があるI/OバンクとI/Oレーンを示します。
    コンフィグレーション DQSグループの配置
    16ビット 2NのI/Oレーン0および1に配置する必要があります。
    16ビット + ECC 2NのI/Oレーン0および1、2MのI/Oレーン3に配置する必要があります。
    32ビット 2Nに配置する必要があります。
    32ビット + ECC 2Nおよび2MのI/Oレーン3に配置する必要があります。
    64ビット 2Nおよび2Lに配置する必要があります。
    64ビット + ECC 2N、2Lおよび2MのI/Oレーン3に配置する必要があります。
    注:
    1. いずれの場合でも、DQSグループは示されているI/Oバンク内で入れ替えることが可能です。バンク2Mに配置されるECC DQSグループに対する要件はありません。
    2. バンク2MのI/Oレーン3は、ECCがオフになっている場合は使用できません。バンク2Mのレーン3に汎用I/Oを配置しないでください。
  3. I/Oバンク2Mのデフォルトの配置から、アドレスおよびコマンドピンの配置を変更しないでください。
  4. alert#ピンはI/Oバンク2N、レーン0、ピン・インデックス0、またはレーン1、ピン・インデックス0に配置します。そうでない場合、これらの位置は接続なしにする必要があります。
  5. PLLリファレンス・クロックは、アドレスおよびコマンドピンとともにI/Oバンク2Mに配置する必要があります。これに従わない場合、デバイスのコンフィグレーションの問題につながります。PLLリファレンス・クロックは、デバイスのコンフィグレーションの前に正しい周波数で動作している必要があります。
  6. RZQピンは、アドレスおよびコマンドピンとともにI/Oバンク2Mに配置する必要があります。これに従わない場合、フィッターまたはデバイスのコンフィグレーションの問題につながります。

デフォルトで生成されたピン割り当てを上書きするには、 .qipファイルの関連するHPS_LOCATION割り当てをコメントアウトし、独自の位置の割り当てを.qsfファイルに追加します (set_location_assignmentを使用)。