外部メモリー・インターフェイス・インテル Stratix 10 FPGA IPユーザーガイド
バージョン情報
更新対象: |
---|
インテル® Quartus® Prime デザインスイート 19.3 |
IPバージョン 19.1.0 |
1. リリース情報
v19.1までは、IPのバージョンは インテル® Quartus® Primeデザインスイートのソフトウェア・バージョンと同じです。 インテル® Quartus® Primeデザインスイートのソフトウェア・バージョン19.2以降、IP コアには新しいIPバージョン管理スキームがあります。
IPバージョンの管理スキーム番号 (X.Y.Z) は、ソフトウェアのバージョンごとに変わります。それぞれの番号の変更は、以下を意味します。
- XはIPのメジャーリビジョンを示します。インテルQuartus Prime開発ソフトウェアを更新する場合、IPを再生成する必要があります。
- Yは、IPに新しい機能が含まれることを示します。IPを再生成し、これらの新しい機能を含めます。
- Zは、IPに軽微な変更が含まれることを示します。IPを再生成し、これらの変更を含めます。
項目 | 内容 |
---|---|
IPのバージョン | 19.1.0 |
インテル® Quartus® Prime | 19.3 |
リリース日 | 2019.09.30 |
2. 外部メモリー・インターフェイス・ インテル Stratix 10 FPGA IPの概要
EMIF IP コアの機能は、 インテル® Quartus® Prime開発ソフトウェアを使用し容易に実装することができます。また、 インテル® Quartus® Prime開発ソフトウェアは、FPGAにおけるIPの実装を検証するのに役立つ外部メモリー・ツールキットを提供します。
外部メモリー・インターフェイス・ インテル® Stratix® 10 FPGA IP (以降、 インテル® Stratix® 10 EMIF IPと呼びます) は、次のコンポーネントを提供します。
- データパスを構築し、FPGAとメモリーデバイス間のタイミング変換を管理する物理層インターフェイス (PHY)
- すべてのメモリーコマンドとプロトコルレベルの要件を実装するメモリー・コントローラー
外部メモリー・インターフェイスIPでサポートされる最大速度の詳細については、外部メモリー・インターフェイス・スペック・エスティメーターを参照してください。
インテル® Stratix® 10 EMIF IPのプロトコルおよび機能のサポート
- DDR4、DDR3、およびDDR3Lプロトコルを、ハード・メモリー・コントローラーとハードPHYとともにサポートします。
- QDR-IV、QDR II + Xtreme、QDR II +、およびQDR IIを、ソフト・メモリー・コントローラーとハードPHYを使用しサポートします。
- RLDRAM 3を、 サードパーティー製のソフト・コントローラーを使用しサポートします。
- UDIMM、RDIMM、LRDIMMおよびSODIMMメモリーデバイスをサポートします。
- DDR4デバイスの3Dスタックダイをサポートします。
- 最大4つの物理ランクをサポートします。
- ピンポンPHYモードをサポートし、2つのメモリー・コントローラーがコマンド、アドレス、および制御ピンを共有できるようにします。
- 誤り訂正コード (ECC) を、ハード・メモリー・コントローラーおよびソフト・メモリー・コントローラーの両方にサポートします。
2.1. インテル Stratix 10 EMIF IPのデザインフロー
次の図は、EMIF IPを使用し最速でのデザイン完了を実現するデザインフローを示しています。
2.2. インテル Stratix 10 EMIF IPのデザイン・チェックリスト
デザインにおける段階 | 説明 | リソース |
---|---|---|
FPGAの選択 | すべてのインテルFPGAが、すべてのメモリータイプとコンフィグレーションをサポートしているわけではありません。FPGAの選択には、右記のリソースを参照ください。 | |
IPのパラメーター化 | 的確なIPのパラメーター化は、EMIF IPを適切に運用するために重要です。これらのリソースは、IP生成時におけるメモリーのパラメーターを定義します。 | |
初期のIPおよびデザイン例の生成 | EMIF IPのパラメーター化を行うと、オプションでデザイン例とともにIPを生成することができます。この内容の詳細については、クイックスタート・ガイドを参照ください。 | |
機能のシミュレーションの実行 | EMIFデザインのシミュレーションは、適切なオペレーションの決定に役立ちます。これらのリソースは、シミュレーションの実行方法、およびシミュレーションとハードウェア実装における違いについて説明しています。 | |
ピンの割り当ての作成 | ピン配置のガイダンスについては、これらのリソースを参照してください。 | |
ボード・シミュレーションの実行 | ボードのシミュレーションは、シグナル・インテグリティー、ドライブ強度、および十分なタイミングマージンとアイ開口の最適な設定を決定するのに役立ちます。ボード・シミュレーションのガイダンスについては、これらのリソースを参照してください。 | |
IPのボード・パラメーターの更新 | ボードのシミュレーションは、シグナル・インテグリティー、ドライブ強度、および十分なタイミングマージンとアイ開口の最適な設定を決定するために重要です。ボード・シミュレーションのガイダンスについては、記載されているリソースを参照してください。 | |
タイミング・クロージャーの検証 | コンパイル、システムレベルのタイミング・クロージャー、およびタイミングレポートに関する情報については、このユーザーガイドの「タイミング・クロージャー」の章を参照してください。 | |
ハードウェアでのデザインの実行 | FPGAのプログラム方法については、このユーザーガイドのクイックスタート・ガイドの章を参照ください。 | |
これまでの段階における問題のデバッグ | オペレーション上の問題は一般的に、インターフェイスのコンフィグレーション、ピンおよびリソースのプランニング、シグナル・インテグリティー、またはタイミングのいずれかに起因する可能性があります。記載されているリソースには、ハードウェアの問題の診断に役立つ一般的なデバッグ手順と利用可能なツールに関する情報が含まれています。 |
3. インテル Stratix 10 EMIF IPの製品アーキテクチャー
3.1. インテル Stratix 10 EMIFのアーキテクチャー: 概要
以下は、 インテル® Stratix® 10 EMIFアーキテクチャーの主要なハードウェア機能です。
ハード・シーケンサー
シーケンサーはハードNios IIプロセッサーを採用しており、幅広いプロトコルのメモリー・キャリブレーションを実行できます。シーケンサーは、同じ、または異なるプロトコルの複数のメモリー・インターフェイスで共有できます。
ハードPHY
インテル® Stratix® 10デバイスのPHY回路はシリコンで強化されているため、タイミング・クロージャーを達成し、消費電力を最小限に抑えるという課題が単純になります。
ハード・メモリー・コントローラー
ハード・メモリー・コントローラーはレイテンシーを低減し、外部メモリー・インターフェイスでのコアロジックの消費を最小限に抑えます。ハード・メモリー・コントローラーは、DDR3およびDDR4のメモリー・プロトコルをサポートします。
PHY-Onlyモード
ハード・コントローラー (DDR3、DDR4、およびRLDRAM 3) を使用するプロトコルは、PHYのみのオプションを提供します。これはPHYとシーケンサーのみを生成し、コントローラーを生成しません。このPHY-Onlyモードは、独自のカスタム・ソフト・コントローラーを統合するメカニズムを提供します。
高速PHYクロックツリー
専用高速PHYクロック・ネットワークは、 インテル® Stratix® 10 EMIF IPのI/Oバッファーのクロックを提供します。PHYクロックツリーのジッターおよびデューティー・サイクルの歪みは少なく、データの有効ウィンドウを最大化します。
自動クロック位相アライメント
自動クロック位相アライメント回路は、コア・クロック・ネットワークのクロック位相を動的に調整し、PHYクロック・ネットワークのクロック位相に一致させます。クロック位相アライメント回路は、FPGAコアとペリフェラル間における転送のタイミング・クロージャーを複雑にする可能性があるクロックスキューを最小限に抑えます。
リソースの共有
インテル® Stratix® 10のアーキテクチャーは、メモリー・インターフェイス間のリソースの共有を簡素化します。OCTキャリブレーション・ブロック、 PLLリファレンス・クロック・ピンおよびコアクロックなどのリソースを共有することができます。I/Oサブシステム・マネージャー (I/O SSM) のハードNiosプロセッサーは、列内のすべてのインターフェイスで共有する必要があります。
3.1.1. インテル Stratix 10 EMIFのアーキテクチャー: I/Oサブシステム
I/Oサブシステムは、次の機能を提供します。
- 汎用I/OレジスターとI/Oバッファー
- オンチップ終端制御 (OCT)
- 外部メモリー・インターフェイスおよびユーザーロジックに向けたI/O PLL
- 低電圧差動信号 (LVDS)
- 次のような外部メモリー・インターフェイス・コンポーネント
- ハード・メモリー・コントローラー
- ハードPHY
- ハードNiosプロセッサーおよびキャリブレーション・ロジック
- DLL
3.1.2. インテル Stratix 10 EMIFのアーキテクチャー: I/O列
- 専用メモリーを備える強化型Niosプロセッサー。このNiosブロックは、I/O SSMと呼ばれます。
- 最大13のI/Oバンク。各I/Oバンクには、外部メモリー・インターフェイスに必要なハードウェアが含まれています。
3.1.3. インテル Stratix 10 EMIFのアーキテクチャー: I/O SSM
I/O SSMには専用メモリーが含まれ、それにキャリブレーション・アルゴリズムおよびキャリブレーション・ランタイム・データを保存します。強化型Nios IIプロセッサーおよび専用メモリーは外部メモリー・インターフェイスでのみ使用でき、他の用途には使用できません。I/O SSMは、Avalon-MMバスを介してデバッグ・ツールキットなどのソフトロジックにインターフェイスできます。
I/O SSMのクロックは、オンダイのオシレーターによって提供されます。よって、PLLを消費しません。
3.1.4. インテル Stratix 10 EMIFのアーキテクチャー: I/Oバンク
各I/OバンクはI/O列内あり、次のコンポーネントを含みます。
- ハード・メモリー・コントローラー
- シーケンサー・コンポーネント
- PLLおよびPHYクロックツリー
- DLL
- 入力DQSクロックツリー
- 48ピン (各12ピンの4つのI/Oレーンで編成されます)
I/Oバンクの使用
I/Oバンクのピンは、アドレスおよびコマンドピン、データピン、または外部メモリー・インターフェイスのクロックおよびストローブピンとして使用できます。DDR3またはDDR4 x8インターフェイスなどの狭いインターフェイスは、単一のI/Oバンクのみで実装可能です。72ビットまでの広いインターフェイスは、複数バンクのインターフェイスで隣接する複数のバンクをコンフィグレーションすることにより実装することができます。EMIF IPで使用されていないピンはいずれも、キャリブレーションされていないI/O Standardの汎用I/Oピンとして同じ電圧で使用できます。
各I/Oバンクには、DDR3またはDDR4にコンフィグレーション可能なハード・メモリー・コントローラーが含まれます。複数バンクのインターフェイスでは、1つのバンクのコントローラーのみがアクティブになります。残りのバンクのコントローラーは、節電のためオフになります。
複数バンクの インテル® Stratix® 10 EMIFインターフェイスを使用するには、次の規則に従う必要があります。
- 1つのバンクをアドレスおよびコマンドバンクとして指定します。
- アドレスおよびコマンドバンクは、すべてのアドレスおよびコマンドピンを含む必要があります。
- アドレスおよびコマンドバンク内の個々のアドレスおよびコマンドピンの位置は、ハード・メモリー・コントローラーを使用するかどうかにかかわらず、ピンの配置表で定義されているピンマップに従う必要があります。
- ハード・メモリー・コントローラーを使用する場合、アドレスおよびコマンドバンクはアクティブ・ハード・コントローラーを含みます。
列内のI/Oバンクはすべて、アドレスおよびコマンドバンクとして機能することができます。ただし、レイテンシーを最小限に抑えるには、インターフェイスの中央のバンクをアドレスおよびコマンドバンクとして選択する必要があります。
3.1.5. インテル Stratix 10 EMIFのアーキテクチャー: I/Oレーン
各I/Oレーンは、x8/x9読み出しキャプチャー・グループ (DQSグループ) を1つ実装でき、2つのピンが読み出しキャプチャーのクロックおよびストローブのペア (DQS/DQS#) として機能し、最大10のピンがデータピン (DQおよびDMピン) として機能します。x18およびx36グループの実装には、同じバンク内の複数のレーンを使用することができます。
x4グループのペアをレーンに実装することも可能です。その場合、4つのピンがクロック/ストローブ・ペアとして機能し、8つのピンがデータピンとして機能します。DMはx4グループでは使用できません。それぞれのインターフェイスには、偶数個のx4グループが必要です。
x4グループの場合、DQS0およびDQS1は同じI/Oレーンにペアとして配置する必要があります。同様に、DQS2およびDQS3をペアにする必要があります。一般的に、DQS (x) およびDQS (x+1) は、同じI/Oレーンでペアにする必要があります。
グループサイズ | 使用されるレーン数 | グループごとの最大データピン数 |
---|---|---|
x8 / x9 | 1 | 10 |
x18 | 2 | 22 |
x36 | 4 | 46 |
x4のペア | 1 | グループごとに4、レーンごとに8 |
3.1.6. インテル Stratix 10 EMIFのアーキテクチャー: 入力DQSクロックツリー
入力DQSクロックツリーは、x4モード、x8/x9モード、x18モード、またはx36モードでコンフィグレーション可能です。
各バンク内では、特定の位置にある特定の物理ピンのみが入力DQSクロックツリーを駆動できます。入力DQSクロックツリーを駆動できるピンの位置は、グループサイズによって異なります。
グループサイズ | クロックツリーが広がるレーンのインデックス | 読み出しキャプチャー・クロック/ストローブのペアに使用可能なピンのバンク内のインデックス | |
---|---|---|---|
プラス脚 | マイナス脚 | ||
x4 | 0A | 4 | 5 |
x4 | 0B | 8 | 9 |
x4 | 1A | 16 | 17 |
x4 | 1B | 20 | 21 |
x4 | 2A | 28 | 29 |
x4 | 2B | 32 | 33 |
x4 | 3A | 40 | 41 |
x4 | 3B | 44 | 45 |
x8 / x9 | 0 | 4 | 5 |
x8 / x9 | 1 | 16 | 17 |
x8 / x9 | 2 | 28 | 29 |
x8 / x9 | 3 | 40 | 41 |
x18 | 0、1 | 8 | 9 |
x18 | 2、3 | 32 | 33 |
x36 | 0、1、2、3 | 20 | 21 |
3.1.7. インテル Stratix 10 EMIFのアーキテクチャー: PHYクロックツリー
PHYクロックツリーの広がりは比較的短いため、ジッターとデューティー・サイクルの歪みが少なくなり、データの有効ウィンドウが最大化されます。
インテル® Stratix® 10デバイスのPHYクロックツリーは、最大1.3 GHzの速度で動作できます。 インテル® Stratix® 10の外部メモリー・インターフェイスはすべて、PHYクロックツリーを使用します。
3.1.8. インテル Stratix 10 EMIFのアーキテクチャー: PLLリファレンス・クロック・ネットワーク
複数のバンクに広がる インテル® Stratix® 10外部メモリー・インターフェイスは、それぞれのバンクのPLLを使用します。 インテル® Stratix® 10のアーキテクチャーは、比較的短いPHYクロック・ネットワークを可能にし、ジッターとデューティー・サイクルの歪みを低減します。
次のメカニズムにより、複数バンクのインターフェイスにおける個々のPLLのクロック出力を同相に維持しています。
- 単一のPLLリファレンス・クロック・ソースがすべてのPLLに供給されます。リファレンス・クロック信号は、バランスのとれたPLLリファレンス・クロック・ツリーでPLLに到達します。 インテル® Quartus® Prime開発ソフトウェアは自動的にPLLリファレンス・クロック・ツリーをコンフィグレーションし、クロックツリーが正しい数のバンクに広がるようにします。
- EMIF IPは、PLLのクロック分周器における同期を維持するPLLのMおよびNの値を適切に設定します。この要件により、特定のメモリー・インターフェイスの周波数とクロックレートに対する有効なPLLリファレンス・クロック周波数が制限されます。Stratix 10 EMIF IPパラメーター・エディターは、有効なPLLリファレンス・クロック周波数のセットを自動的に計算し表示します。オンボードのオシレーターを使用する場合、その周波数が、表示されるリストから選択するPLLリファレンス・クロック周波数と一致することを確認する必要があります。PLLの正しいMおよびNの値は、選択したPLL リファレンス・クロック周波数に基づき自動的に設定されます。
3.1.9. インテル Stratix 10 EMIFのアーキテクチャー: クロックの位相アライメント
クロックの位相アライメント機能は、コアとペリフェラル間のすべての転送においてクロックスキューの影響を効果的に除去し、タイミング・クロージャーを容易にします。Stratix 10外部メモリー・インターフェイスはすべて、クロック位相アライメント回路を採用しています。

3.2. インテル Stratix 10 EMIFシーケンサー
インテル® Stratix® 10 EMIFシーケンサーは次の動作を担います。
- メモリーデバイスの初期化
- 外部メモリー・インターフェイスのキャリブレーション
- メモリー・コントローラーへの制御のハンドオフの管理
- 再キャリブレーション要求およびデバッグ要求の処理
- サポートされるすべてのプロトコルとコンフィグレーションの処理
3.2.1. インテル Stratix 10 EMIF DQSトラッキング
DQSトラッキングは、QDRII/II+/II+ Xtreme、DR-IV、RLDRAM 3プロトコルで有効になります。DDR3およびDDR4には使用できません。QDRII/II+/II+ Xtreme、QDR-IV、RLDRAM 3において、DQSトラッキングは追跡を開始するための特定のコマンドを必要としません。これは、読み出しキャプチャー・クロック/ストローブがフリーランニングであるためです。回路が有効になると、追跡は絶えず自動的に行われます。
3.3. インテル Stratix 10 EMIFのキャリブレーション
キャリブレーション・プロセスにより、システムは次のような要因による影響を補償できます。
- セットアップ/ホールド・タイムおよびVrefの変動など、タイミングおよび電気的な制約
- スキュー、フライバイの影響、製造時のばらつきなど、回路基板とパッケージ上の要因
- 電圧や温度の変動などの環境上の不確実性
- 高速オペレーションに付随する小さなマージンへの厳しい要求
特定の外部メモリー・インターフェイスでは、キャリブレーションはDQSグループとI/Oバンクすべてに並行に行われます。複数の外部メモリー・インターフェイスを含むI/O列の場合、インターフェイスに関する特定のキャリブレーション順序はありません。ただし、特定のSRAMオブジェクト・ファイル (.sof) においては、キャリブレーションはかならず同じ順序で行われます。
3.3.1. インテル Stratix 10キャリブレーションの段階
キャリブレーションの段階は、外部メモリー・インターフェイスのプロトコルによって異なります。
段階 | DDR4 | DDR3 | RLDRAM 3 | QDR-IV | QDR II/II+ |
---|---|---|---|---|---|
アドレスおよびコマンド | |||||
レベリング | はい | はい | — | — | — |
デスキュー | はい | — | — | はい | — |
読み出し | |||||
DQSen | はい | はい | はい | はい | はい |
デスキュー | はい | はい | はい | はい | はい |
VREF-In | はい | — | — | はい | — |
LFIFO | はい | はい | はい | はい | はい |
書き込み | |||||
レベリング | はい | はい | はい | はい | — |
デスキュー | はい | はい | はい | はい | はい |
VREF-Out | はい | — | — | — | — |
3.3.2. インテル Stratix 10キャリブレーションの段階の説明
アドレスおよびコマンドのキャリブレーション
アドレスおよびコマンドのキャリブレーションの目的は、必要に応じてアドレスおよびコマンド信号を遅延し、アドレスおよびコマンドウィンドウを最適化することです。この段階はすべてのプロトコルで利用できるわけではありません。また、不適切に実装されたボードデザインを補償することはできません。
- レベリング・キャリブレーション— CKクロックに対して、CS#信号とアドレスおよびコマンドバス全体を中央に揃えます。この操作は、DDR3およびDDR4インターフェイスでのみ利用可能です。
- デスキュー・キャリブレーション— CKクロックに対するアドレスおよびコマンドバスのビットごとのスキュー調整を提供します (CS#を除く)。この操作は、DDR4およびQDR-IVインターフェイスでのみ使用可能です。
読み出しのキャリブレーション
読み出しのキャリブレーションは、次の内容で構成されます。
- DQSenキャリブレーション— 読み出しキャプチャー・クロックのゲーティングとゲーティング解除のタイミングをキャリブレーションします。これによりPHYは、正確な時間で読み出しクロックのゲーティングおよび解除を行うことができます。ゲーティングおよびその解除が早すぎたり遅すぎたりする場合、データの破損が発生する可能性があります。キャリブレーションのこの段階のアルゴリズムは、メモリー・プロトコルによって異なります。
- デスキュー・キャリブレーション— 読み出しストローブまたはクロックに対して読み出しデータのビットごとのスキュー調整を実行します。
- VREF-Inキャリブレーション— VREFレベルをFPGAでキャリブレーションします。
- LFIFOキャリブレーション: フライバイ、スキュー、その他の変動および不確実性によって起こるグループ間の読み出し遅延の差を正規化します。
書き込みのキャリブレーション
書き込みのキャリブレーションは、次の内容で構成されます。
- レベリング・キャリブレーション— 書き込みストローブとクロックをメモリークロックにアライメントし、特にフライバイトポロジーに関連するスキューを補償します。キャリブレーションのこの段階のアルゴリズムは、メモリー・プロトコルによって異なります。
- デスキュー・キャリブレーション— 書き込みストローブおよびクロックに対して書き込みデータのビットごとのスキュー調整を行います。
- VREF-Outキャリブレーション— VREFレベルをメモリーデバイスでキャリブレーションします。
3.3.3. インテル Stratix 10のキャリブレーション・フローチャート
3.3.4. インテル Stratix 10のキャリブレーション・アルゴリズム
アドレスおよびコマンドのキャリブレーション
アドレスおよびコマンドのキャリブレーションは、次の内容で構成されます。- レベリング・キャリブレーション— (DDR3およびDDR4のみ) CS#およびCAS#信号をトグルし、読み出しコマンドを送信します。そのほかのアドレスおよびコマンド信号は一定に保たれます。アルゴリズムは到着するDQS信号をモニターし、DQS信号がトグルすると、読み出しコマンドが受け入れられたことを示します。その後アルゴリズムは異なる遅延値を使用して繰り返し、最適なウィンドウを探します。
- デスキュー・キャリブレーション— (DDR4およびQDR-IVのみ)
- (DDR4) DDR4のアドレスおよびコマンドパリティー機能を使用します。FPGAはアドレスおよびコマンド・パリティー・ビットを送信し、DDR4メモリーデバイスはパリティービットが検出されると警告信号で応答します。メモリーデバイスからの警告信号は、パリティービットが受信されたことをFPGAに伝えます。
デスキュー・キャリブレーションはPAR/ALERT#ピンを使用する必要があるため、これらのピンをデザインから省略しないでください。デスキュー・キャリブレーションにおける制限の1つは、ODTおよびCKEピンのスキュー調整ができないことです。
- (QDR-IV) QDR-IVのループバック・モードを使用します。FPGAはアドレスおよびコマンド信号を送信し、メモリーデバイスは読み出しデータピンを介してキャプチャーしたアドレスおよびコマンド信号を送り返します。返される信号は、メモリーデバイスがキャプチャーした内容をFPGAに示します。デスキュー・キャリブレーションでは、同期しているすべてのアドレスおよびコマンド信号のスキュー調整を行うことができます。注: ループバック・モードに関する詳細は、お使いのQDR-IVメモリーデバイスのデータシートを参照ください。
- (DDR4) DDR4のアドレスおよびコマンドパリティー機能を使用します。FPGAはアドレスおよびコマンド・パリティー・ビットを送信し、DDR4メモリーデバイスはパリティービットが検出されると警告信号で応答します。メモリーデバイスからの警告信号は、パリティービットが受信されたことをFPGAに伝えます。
読み出しのキャリブレーション
- DQSenキャリブレーション— (DDR3、DDR4、RLDRAMxおよびQDRx) DQSenキャリブレーションは読み出しのスキュー調整前に行われるため、読み出しの合格を成功させるには、単一のDQビットのみ合格することが必要です。
- (DDR3およびDDR4) DQSenキャリブレーション・アルゴリズムは、ハードウェアのステートマシンを使用してDQSプリアンブルを検索します。アルゴリズムは、1クロックサイクル間隔で多くの連続する読み出しを送信します。ハードウェアのステートマシンは、DQSenの遅延値をスイープしながらDQSのギャップを検索します。アルゴリズムはその後VFIFOの値を増加させ、パターンが見つかるまでプロセスを繰り返します。このプロセスはそのほかの読み出しDQSグループすべてで繰り返されます。
- (RLDRAMxおよびQDRx) DQSenキャリブレーション・アルゴリズムはハードウェアのステートマシンを使用しません。代わりに、ソフトウェアを使用してサイクルレベルの遅延をキャリブレーションし、DQSトラッキング・ハードウェアを使用してサブサイクルの遅延をキャリブレーションします。このアルゴリズムはメモリー内の正確なデータを必要とするため、保証された書き込みに依存します。 (0のバーストを1つの位置に書き込み、1のバーストを別の位置に書き込みます。これらの2つの位置からの連続する読み出しを読み出しのキャリブレーションに使用します。)
アルゴリズムはDQSトラッキングを有効にし、DQSイネーブルの位相コンポーネントをキャリブレーションします。その後保証された書き込みを発行し、連続する読み出しが続きます。アルゴリズムは読み出し動作が成功するまでDQSenの値をサイクルごとにスイープします。このプロセスはほかの読み出しグループすべてで繰り返されます。
- デスキュー・キャリブレーション— 読み出しのデスキュー・キャリブレーションは書き込みのレベリングの前に行われます。また、少なくとも2回実行する必要があります (保証された書き込みからの単純なデータパターンを使用して書き込みのキャリブレーション前に1回、複雑なデータパターンを使用して書き込みキャリブレーション後に1回)。
デスキュー・キャリブレーションのアルゴリズムは保証された書き込みを実行し、dqs_inの遅延値を低から高にスイープし、読み出しウィンドウの右のエッジを見つけます。アルゴリズムはその後、dq-inの遅延値を低から高にスイープし、 読み出しウィンドウの左のエッジを見つけます。更新されたdqs_inおよびdq_inの遅延値は、読み出しウィンドウを中央に配置するために適用されます。アルゴリズムはその後、このプロセスをすべてのデータピンで繰り返します。
- Vref-Inキャリブレーション— 読み出しのVref-Inキャリブレーションは、Vref-Inを任意の値でプログラミングすることから始まります。次にアルゴリズムはVref-Inの値を開始値から両端までスイープし、それぞれの値の読み出しウィンドウを測定します。アルゴリズムは、最大の読み出しウィンドウを提供するVref-Inの値を選択します。
- LFIFOキャリブレーション— 読み出しのLFIFOキャリブレーションは、グループ間の読み出し遅延を正規化します。PHYは、すべてのデータを単一のデータバスとしてコントローラーに提供する必要があります。LFIFOレイテンシーは、最も遅い読み出しデータグループに対して、また、FIFO間における適切な同期に対応できるように十分な大きさである必要があります。
書き込みのキャリブレーション
- レベリング・キャリブレーション—
書き込みのレベリング・キャリブレーションは、書き込みストローブとクロックをメモリークロックにアライメントし、スキューを補償します。一般的にレベリング・キャリブレーションではさまざまな遅延値を使用して書き込みウィンドウのエッジを決定し、ウィンドウを中央に配置するのに適切な値を選択します。アルゴリズムの詳細は、メモリープロトコルによって異なります。
- (DDRx) 書き込みのレベリングは書き込みのスキュー調整前に行われるため、合格を登録するには1つのDQビットが成功することのみ必要です。書き込みのレベリングはDQバスを動かし、少なくとも1つのDQビットが有効な書き込みウィンドウ内に収まるようにします。
- (RLDRAMx) CKとDKの関係を最適化します。
- (QDR-IV) CKとDKの関係を最適化します。ループバック・モードを使用したアドレスおよびコマンドのスキュー調整で網羅されます。
- (QDR II/II+/Xtreme) Kクロックが唯一のクロックであるため、書き込みのレベリングは必要ありません。
- デスキュー・キャリブレーション— 書き込みストローブとクロックに対してビットごとの書き込みデータのスキュー調整を実行します。書き込みのデスキュー・キャリブレーションはdqs_outの遅延を変更しません。書き込みクロックは、書き込みのレベリング時にCKクロックにアライメントされます。
- VREF-Outキャリブレーション— (DDR4) VREFレベルをメモリーデバイスでキャリブレーションします。VREF-Outキャリブレーション・アルゴリズムは、VREF-Inキャリブレーション・アルゴリズムに類似しています。
3.4. インテルStratix 10 EMIF IPコントローラー
3.4.1. ハード・メモリー・コントローラー
ハード・メモリー・コントローラーは効率的なパイプライン化技術と、コマンドおよびデータの動的な並べ替えの高度なアルゴリズムを実装しており、帯域幅の使用率の改善およびレイテンシーの低減を行うことで高性能なソリューションを提供します。
コントローラーのアーキテクチャーはモジュラーであり、単一のI/Oバンクに収まります。この構造により、次の内容が可能になります。
- 下記のいずれかでの各I/Oバンクのコンフィグレーション
- メモリー・インターフェイスのすべてのアドレスおよびコマンドピンを駆動する制御パス
- DDRタイプのインターフェイスの最大32のデータピンを駆動するデータパス
- メモリー・コントローラーの任意の位置への配置
- 複数のバンクをまとめてパッキングし、72 ビットまでの異なる幅のメモリー・インターフェイスの形成
- 必要に応じてハード・メモリー・コントローラーをバイパスし、カスタムIPを使用

ハード・メモリー・コントローラーは次のロジックブロックで構成されています。
- コアおよびPHYインターフェイス
- メイン制御パス
- データ・バッファー・コントローラー
- 読み出しおよび書き込みデータバッファー
コア・インターフェイスはAvalon®メモリーマップド (Avalon-MM) インターフェイスをサポートします。インターフェイスは、アルテラPHYインターフェイス (AFI) を使用しPHYと通信します。制御パス全体は、メイン制御パスとデータ・バッファー・コントローラーに分かれています。
3.4.1.1. ハード・メモリー・コントローラーの機能
機能 | 説明 |
---|---|
メモリー規格のサポート |
次のメモリー規格をサポートします。
|
サポートされるメモリーデバイス | 次のメモリーデバイスをサポートします。
|
3Dスタックダイのサポート | DDR4の3Dスタックダイの2と4の高さをサポートし、メモリー容量を増やします。 |
メモリー・コントローラー・バイパス・モード | このコンフィグレーション可能なモードを使用してハード・メモリー・コントローラーをバイパスし、ご自身でカスタマイズしたコントローラーを使用することが可能です。 |
ピンポン・コントローラー・モード | このコンフィグレーション可能なモードを使用し、2つのメモリー・コントローラーが同じアドレスとコマンドピンのセットを時分割で共有できるようにします。 |
インターフェイス・プロトコルのサポート |
|
レートサポート | ハード・メモリー・コントローラーはハーフレートで動作します。コアロジックからのメモリー・アクセス・コマンドをハーフレートまたはクォーターレートで受け入れることが可能です。 |
コンフィグレーション可能なメモリー・インターフェイス幅 | 8から72ビットのデータ幅を8ビットのインクリメントでサポートします。 |
複数ランクのサポート | 以下をサポートします。
|
バーストアダプター |
コントローラーのローカル・インターフェイスで1から127のバースト長を受け入れ、バーストを効率的なメモリーコマンドにマッピングすることが可能です。Avalon-MM仕様に厳密に従う必要があるアプリケーションの場合、最大バースト長は64です。 DDR3およびDDR4に対するバースト・チョップ・サポートはありません。 |
効率を最適化するための機能 |
|
ユーザーが要求する優先順位 | コマンドに優先順位を割り当てることができます。この機能を使用すると、優先順位の高いコマンドをより早く発行するように指定することが可能になり、遅延が低減されます。 |
スタベーション・カウンター | 事前に定義されたタイムアウト期間後にすべての要求が処理されるようにします。これにより、効率化に向けてデータを並べ替える際に優先度の低いアクセスが取り残されなくなります。 |
アドレス/コマンド・バスのタイミング |
コマンドの帯域幅を最大化するために、1つのコントローラー・クロック・サイクルでメモリーコマンドの数を倍にすることができます。
注: Quasi-1TおよびQuasi-2Tアドレス指定は、ピンポンPHYでサポートされていません。
|
バンク・インターリーブ | 「ランダム」なアドレスに連続して読み出しまたは書き込みコマンドを発行できます。バンクアドレスを正しくサイクルさせる必要があります。 |
オンダイ終端 | コントローラーは、メモリーのオンダイ終端信号を制御します。この機能はシグナル・インテグリティーを向上させ、ボードデザインを簡素化します。 |
リフレッシュ機能 |
|
ECCサポート |
|
DQSトラッキング | DQSのタイミングを追跡し、DQSエッジにアライメントするように自動調整を行います。 |
省電力に向けた機能 |
|
モード・レジスター・セット | メモリー・モード・レジスターにアクセスします。 |
DDR4の機能 |
|
ユーザーZQキャリブレーション | DDR3もしくはDDR4に対するロングまたはショートZQキャリブレーション要求 |
3.4.1.2. ハード・メモリー・コントローラーのメイン制御パス
- コマンドを処理するパイプラインを含みます。
- すべてのタイミング・パラメーターを監視します。
- メモリー・アクセス・コマンド間の依存関係を追跡します。
- メモリー・アクセス・ハザードから保護します。
コンポーネント | 説明 |
---|---|
入力インターフェイス |
|
コマンド・ジェネレーターとバーストアダプター |
|
タイミング・バンク・プール |
|
アービター |
|
グローバルタイマー |
以下を含むグローバルタイミング制約を追跡します。
|
MMR/IOCSR |
|
サイドバンド |
リフレッシュおよびパワーダウン機能を実行します。 |
ECCコントローラー |
ECCのエンコーディングとデコーディングはソフトロジックで実行されますが1、ECCコントローラーはリードモディファイライトのステートマシンをハード・ソリューションで維持します。 |
AFIインターフェイス |
メモリー・コントローラーはこのインターフェイスを使用してPHYと通信します。 |
3.4.1.3. データ・バッファー・コントローラー
- データバッファーへの読み出しおよび書き込みアクセスを管理します。
- 書き込みデータが受け入れられる、もしくは返された読み出しデータが到着する際に、データを格納するバッファーへのポインターを提供します。
- 書き込みデータがメモリーにディスパッチされる、もしくは読み出しデータがバッファーから読み出されてユーザーに返送される際に、ドレインポインターを提供します。
- 必要な書き込みレイテンシーを満たします。
- ECCサポートが有効になっている場合、リードモディファイライトを実行するメイン制御パスを支援します。
データの並べ替えは、データ・バッファー・コントローラーとデータバッファーを使用して実行されます。
各I/Oバンクは、各バンク内で分割されているデータ・バッファー・レーンに対する2つのデータ・バッファー・コントローラー・ブロックを含みます。タイミングの改善には、データ・バッファー・コントローラーを物理的にI/Oレーンの近くに配置します。
3.4.2. インテル Stratix 10ハード・メモリー・コントローラーのレート変換機能
タイミング・クロージャーを容易にするために、クォーターレートのクロックをコア・ユーザー・ロジックに使用することが選択できます。これはエリアとレイテンシーを増加させますが、タイミング・クロージャーは容易になります。効率を改善し、全体的なレイテンシーを低減するために、ハード・メモリー・コントローラーとPHYをハーフレートで実行できます。
レート変換機能では、FPGAコアからハード・メモリー・コントローラーへのトラフィックをクォーターレートからハーフレートに変換し、ハード・メモリー・コントローラーからFPGAコアへのトラフィックをハーフレートからクォーターレートに変換します。FPGAコア内のユーザーロジックの観点から考えると、ハード・メモリー・コントローラーがクォーターレートで動作しているのと同じ結果になります。
次の条件がすべて満たされている場合、レート変換機能はIP生成中に自動的に有効になります。
- ハード・メモリー・コントローラーが使用されている。
- ユーザーロジックがクォーターレートで実行される。
- インターフェイスがES2または量産デバイスを対象としている。
- ハード・メモリー・コントローラーをハーフレートで実行しても、ハード・メモリー・コントローラーとハードPHYのfMax仕様を超えない。
レート変換機能が有効になっている場合、IP生成のGUIに次の情報メッセージが表示されます。
PHY and controller running at 2x the frequency of user logic for improved efficiency.3.5. 複数の インテル Stratix 10 EMIFでのハードウェア・リソースの共有
3.5.1. I/O SSMの共有
列に複数のメモリー・インターフェイスが含まれる場合、 Nios® IIプロセッサーは各インターフェイスを連続的にキャリブレーションします。同じI/O列内に配置されたインターフェイスはかならず同じI/O SSMを共有します。 インテル® Quartus® Primeフィッターは、I/O SSMの共有を自動的に処理します。
3.5.2. I/Oバンクの共有
I/Oバンクを共有する際の規則
- バンクは、複数のインターフェイスのアドレスおよびコマンドバンクとして機能することはできません。すなわち、異なるインターフェイスのアドレスおよびコマンドピンを実装するレーンを、同じ物理バンクに割り当てることはできません。注: 2つのインターフェイスがピンポンPHY方式でコンフィグレーションされている場合、上記規則に例外が発生します。このようなコンフィグレーションでは、2つのインターフェイスが同じアドレスおよびコマンドピンのセットを共有します。つまり事実上、同じアドレスおよびコマンドタイルを共有します。
- レーン内のピンを複数のメモリー・インターフェイスで共有することはできません。
- EMIF IPに使用されていないバンク内のピンは、キャリブレーションされていないI/O Standardの汎用I/Oピンとして同じ電圧で使用できます。
- バンクをLVDSまたはEMIFでコンフィグレーションすることはできますが、両方を同時にコンフィグレーションすることはできません。
- バンクを共有するインターフェイスは、隣接するバンク位置に属する必要があります。
次の図は、I/Oバンクを共有する2つのx16インターフェイスを表しています。2つのインターフェイスは同じクロック位相アライメント・ブロックを共有するため、1つのコアクロック信号が両方のインターフェイスと通信できます。共有しない場合、2つのインターフェイスは3つではなく合計4つの物理バンクを占有します。
3.5.3. PLLリファレンス・クロックの共有
PLLリファレンス・クロックの共有には、次の要件を満たす必要があります。
- インターフェイスは同じ周波数のリファレンス・クロック信号を想定する必要があります。
- インターフェイスは同じ列に配置されている必要があります。
- インターフェイスは隣接するバンク位置に配置されている必要があります。
3.5.4. コア・クロック・ネットワークの共有
コア・クロック・ネットワークの共有は、次のような理由により検討される場合があります。
- クロック・ドメイン・クロッシングによって課されるエリアとレイテンシーへの影響を最小限に抑えるため。
- コア・クロック・ネットワークの消費を最小限に抑えるため。
複数のメモリー・インターフェイスは、次の条件下において同じコアクロック信号を共有できます。
- メモリー・インターフェイスのプロトコル、レート、周波数、およびPLLリファレンス・クロック・ソースが同じである場合。
- インターフェイスが同じI/O列に属する場合。
- インターフェイスが隣接するバンク位置に属する場合。
複数のメモリー・インターフェイスでコアクロックを共有するには、インターフェイスの1つをマスターとして指定し、残りのインターフェイスをスレーブとして指定する必要があります。パラメーター・エディターのCore clocks sharing設定を使用し、マスターとスレーブを指定します。
RTLで、マスター・インターフェイスからのclks_sharing_master_out信号を、すべてのスレーブ・インターフェイスのclks_sharing_slave_in信号に接続します。マスターおよびスレーブ・インターフェイスはどちらも、出力クロックポートをRTLで公開しますが (emif_usr_clk、afi_clkなど)、信号は同等であるため、マスターとスレーブのクロックポートのどちらを使用するかは問題になりません。
コアクロックの共有には、PLLリファレンス・クロックの共有が必要です。そのため、マスター・インターフェイスのみがPLLリファレンス・クロックの入力ポートを公開します。スレーブ・インターフェイスはすべて、同じPLLリファレンス・クロック信号を使用します。
3.6. インテル Stratix 10 EMIF IPでのユーザーによって要求されるリセット
説明 | |
---|---|
リセットに関連する信号 |
local_reset_req (入力) local_reset_done (出力) |
ユーザーロジックはいつリセットを要求できるか |
local_reset_reqは、local_reset_doneがHighになっている場合にのみ有効です。 デバイスの電源投入後に最初のキャリブレーションが完了すると、キャリブレーションが成功したかどうかにかかわらず、local_reset_done信号はHighに遷移します。 |
ユーザーが要求するリセットは必要要件か |
ユーザーが要求するリセットはオプションです。I/O SSMは、デバイスの電源投入シーケンスの一部としてメモリー・インターフェイスが既知の状態から開始することを自動的に保証します。ユーザーが要求するリセットは、デバイスの電源投入シーケンス後にユーザーロジックがメモリー・インターフェイスを明示的にリセットする必要がある場合にのみ必要です。 |
ユーザーが要求したリセットは実際にいつ発生するか |
リセット要求は、I/O SSMによって処理されます。I/O SSMが同じI/O列内の複数のインターフェイスからリセット要求を受信した場合、個々のインターフェイスのリセットシーケンスをシリアル化する必要があります。要求を発行した後にリセットシーケンスがいつ開始されるかについての仮定は避ける必要があります。 |
タイミング要件とトリガーメカニズム |
リセット要求は、local_reset_req信号をLowからHighに遷移させ、信号をHighの状態で最低2 EMIFコア・クロック・サイクル間維持した後、信号をHighからLowに遷移させることで送信されます。local_reset_reqは、満たすべきセットアップまたはホールドのタイミングがないという点で非同期ですが、2 EMIFコア・クロック・サイクルの最小パルス幅要件を満たす必要があります。 |
外部メモリー・インターフェイスをリセット状態に維持できる期間について |
外部メモリー・インターフェイスを無期限にリセットに維持することはできません。local_reset_reqを連続的にHighにアサートした場合でも、リセット要求は完全な0->1->0パルスで完了するため効果はありません。 |
初期キャリブレーションの延期 |
初期のキャリブレーションを省略することはできません。local_reset_done信号は、初期のキャリブレーションが完了した後にのみHighに駆動されます。 |
外部メモリー・インターフェイス内のスコープのリセット |
EMIFをパワーアップ状態に戻すために必要な回路のみがリセットされます。リセットシーケンスから除外されるのは、IOSSM、IOPLL、DLL、およびCPAです。 |
I/O列内のスコープのリセット |
local_reset_reqは、各インターフェイスのリセットです。 |
ユーザーが要求するリセットの開始方法
ステップ1: 前提条件
local_reset_reqをアサートする前に、ユーザーロジックはlocal_reset_done信号がHighになっていることを確認する必要があります。
デバイスの電源投入シーケンスの一部として、インターフェイス・キャリブレーション・シーケンスが完了すると、キャリブレーションが成功したかどうかにかかわらず、local_reset_done信号は自動的にHighに遷移します。
ステップ2: リセット要求
前提条件が満たされた後、ユーザーロジックはlocal_cal_req信号をLowからHighに駆動し、Lowに再度戻す (パルス1を送信する) ことでリセット要求を送信することができます。
- LowからHighおよびHighからLowへの遷移は非同期で発生させることができます。すなわち、クロックエッジに対して発生する必要はありません。ただし、パルスは最低2 EMIFコア・クロック・サイクルの最小パルス幅を満たしている必要があります。例えば、emif_usr_clkの周期が4 nsの場合、local_reset_reqパルスは少なくとも8 ns (emif_usr_clkの2周期) 持続する必要があります。
- リセット要求は、HighからLowへ遷移した後にのみ完了したとみなされます。EMIF IPは、local_reset_reqが単にHighに維持されている場合はリセットシーケンスを開始しません。
- local_reset_reqへの追加パルスは、リセットシーケンスが完了するまで無視されます。
オプション: local_reset_doneのディアサートとアサートの検出
必要な場合は、local_reset_done信号の状態を監視し、リセットシーケンスの状態を明示的に検出できます。
- EMIF IPはリセット要求を受信すると、local_reset_done信号をディアサートします。電源投入時の初期のキャリブレーション後、local_reset_doneはユーザーが要求するリセットに応じてのみアサート解除されます。実際のタイミングは現在のI/O SSMの状態に依存しますが、local_reset_doneがLowに遷移すると、リセットシーケンスは間近に迫っています。EMIFリセットシーケンスの一部として、コアリセット信号 (emif_usr_reset_n、 afi_reset_n) はLowに駆動されます。コアリセット信号によるレジスター・リセットを、local_reset_doneのサンプリングに使用しないでください。
- リセットシーケンスが完了すると、local_reset_doneは再度Highに駆動されます。Highに駆動されているlocal_reset_doneは、リセットシーケンスの完了および、新しいリセット要求の受け入れ準備ができていることを示します。ただし、キャリブレーションが成功したことや、ハード・メモリー・コントローラーが要求を受け入れる準備ができていることを意味するものではありません。これに関しては、ユーザーロジックはafi_cal_success、afi_cal_fail、amm_readyなどの信号を確認する必要があります。
3.7. ハード・プロセッサー・サブシステムに向けての インテル Stratix 10 EMIF
インテル® Stratix® 10 HPSと インテル® Stratix® 10 EMIF IP間の接続を有効にするには、HPS IP コアに向けた インテル® Stratix® 10外部メモリー・インターフェイスのインスタンスを作成およびコンフィグレーション後、プラットフォーム・デザイナーを使用してそれをシステムの インテル® Stratix® 10ハード・プロセッサー・サブシステムに接続します。
サポートされるモード
インテル® Stratix® 10ハード・プロセッサー・サブシステムは、次の外部メモリーのコンフィグレーションと互換性があります。
プロトコル | DDR3、DDR4 |
最大メモリークロック周波数 |
DDR3: 933 MHz DDR4: 1200 MHz
|
コンフィグレーション | ハード・メモリー・コントローラーを備えるハードPHY |
PHYおよびハード・メモリー・コントローラーのクロックレート | ハーフレート |
データ幅 (ECCがない場合) | 16ビット、32ビット、64ビット |
データ幅 (ECCがある場合) | 24ビット、40ビット、72ビット |
グループごとのDQ幅 | ×8 |
アドレス/コマンドのI/Oレーンの最大数 | 3 |
メモリー形式 | ディスクリート、UDIMM、SODIMM、RDIMM |
ランクまたはCS#の幅 | 最大2 |
3.7.1. HPSを備える インテル Stratix 10 EMIF IPのI/Oバンク使用時の制約
I/Oバンクの使用に関する制約は、 インテル® Stratix® 10 HPSがHPSに最も近いI/OバンクのEMIF回路にハードワイヤード接続されるために発生します。特定のEMIFコンフィグレーションでは、EMIFとHPS間のインターフェイスのピン配置は固定されています。
次の図は、EMIFとHPS間のさまざまなデータ幅に対するI/Oバンクとレーンの使用方法を表しています。
HPS EMIFは、最も近くに位置する外部メモリー・インターフェイスI/Oバンクを使用しDRAMに接続します。
次の図は、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固有の次の要件に準拠する必要があります。
- 単一の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に使用される以外は接続なしにする必要があります。
- 上記の図は、インターフェイスの幅に応じてデータレーンがどのように使用されるかの概要を示しています。次の表に、インターフェイスの幅とコンフィグレーションに応じて使用する必要がある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に配置する必要があります。 注:- いずれの場合でも、DQSグループは示されているI/Oバンク内で入れ替えることが可能です。バンク2Mに配置されるECC DQSグループに対する要件はありません。
- バンク2MのI/Oレーン3は、ECCがオフになっている場合は使用できません。バンク2Mのレーン3に汎用I/Oを配置しないでください。
- I/Oバンク2Mのデフォルトの配置から、アドレスおよびコマンドピンの配置を変更しないでください。
- alert#ピンはI/Oバンク2N、レーン0、ピン・インデックス0、またはレーン1、ピン・インデックス0に配置します。そうでない場合、これらの位置は接続なしにする必要があります。
- PLLリファレンス・クロックは、アドレスおよびコマンドピンとともにI/Oバンク2Mに配置する必要があります。これに従わない場合、デバイスのコンフィグレーションの問題につながります。PLLリファレンス・クロックは、デバイスのコンフィグレーションの前に正しい周波数で動作している必要があります。
- RZQピンは、アドレスおよびコマンドピンとともにI/Oバンク2Mに配置する必要があります。これに従わない場合、フィッターまたはデバイスのコンフィグレーションの問題につながります。
デフォルトで生成されたピン割り当てを上書きするには、 .qipファイルの関連するHPS_LOCATION割り当てをコメントアウトし、独自の位置の割り当てを.qsfファイルに追加します (set_location_assignmentを使用)。
3.7.2. インテル Stratix 10 HPSインターフェイスでのEMIFデバッグ・ツールキットの使用
EMIFデバッグ・ツールキットを使用して インテル® Stratix® 10 HPSインターフェイスをデバッグするには、同様にパラメーター化されたHPS以外のバージョンのインターフェイスを作成し、EMIFデバッグ・ツールキットをそのインターフェイスに適用する必要があります。この非HPSインターフェイスのデバッグ終了後、必要な変更をHPSインターフェイスに適用してデザインの開発を続行できます。
3.8. インテル Stratix 10 EMIFピンポンPHY
インテル® Stratix® 10 EMIFにおいてピンポンPHYは、DDR3の場合はハーフレートとクォーターレートのインターフェイスをどちらもサポートし、DDR4の場合はクォーターレートのインターフェイスをサポートします。
3.8.1. インテル Stratix 10のピンポンPHY機能の説明
ピンポンPHYにおいて、2つの独立したコントローラーからのアドレスおよびコマンド信号は、コントローラー出力の1つを1フルレート・クロックサイクル遅延させることにより共有バスに多重化されます。そのため1Tのタイミングとなり、新しいコマンドはフルレートのクロックサイクルごとに発行されます。次の図は、ピンポンPHYのアドレスとコマンドのタイミングを表しています。
コマンド信号のCS、ODTおよびCKEには2つの信号があります (Ping用およびPong用)。ほかのアドレスおよびコマンド信号は共有されます。
3.8.2. インテル Stratix 10ピンポンPHYのアーキテクチャー
一次インターフェイスのハード・メモリー・コントローラーのI/Oバンクは、アドレスおよびコマンドに使用されます。また、二次インターフェイスのハード・メモリー・コントローラーのバンクの上にかならず隣接します。一次ハード・メモリー・コントローラーの4つのレーンはすべて、アドレスとコマンドに使用されます。
次の例は、2x16のピンポンPHYのバンクレーンのコンフィグレーションを示しています。上位バンク (I/OバンクN) はアドレスおよびコマンドバンクであり、一次および二次インターフェイスの両方に対応します。一次ハード・メモリー・コントローラーは、ピンポンバスによって二次インターフェイスにリンクされます。下位バンク (I/OバンクN-1) は二次インターフェイス・バンクであり、一次インターフェイスと二次インターフェイスの両方のデータバスを備えます。2x16の場合は合計4つのI/Oバンクがデータに必要なため、実装には合計2つのバンクで十分です。
一次インターフェイスのデータは二次I/Oバンクの上位2レーンにルーティングされ、二次インターフェイスのデータは二次I/Oバンクの下位2レーンにルーティングされます。
2x32のインターフェイスの実装も同様で、一次および二次I/Oバンクの上下にデータレーンが追加で配置されます。つまり一次データレーンが一次バンクの上に配置され、二次データレーンが二次バンクの下に配置されます。
3.8.3. インテル Stratix 10ピンポンPHYの制限
ピンポンPHYは、アドレスおよびコマンドI/Oバンクのレーンすべてをアドレスおよびコマンドとして使用します。ピンの割り当てに関する情報は、お使いのデバイスのピンアウトファイルを、インテル® FPGA デバイス用 ピンアウトファイル (www.altera.com) で確認ください。
別の制限として、ピンポンPHYインターフェイスの複数のペアをインスタンス化する際に、I/Oレーンが未使用のままになる場合があります。次の図は、2組のx8のピンポン・コントローラー (合計4つのインターフェイス) を表しています。黄色でハイライトされているレーンは、メモリー・インターフェイスによって駆動されません (未使用レーンとピンは、汎用I/Oとして使用できます)。一部のI/Oレーンが未使用のままであっても、ピンポンPHYのアプローチは独立したインターフェイスと比較してリソース使用率の点で依然として有益です。24ビットおよび40ビットのメモリー幅でも同様の状況が発生しますが、16ビット、32ビット、および64ビットのメモリー幅の場合はこの制限を受けません。
3.8.4. インテル Stratix 10ピンポンPHYのキャリブレーション
ピンポンPHYインターフェイスのキャリブレーションは、2つのシーケンサーを取り入れています。1つは一次ハード・メモリー・コントローラーのI/Oバンクにあり、もう1つは二次ハード・メモリー・コントローラーのI/Oバンクにあります。2つのシーケンサーが同じメモリー・クロック・サイクルで命令を発行することを保証するために、Nios IIプロセッサーは、一次ハード・メモリー・コントローラーのシーケンサーが二次インターフェイスからのトークンを受信するようにコンフィグレーションします。この際、Avalonバスからのコマンドは無視されます。追加遅延が二次インターフェイスにプログラムされ、二次ハード・メモリー・コントローラー・タイルのシーケンサーから一次ハード・メモリー・コントローラー・タイルのシーケンサーにトークンを渡すことができるようにします。Nios IIプロセッサーはキャリブレーション中に、一次ハード・メモリー・コントローラーのI/Oバンクのシーケンサーからコマンドが常に発行されると想定しています。キャリブレーション後にNios IIプロセッサーは、一次および二次ハード・メモリー・コントローラーで使用する遅延を調整します。
3.8.5. ピンポンPHYの使用
- 要件に従い単一のメモリー・インターフェイスをコンフィグレーションします。
-
パラメーター・エディターのGeneralタブで、Instantiate two controllers sharing a Ping Pong PHYを選択します。
インテル® Quartus® Prime開発ソフトウェアはインターフェイスを複製し、2つのメモリー・コントローラーと、共有PHYが作成されます。I/Oバンクレーン構造のコンフィグレーションに、これ以上の入力は必要ありません。
3.8.6. ピンポンPHYのシミュレーション・デザイン例
機能的に、IPは2つの独立したメモリー・インターフェイスのようにユーザー・トラフィックと個別にインターフェイスします。また、外部メモリー・インターフェイスIPがトラフィック・ジェネレーターとインターフェイスする合成可能なデザイン例を生成することもできます。
4. インテル Stratix 10 EMIF IPにおけるエンドユーザーの信号
4.1. インターフェイスと信号の説明
4.1.1. DDR3におけるインテルStratix 10 EMIF IPインターフェイス
インターフェイス名 | インターフェイスの種類 | 説明 |
---|---|---|
local_reset_req | コンジット | ローカルリセット要求で、local_reset_combinerからの出力信号 |
local_reset_status | コンジット | ローカル・リセット・ステータスで、local_reset_combinerへの入力信号 |
pll_ref_clk | クロック入力 | PLLリファレンス・クロック入力 |
pll_locked | コンジット | PLLロック信号 |
pll_extra_clk_0 | クロック出力 | 追加コアクロック0 |
pll_extra_clk_1 | クロック出力 | 追加コアクロック1 |
pll_extra_clk_2 | クロック出力 | 追加コアクロック2 |
pll_extra_clk_3 | クロック出力 | 追加コアクロック3 |
oct | コンジット | オンチップ終端 (OCT) インターフェイス |
mem | コンジット | FPGAと外部メモリー間のインターフェイス |
status | コンジット | PHYキャリブレーション・ステータス・インターフェイス |
afi_reset_n | リセット出力 | AFIリセット・インターフェイス |
afi_clk | クロック出力 | AFIクロック・インターフェイス |
afi_half_clk | クロック出力 | AFIハーフレート・クロック・インターフェイス |
afi | コンジット | アルテラPHYインターフェイス (AFI) |
emif_usr_reset_n | リセット出力 | ユーザー・クロック・ドメイン・リセット・インターフェイス |
emif_usr_clk | クロック出力 | ユーザー・クロック・インターフェイス |
emif_usr_reset_n_sec | リセット出力 | ユーザー・クロック・ドメイン・リセット・インターフェイス (ピンポン・コンフィグレーションの二次インターフェイス用) |
emif_usr_clk_sec | クロック出力 | ユーザー・クロック・インターフェイス (ピンポン・コンフィグレーションの二次インターフェイス用) |
cal_debug_reset_n | リセット入力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_clk | クロック入力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
cal_debug_out_reset_n | リセット出力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_out_clk | クロック出力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
clks_sharing_master_out | コンジット | マスター・インターフェイスを共有するコアクロック |
clks_sharing_slave_in | コンジット | スレーブ入力インターフェイスを共有するコアクロック |
clks_sharing_slave_out | コンジット | スレーブ出力インターフェイスを共有するコアクロック |
ctrl_amm | Avalonメモリーマップド・スレーブ | コントローラーのAvalonメモリーマップド・インターフェイス |
ctrl_auto_precharge | コンジット | コントローラーのオートプリチャージ・インターフェイス |
ctrl_user_priority | コンジット | コントローラーのユーザーが要求する優先インターフェイス |
ctrl_ecc_user_interrupt | コンジット | コントローラーのECCユーザー割り込みインターフェイス |
ctrl_ecc_readdataerror | コンジット | コントローラーのECC読み出しデータエラー通知インターフェイス |
ctrl_mmr_slave | Avalonメモリーマップド・スレーブ | コントローラーのMMRスレーブ・インターフェイス |
hps_emif | コンジット | ハード・プロセッサー・サブシステムとメモリー・インターフェイス間のコンジット |
cal_debug | Avalonメモリーマップド・スレーブ | キャリブレーション・デバッグ・インターフェイス |
cal_debug_out | Avalonメモリーマップド・マスター | キャリブレーション・デバッグ・インターフェイス |
4.1.1.1. DDR3のlocal_reset_req
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_req | 入力 | ユーザーロジックからの信号であり、メモリー・インターフェイスのリセットと再キャリブレーションを要求します。リセット要求は、local_reset_req信号をLowからHighに遷移させ、信号をHighの状態に最低2 EMIFコア・クロック・サイクル間維持した後、信号をHighからLowに遷移することで送信されます。local_reset_reqは、満たすべきセットアップ/ホールドのタイミングがないという点で非同期ですが、2 EMIFコア・クロック・サイクルの最小パルス幅要件を満たす必要があります。 |
4.1.1.2. DDR3のlocal_reset_status
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_done | 出力 | メモリー・インターフェイスからの信号で、リセット・シーケンスを完了し、リセットから現在解放されており、新しいリセット要求の準備ができているかどうかを示します。local_reset_doneがLowの場合、メモリー・インターフェイスはリセットに入っています。 |
4.1.1.3. DDR3のpll_ref_clk
ポート名 | 方向 | 説明 |
---|---|---|
pll_ref_clk | 入力 | PLLリファレンス・クロック入力 |
4.1.1.4. DDR3のpll_locked
ポート名 | 方向 | 説明 |
---|---|---|
pll_locked | 出力 | PLLのロック信号で、PLLがロックされているかどうかを示します。 |
4.1.1.5. DDR3のpll_extra_clk_0
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_0 | 出力 | PLLの追加コアクロック信号出力0です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.1.6. DDR3のpll_extra_clk_1
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_1 | 出力 | PLLの追加コアクロック信号出力1です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.1.7. DDR3のpll_extra_clk_2
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_2 | 出力 | PLLの追加コアクロック信号出力2です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.1.8. DDR3のpll_extra_clk_3
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_3 | 出力 | PLLの追加コアクロック信号出力3です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.1.9. DDR3のoct
ポート名 | 方向 | 説明 |
---|---|---|
oct_rzqin | 入力 | キャリブレーション済みオンチップ終端 (OCT) RZQ入力ピンです。 |
4.1.1.10. DDR3のmem
ポート名 | 方向 | 説明 |
---|---|---|
mem_ck | 出力 | CKクロック |
mem_ck_n | 出力 | CKクロック (マイナス脚) |
mem_a | 出力 | アドレス |
mem_ba | 出力 | バンクアドレス |
mem_cke | 出力 | クロックイネーブル |
mem_cs_n | 出力 | チップセレクト |
mem_rm | 出力 | LRDIMMのランク乗算です。一般的にmem_rm[0] およびmem_rm[1] は、LRDIMMスロットすべてのメモリーバッファーのCS2#およびCS3#に接続されます。 |
mem_odt | 出力 | オンダイ終端 |
mem_ras_n | 出力 | RASコマンド |
mem_cas_n | 出力 | CASコマンド |
mem_we_n | 出力 | WEコマンド |
mem_reset_n | 出力 | 非同期のリセット |
mem_par | 出力 | コマンドおよびアドレスパリティー |
mem_dm | 出力 | 書き込みデータマスク |
mem_dq | 双方向 | 読み出しまたは書き込みデータ |
mem_dqs | 双方向 | データストローブ |
mem_dqs_n | 双方向 | データストローブ (マイナス脚) |
mem_alert_n | 入力 | 警告フラグ |
4.1.1.11. DDR3のstatus
ポート名 | 方向 | 説明 |
---|---|---|
local_cal_success | 出力 | Highの場合はPHYキャリブレーションが成功したことを示します。 |
local_cal_fail | 出力 | Highの場合はPHYキャリブレーションが失敗したことを示します。 |
4.1.1.12. DDR3のafi_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
afi_reset_n | 出力 | AFIクロックドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.1.13. DDR3のafi_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_clk | 出力 | アルテラPHYインターフェイス (AFI) のクロックです。 |
4.1.1.14. DDR3のafi_half_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_half_clk | 出力 | AFIクロックafi_clkの半分の周波数で動作するクロックです。 |
4.1.1.15. DDR3のafi
ポート名 | 方向 | 説明 |
---|---|---|
afi_cal_success | 出力 | キャリブレーションが正常に終了したことを通知します。 |
afi_cal_fail | 出力 | キャリブレーションが失敗したことを通知します。 |
afi_cal_req | 入力 | アサートされると、インターフェイスは再度キャリブレーションされます。 |
afi_rlat | 出力 | afi_clkサイクルにおける読み出しコマンドと有効な読み出しデータ間のレイテンシーです。 |
afi_wlat | 出力 | afi_clkサイクルにおける書き込みコマンドと有効な書き込みデータ間のレイテンシーです。 |
afi_addr | 入力 | アドレス |
afi_ba | 入力 | バンクアドレス |
afi_cke | 入力 | クロックイネーブル |
afi_cs_n | 入力 | チップセレクト |
afi_rm | 入力 | LRDIMMのランク乗算 |
afi_odt | 入力 | オンダイ終端 |
afi_ras_n | 入力 | RASコマンド |
afi_cas_n | 入力 | CASコマンド |
afi_we_n | 入力 | WEコマンド |
afi_rst_n | 入力 | 非同期のリセット |
afi_dm | 入力 | 書き込みデータマスク |
afi_dqs_burst | 入力 | コントローラーによってアサートされ、出力DQS信号を有効にします。 |
afi_wdata_valid | 入力 | コントローラーによってアサートされ、afi_wdataに有効な書き込みデータが含まれていることを示します。 |
afi_wdata | 入力 | 書き込みデータ |
afi_rdata_en_full | 入力 | コントローラーによってアサートされ、予想される関連する読み出しデータの量を示します。 |
afi_rdata | 出力 | 読み出しデータ |
afi_rdata_valid | 出力 | PHYによってアサートされ、afi_rdataに有効な読み出しデータが含まれていることを示します。 |
afi_rrank | 入力 | コントローラーによってアサートされ、どのランクから読み出されているかを示し、シャドーレジスターの切り替えを制御します。 |
afi_wrank | 入力 | コントローラーによってアサートされ、どのランクに書き込まれているかを示し、シャドーレジスターの切り替えを制御します。 |
4.1.1.16. DDR3のemif_usr_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_reset_n | 出力 | ユーザー・クロック・ドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.1.17. DDR3のemif_usr_clk
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.1.18. DDR3のemif_usr_reset_n_sec
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_reset_n_sec | 出力 | ユーザー・クロック・ドメインのリセットです。非同期のアサートと同期のディアサートです。ピンポン・コンフィグレーションの二次インターフェイスを対象としています。 |
4.1.1.19. DDR3のemif_usr_clk_sec
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_clk_sec | 出力 | ユーザー・クロック・ドメインです。ピンポン・コンフィグレーションの二次インターフェイスを対象としています。 |
4.1.1.20. DDR3のcal_debug_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_reset_n | 入力 | Avalonキャリブレーション・デバッグ・バスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.1.21. DDR3のcal_debug_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_clk | 入力 | ユーザー・クロック・ドメインです。 |
4.1.1.22. DDR3のcal_debug_out_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_reset_n | 出力 | Avalonキャリブレーションdebug_outバスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.1.23. DDR3のcal_debug_out_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.1.24. DDR3のclks_sharing_master_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_master_out | 出力 | このポートは、スレーブを共有するすべてのコアクロックにファンアウトする必要があります。 |
4.1.1.25. DDR3のclks_sharing_slave_in
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_in | 入力 | このポートは、マスターを共有するコアクロックに接続する必要があります。 |
4.1.1.26. DDR3のclks_sharing_slave_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_out | 出力 | このポートは、スレーブを共有する別のコアクロックにファンアウトするために使用することが可能です。または、マスターがすべてのスレーブにファンアウトすることも可能です。 |
4.1.1.27. DDR3のctrl_amm
ポート名 | 方向 | 説明 |
---|---|---|
amm_ready | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
amm_read | 入力 | 読み出し要求信号 |
amm_write | 入力 | 書き込み要求信号 |
amm_address | 入力 | 読み出しまたは書き込み要求のアドレス |
amm_readdata | 出力 | 読み出しデータ |
amm_writedata | 入力 | 書き込みデータ |
amm_burstcount | 入力 | 各読み出しまたは書き込みバーストにおける転送数 |
amm_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
amm_beginbursttransfer | 入力 | バーストがいつ開始するかを示します。 |
amm_readdatavalid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.1.28. DDR3のctrl_auto_precharge
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_auto_precharge_req | 入力 | メモリー・コントローラーへの読み出しまたは書き込み要求をともないHighにアサートされている場合、コントローラーは現在開いているページを読み出しまたは書き込みバースト後に閉じる必要があることを示します。 |
4.1.1.29. DDR3のctrl_user_priority
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_user_priority_hi | 入力 | メモリー・コントローラーへの読み出しまたは書き込み要求をともないHighにアサートされると、その要求の優先順位は高く、優先順位が低いほかの要求の前にこの要求を実行する必要があることを示します。 |
4.1.1.30. DDR3のctrl_ecc_user_interrupt
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_ecc_user_interrupt | 出力 | コントローラーのECCユーザー割り込み信号で、ビットエラーの有無を識別します。 |
4.1.1.31. DDR3のctrl_ecc_readdataerror
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_ecc_readdataerror | 出力 | 信号はコントローラーのECCロジックによってHighにアサートされ、読み出しデータに訂正不可能なエラーがあることを示します。信号のタイミングは、コントローラーのAvalonメモリーマップド・インターフェイスの読み出しデータ有効信号と同じです。 |
4.1.1.32. DDR3のctrl_mmr_slave
ポート名 | 方向 | 説明 |
---|---|---|
mmr_slave_waitrequest | 出力 | コントローラーのMMRインターフェイスがビジーの場合、待機要求がアサートされます。 |
mmr_slave_read | 入力 | MMR読み出し要求信号 |
mmr_slave_write | 入力 | MMR書き込み要求信号 |
mmr_slave_address | 入力 | メモリー・コントローラーのMMRインターフェイスのワードアドレス |
mmr_slave_readdata | 出力 | MMR読み出しデータ |
mmr_slave_writedata | 入力 | MMR書き込みデータ |
mmr_slave_burstcount | 入力 | 各読み出しまたは書き込みバーストにおける転送数 |
mmr_slave_beginbursttransfer | 入力 | バーストがいつ開始するかを示します。 |
mmr_slave_readdatavalid | 出力 | MMR読み出しデータが有効かどうかを示します。 |
4.1.1.33. DDR3のhps_emif
ポート名 | 方向 | 説明 |
---|---|---|
hps_to_emif | 入力 | ハード・プロセッサー・サブシステムからメモリー・インターフェイスへの信号です。 |
emif_to_hps | 出力 | メモリー・インターフェイスからハード・プロセッサー・サブシステムへの信号です。 |
hps_to_emif_gp | 入力 | ハード・プロセッサー・サブシステムのGPIOからメモリー・インターフェイスへの信号です。 |
emif_to_hps_gp | 出力 | メモリー・インターフェイスからハード・プロセッサー・サブシステムのGPIOへの信号です。 |
4.1.1.34. DDR3のcal_debug
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_waitrequest | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_read | 入力 | 読み出し要求信号 |
cal_debug_write | 入力 | 書き込み要求信号 |
cal_debug_addr | 入力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_read_data | 出力 | 読み出しデータ |
cal_debug_write_data | 入力 | 書き込みデータ |
cal_debug_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
cal_debug_read_data_valid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.1.35. DDR3のcal_debug_out
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_waitrequest | 入力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_out_read | 出力 | 読み出し要求信号 |
cal_debug_out_write | 出力 | 書き込み要求信号 |
cal_debug_out_addr | 出力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_out_read_data | 入力 | 読み出しデータ |
cal_debug_out_write_data | 出力 | 書き込みデータ |
cal_debug_out_byteenable | 出力 | 書き込みデータのバイト・イネーブル |
cal_debug_out_read_data_valid | 入力 | 読み出しデータが有効かどうかを示します。 |
4.1.2. DDR4におけるインテルStratix 10 EMIF IPインターフェイス
インターフェイス名 | インターフェイスの種類 | 説明 |
---|---|---|
local_reset_req | コンジット | ローカルリセット要求で、local_reset_combinerからの出力信号 |
local_reset_status | コンジット | ローカル・リセット・ステータスで、local_reset_combinerへの入力信号 |
pll_ref_clk | クロック入力 | PLLリファレンス・クロック入力 |
pll_locked | コンジット | PLLロック信号 |
pll_extra_clk_0 | クロック出力 | 追加コアクロック0 |
pll_extra_clk_1 | クロック出力 | 追加コアクロック1 |
pll_extra_clk_2 | クロック出力 | 追加コアクロック2 |
pll_extra_clk_3 | クロック出力 | 追加コアクロック3 |
oct | コンジット | オンチップ終端 (OCT) インターフェイス |
mem | コンジット | FPGAと外部メモリー間のインターフェイス |
status | コンジット | PHYキャリブレーション・ステータス・インターフェイス |
afi_reset_n | リセット出力 | AFIリセット・インターフェイス |
afi_clk | クロック出力 | AFIクロック・インターフェイス |
afi_half_clk | クロック出力 | AFIハーフレート・クロック・インターフェイス |
afi | コンジット | アルテラPHYインターフェイス (AFI) |
emif_usr_reset_n | リセット出力 | ユーザー・クロック・ドメイン・リセット・インターフェイス |
emif_usr_clk | クロック出力 | ユーザー・クロック・インターフェイス |
emif_usr_reset_n_sec | リセット出力 | ユーザー・クロック・ドメインのリセット・インターフェイス (ピンポン・コンフィグレーションの二次インターフェイス用) |
emif_usr_clk_sec | クロック出力 | ユーザー・クロック・インターフェイス (ピンポン・コンフィグレーションの二次インターフェイス用) |
cal_debug_reset_n | リセット入力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_clk | クロック入力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
cal_debug_out_reset_n | リセット出力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_out_clk | クロック出力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
clks_sharing_master_out | コンジット | マスター・インターフェイスを共有するコアクロック |
clks_sharing_slave_in | コンジット | スレーブ入力インターフェイスを共有するコアクロック |
clks_sharing_slave_out | コンジット | スレーブ出力インターフェイスを共有するコアクロック |
ctrl_amm | Avalonメモリーマップド・スレーブ | コントローラーのAvalonメモリーマップド・インターフェイス |
ctrl_auto_precharge | コンジット | コントローラーのオートプリチャージ・インターフェイス |
ctrl_user_priority | コンジット | コントローラーのユーザーが要求する優先インターフェイス |
ctrl_ecc_user_interrupt | コンジット | コントローラーのECCユーザー割り込みインターフェイス |
ctrl_ecc_readdataerror | コンジット | コントローラーのECC読み出しデータエラー通知インターフェイス |
ctrl_mmr_slave | Avalonメモリーマップド・スレーブ | コントローラーのMMRスレーブ・インターフェイス |
hps_emif | コンジット | ハード・プロセッサー・サブシステムとメモリー・インターフェイス間のコンジット |
cal_debug | Avalonメモリーマップド・スレーブ | キャリブレーション・デバッグ・インターフェイス |
cal_debug_out | Avalonメモリーマップド・マスター | キャリブレーション・デバッグ・インターフェイス |
4.1.2.1. DDR4のlocal_reset_req
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_req | 入力 | ユーザーロジックからの信号であり、メモリー・インターフェイスのリセットと再キャリブレーションを要求します。リセット要求は、local_reset_req信号をLowからHighに遷移させ、信号をHighの状態に最低2 EMIFコア・クロック・サイクル間維持した後、信号をHighからLowに遷移することで送信されます。local_reset_reqは、満たすべきセットアップ/ホールドのタイミングがないという点で非同期ですが、2 EMIFコア・クロック・サイクルの最小パルス幅要件を満たす必要があります。 |
4.1.2.2. DDR4のlocal_reset_status
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_done | 出力 | メモリー・インターフェイスからの信号で、リセット・シーケンスを完了し、リセットから現在解放されており、新しいリセット要求の準備ができているかどうかを示します。local_reset_doneがLowの場合、メモリー・インターフェイスはリセットに入っています。 |
4.1.2.3. DDR4のpll_ref_clk
ポート名 | 方向 | 説明 |
---|---|---|
pll_ref_clk | 入力 | PLLリファレンス・クロック入力です。 |
4.1.2.4. DDR4のpll_locked
ポート名 | 方向 | 説明 |
---|---|---|
pll_locked | 出力 | PLLのロック信号で、PLLがロックされているかどうかを示します。 |
4.1.2.5. DDR4のpll_extra_clk_0
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_0 | 出力 | PLLの追加コアクロック信号出力0です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.2.6. DDR4のpll_extra_clk_1
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_1 | 出力 | PLLの追加コアクロック信号出力1です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.2.7. DDR4のpll_extra_clk_2
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_2 | 出力 | PLLの追加コアクロック信号出力2です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.2.8. DDR4のpll_extra_clk_3
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_3 | 出力 | PLLの追加コアクロック信号出力3です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.2.9. DDR4のoct
ポート名 | 方向 | 説明 |
---|---|---|
oct_rzqin | 入力 | キャリブレーション済みオンチップ終端 (OCT) RZQ入力ピンです。 |
4.1.2.10. DDR4のmem
ポート名 | 方向 | 説明 |
---|---|---|
mem_ck | 出力 | CKクロック |
mem_ck_n | 出力 | CKクロック (マイナス脚) |
mem_a | 出力 | アドレスです。アドレスビットA17は、16 Gb SDRAMのx4コンフィグレーションにのみ定義されます。 |
mem_ba | 出力 | バンクアドレス |
mem_bg | 出力 | バンクグループ |
mem_cke | 出力 | クロックイネーブル |
mem_cs_n | 出力 | チップセレクト |
mem_odt | 出力 | オンダイ終端 |
mem_reset_n | 出力 | 非同期のリセット |
mem_act_n | 出力 | アクティブ化コマンド |
mem_par | 出力 | コマンドおよびアドレスパリティー |
mem_dq | 双方向 | 読み出しおよび書き込みデータ |
mem_dbi_n | 双方向 | コンフィグレーションに応じて、データバス反転ピンまたはデータ・マスク・ピンとして機能します。 |
mem_dqs | 双方向 | データストローブ |
mem_dqs_n | 双方向 | データストローブ (マイナス脚) |
mem_alert_n | 入力 | 警告フラグ |
4.1.2.11. DDR4のstatus
ポート名 | 方向 | 説明 |
---|---|---|
local_cal_success | 出力 | Highの場合はPHYキャリブレーションが成功したことを示します。 |
local_cal_fail | 出力 | Highの場合はPHYキャリブレーションが失敗したことを示します。 |
4.1.2.12. DDR4のafi_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
afi_reset_n | 出力 | AFIクロックドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.2.13. DDR4のafi_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_clk | 出力 | アルテラPHYインターフェイス (AFI) のクロックです。 |
4.1.2.14. DDR4のafi_half_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_half_clk | 出力 | AFIクロックafi_clkの半分の周波数で動作するクロックです。 |
4.1.2.15. DDR4のafi
ポート名 | 方向 | 説明 |
---|---|---|
afi_cal_success | 出力 | キャリブレーションが正常に終了したことを通知します。 |
afi_cal_fail | 出力 | キャリブレーションが失敗したことを通知します。 |
afi_cal_req | 入力 | アサートされると、インターフェイスは再度キャリブレーションされます。 |
afi_rlat | 出力 | afi_clkサイクルにおける読み出しコマンドと有効な読み出しデータ間のレイテンシーです。 |
afi_wlat | 出力 | afi_clkサイクルにおける書き込みコマンドと有効な書き込みデータ間のレイテンシーです。 |
afi_addr | 入力 | アドレス |
afi_ba | 入力 | バンクアドレス |
afi_bg | 入力 | バンクグループ |
afi_cke | 入力 | クロックイネーブル |
afi_cs_n | 入力 | チップセレクト |
afi_odt | 入力 | オンダイ終端 |
afi_rst_n | 入力 | 非同期のリセット |
afi_act_n | 入力 | アクティブ化コマンド |
afi_par | 入力 | コマンドおよびアドレスパリティー |
afi_dm_n | 入力 | 書き込みデータマスク |
afi_dqs_burst | 入力 | コントローラーによってアサートされ、出力DQS信号を有効にします。 |
afi_wdata_valid | 入力 | コントローラーによってアサートされ、afi_wdataに有効な書き込みデータが含まれていることを示します。 |
afi_wdata | 入力 | 書き込みデータ |
afi_rdata_en_full | 入力 | コントローラーによってアサートされ、予想される関連する読み出しデータの量を示します。 |
afi_rdata | 出力 | 読み出しデータ |
afi_rdata_valid | 出力 | PHYによってアサートされ、afi_rdataに有効な読み出しデータが含まれていることを示します。 |
afi_rrank | 入力 | コントローラーによってアサートされ、どのランクから読み出されているかを示し、シャドーレジスターの切り替えを制御します。 |
afi_wrank | 入力 | コントローラーによってアサートされ、どのランクに書き込まれているかを示し、シャドーレジスターの切り替えを制御します。 |
4.1.2.16. DDR4のemif_usr_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_reset_n | 出力 | ユーザー・クロック・ドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.2.17. DDR4のemif_usr_clk
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.2.18. DDR4のemif_usr_reset_n_sec
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_reset_n_sec | 出力 | ユーザー・クロック・ドメインのリセットです。非同期のアサートと同期のディアサートです。ピンポン・コンフィグレーションの二次インターフェイスを対象としています。 |
4.1.2.19. DDR4のemif_usr_clk_sec
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_clk_sec | 出力 | ユーザー・クロック・ドメインです。ピンポン・コンフィグレーションの二次インターフェイスを対象としています。 |
4.1.2.20. DDR4のcal_debug_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_reset_n | 入力 | Avalonキャリブレーション・デバッグ・バスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.2.21. DDR4のcal_debug_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_clk | 入力 | ユーザー・クロック・ドメインです。 |
4.1.2.22. DDR4のcal_debug_out_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_reset_n | 出力 | Avalonキャリブレーションdebug_outバスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.2.23. DDR4のcal_debug_out_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.2.24. DDR4のclks_sharing_master_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_master_out | 出力 | このポートは、スレーブを共有するすべてのコアクロックにファンアウトする必要があります。 |
4.1.2.25. DDR4のclks_sharing_slave_in
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_in | 入力 | このポートは、マスターを共有するコアクロックに接続する必要があります。 |
4.1.2.26. DDR4のclks_sharing_slave_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_out | 出力 | このポートは、スレーブを共有する別のコアクロックにファンアウトするために使用することが可能です。または、マスターがすべてのスレーブにファンアウトすることも可能です。 |
4.1.2.27. DDR4のctrl_amm
ポート名 | 方向 | 説明 |
---|---|---|
amm_ready | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
amm_read | 入力 | 読み出し要求信号 |
amm_write | 入力 | 書き込み要求信号 |
amm_address | 入力 | 読み出しまたは書き込み要求のアドレス |
amm_readdata | 出力 | 読み出しデータ |
amm_writedata | 入力 | 書き込みデータ |
amm_burstcount | 入力 | 各読み出しまたは書き込みバーストにおける転送数 |
amm_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
amm_beginbursttransfer | 入力 | バーストがいつ開始するかを示します。 |
amm_readdatavalid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.2.28. DDR4のctrl_auto_precharge
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_auto_precharge_req | 入力 | メモリー・コントローラーへの読み出しまたは書き込み要求をともないHighにアサートされている場合、コントローラーは現在開いているページを読み出しまたは書き込みバースト後に閉じる必要があることを示します。 |
4.1.2.29. DDR4のctrl_user_priority
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_user_priority_hi | 入力 | メモリー・コントローラーへの読み出しまたは書き込み要求をともないHighにアサートされると、その要求の優先順位は高く、優先順位が低いほかの要求の前にその要求を実行する必要があることを示します。 |
4.1.2.30. DDR4のctrl_ecc_user_interrupt
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_ecc_user_interrupt | 出力 | コントローラーのECCユーザー割り込み信号で、ビットエラーの有無を識別します。 |
4.1.2.31. DDR4のctrl_ecc_readdataerror
ポート名 | 方向 | 説明 |
---|---|---|
ctrl_ecc_readdataerror | 出力 | 信号はコントローラーのECCロジックによってHighにアサートされ、読み出しデータに訂正不可能なエラーがあることを示します。信号のタイミングは、コントローラーのAvalonメモリーマップド・インターフェイスの読み出しデータ有効信号と同じです。 |
4.1.2.32. DDR4のctrl_mmr_slave
ポート名 | 方向 | 説明 |
---|---|---|
mmr_slave_waitrequest | 出力 | コントローラーのMMRインターフェイスがビジーの場合、待機要求がアサートされます。 |
mmr_slave_read | 入力 | MMR読み出し要求信号 |
mmr_slave_write | 入力 | MMR書き込み要求信号 |
mmr_slave_address | 入力 | メモリー・コントローラーのMMRインターフェイスのワードアドレス |
mmr_slave_readdata | 出力 | MMR読み出しデータ |
mmr_slave_writedata | 入力 | MMR書き込みデータ |
mmr_slave_burstcount | 入力 | 各読み出しまたは書き込みバーストにおける転送数 |
mmr_slave_beginbursttransfer | 入力 | バーストがいつ開始するかを示します。 |
mmr_slave_readdatavalid | 出力 | MMR読み出しデータが有効かどうかを示します。 |
4.1.2.33. DDR4のhps_emif
ポート名 | 方向 | 説明 |
---|---|---|
hps_to_emif | 入力 | ハード・プロセッサー・サブシステムからメモリー・インターフェイスへの信号です。 |
emif_to_hps | 出力 | メモリー・インターフェイスからハード・プロセッサー・サブシステムへの信号です。 |
hps_to_emif_gp | 入力 | ハード・プロセッサー・サブシステムのGPIOからメモリー・インターフェイスへの信号です。 |
emif_to_hps_gp | 出力 | メモリー・インターフェイスからハード・プロセッサー・サブシステムのGPIOへの信号です。 |
4.1.2.34. DDR4のcal_debug
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_waitrequest | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_read | 入力 | 読み出し要求信号 |
cal_debug_write | 入力 | 書き込み要求信号 |
cal_debug_addr | 入力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_read_data | 出力 | 読み出しデータ |
cal_debug_write_data | 入力 | 書き込みデータ |
cal_debug_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
cal_debug_read_data_valid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.2.35. DDR4のcal_debug_out
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_waitrequest | 入力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_out_read | 出力 | 読み出し要求信号 |
cal_debug_out_write | 出力 | 書き込み要求信号 |
cal_debug_out_addr | 出力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_out_read_data | 入力 | 読み出しデータ |
cal_debug_out_write_data | 出力 | 書き込みデータ |
cal_debug_out_byteenable | 出力 | 書き込みデータのバイト・イネーブル |
cal_debug_out_read_data_valid | 入力 | 読み出しデータが有効かどうかを示します。 |
4.1.3. QDR II/II+/II+ XtremeにおけるインテルStratix 10 EMIF IPインターフェイス
インターフェイス名 | インターフェイスの種類 | 説明 |
---|---|---|
local_reset_req | コンジット | ローカルリセット要求で、local_reset_combinerからの出力信号 |
local_reset_status | コンジット | ローカル・リセット・ステータスで、local_reset_combinerへの入力信号 |
pll_ref_clk | クロック入力 | PLLリファレンス・クロック入力 |
pll_locked | コンジット | PLLロック信号 |
pll_extra_clk_0 | クロック出力 | 追加コアクロック0 |
pll_extra_clk_1 | クロック出力 | 追加コアクロック1 |
pll_extra_clk_2 | クロック出力 | 追加コアクロック2 |
pll_extra_clk_3 | クロック出力 | 追加コアクロック3 |
oct | コンジット | オンチップ終端 (OCT) インターフェイス |
mem | コンジット | FPGAと外部メモリー間のインターフェイス |
status | コンジット | PHYキャリブレーション・ステータス・インターフェイス |
emif_usr_reset_n | リセット出力 | ユーザー・クロック・ドメイン・リセット・インターフェイス |
emif_usr_clk | クロック出力 | ユーザー・クロック・インターフェイス |
cal_debug_reset_n | リセット入力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_clk | クロック入力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
cal_debug_out_reset_n | リセット出力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_out_clk | クロック出力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
clks_sharing_master_out | コンジット | マスター・インターフェイスを共有するコアクロック |
clks_sharing_slave_in | コンジット | スレーブ入力インターフェイスを共有するコアクロック |
clks_sharing_slave_out | コンジット | スレーブ出力インターフェイスを共有するコアクロック |
ctrl_amm | Avalonメモリーマップド・スレーブ | コントローラーのAvalonメモリーマップド・インターフェイス |
cal_debug | Avalonメモリーマップド・スレーブ | キャリブレーション・デバッグ・インターフェイス |
cal_debug_out | Avalonメモリーマップド・マスター | キャリブレーション・デバッグ・インターフェイス |
4.1.3.1. QDR II/II+/II+ Xtremeのlocal_reset_req
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_req | 入力 | ユーザーロジックからの信号であり、メモリー・インターフェイスのリセットと再キャリブレーションを要求します。リセット要求は、local_reset_req信号をLowからHighに遷移させ、信号をHighの状態に最低2 EMIFコア・クロック・サイクル間維持した後、信号をHighからLowに遷移することで送信されます。local_reset_reqは、満たすべきセットアップ/ホールドのタイミングがないという点で非同期ですが、2 EMIFコア・クロック・サイクルの最小パルス幅要件を満たす必要があります。 |
4.1.3.2. QDR II/II+/II+ Xtremeのlocal_reset_status
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_done | 出力 | メモリー・インターフェイスからの信号で、リセット・シーケンスを完了し、リセットから現在解放されており、新しいリセット要求の準備ができているかどうかを示します。local_reset_doneがLowの場合、メモリー・インターフェイスはリセットに入っています。 |
4.1.3.3. QDR II/II+/II+ Xtremeのpll_ref_clk
ポート名 | 方向 | 説明 |
---|---|---|
pll_ref_clk | 入力 | PLLリファレンス・クロック入力です。 |
4.1.3.4. QDR II/II+/II+ Xtremeのpll_locked
ポート名 | 方向 | 説明 |
---|---|---|
pll_locked | 出力 | PLLのロック信号で、PLLがロックされているかどうかを示します。 |
4.1.3.5. QDR II/II+/II+ Xtremeのpll_extra_clk_0
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_0 | 出力 | PLLの追加コアクロック信号出力0です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.3.6. QDR II/II+/II+ Xtremeのpll_extra_clk_1
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_1 | 出力 | PLLの追加コアクロック信号出力1です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.3.7. QDR II/II+/II+ Xtremeのpll_extra_clk_2
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_2 | 出力 | PLLの追加コアクロック信号出力2です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.3.8. QDR II/II+/II+ Xtremeのpll_extra_clk_3
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_3 | 出力 | PLLの追加コアクロック信号出力3です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.3.9. QDR II/II+/II+ Xtremeのoct
ポート名 | 方向 | 説明 |
---|---|---|
oct_rzqin | 入力 | キャリブレーション済みオンチップ終端 (OCT) RZQ入力ピンです。 |
4.1.3.10. QDR II/II+/II+ Xtremeのmem
ポート名 | 方向 | 説明 |
---|---|---|
mem_k | 出力 | Kクロック |
mem_k_n | 出力 | Kクロック (マイナス脚) |
mem_a | 出力 | アドレス |
mem_wps_n | 出力 | 書き込みポートセレクト |
mem_rps_n | 出力 | 読み出しポートセレクト |
mem_doff_n | 出力 | DLLオフ |
mem_bws_n | 出力 | バイト書き込みセレクト |
mem_d | 出力 | 書き込みデータ |
mem_q | 入力 | 読み出しデータ |
mem_cq | 入力 | エコークロック |
mem_cq_n | 入力 | エコークロック (マイナス脚) |
4.1.3.11. QDR II/II+/II+ Xtremeのstatus
ポート名 | 方向 | 説明 |
---|---|---|
local_cal_success | 出力 | Highの場合はPHYキャリブレーションが成功したことを示します。 |
local_cal_fail | 出力 | Highの場合はPHYキャリブレーションが失敗したことを示します。 |
4.1.3.12. QDR II/II+/II+ Xtremeのemif_usr_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_reset_n | 出力 | ユーザー・クロック・ドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.3.13. QDR II/II+/II+ Xtremeのemif_usr_clk
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.3.14. QDR II/II+/II+ Xtremeのcal_debug_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_reset_n | 入力 | Avalonキャリブレーション・デバッグ・バスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.3.15. QDR II/II+/II+ Xtremeのcal_debug_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_clk | 入力 | ユーザー・クロック・ドメインです。 |
4.1.3.16. QDR II/II+/II+ Xtremeのcal_debug_out_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_reset_n | 出力 | Avalonキャリブレーションdebug_outバスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.3.17. QDR II/II+/II+ Xtremeのcal_debug_out_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.3.18. QDR II/II+/II+ Xtremeのclks_sharing_master_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_master_out | 出力 | このポートは、スレーブを共有するすべてのコアクロックにファンアウトする必要があります。 |
4.1.3.19. QDR II/II+/II+ Xtremeのclks_sharing_slave_in
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_in | 入力 | このポートは、マスターを共有するコアクロックに接続する必要があります。 |
4.1.3.20. QDR II/II+/II+ Xtremeのclks_sharing_slave_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_out | 出力 | このポートは、スレーブを共有する別のコアクロックにファンアウトするために使用することが可能です。または、マスターがすべてのスレーブにファンアウトすることも可能です。 |
4.1.3.21. QDR II/II+/II+ Xtremeのctrl_amm
ポート名 | 方向 | 説明 |
---|---|---|
amm_ready | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
amm_read | 入力 | 読み出し要求信号 |
amm_write | 入力 | 書き込み要求信号 |
amm_address | 入力 | 読み出しまたは書き込み要求のアドレス |
amm_readdata | 出力 | 読み出しデータ |
amm_writedata | 入力 | 書き込みデータ |
amm_burstcount | 入力 | 各読み出しまたは書き込みバーストにおける転送数 |
amm_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
amm_beginbursttransfer | 入力 | バーストがいつ開始するかを示します。 |
amm_readdatavalid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.3.22. QDR II/II+/II+ Xtremeのcal_debug
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_waitrequest | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_read | 入力 | 読み出し要求信号 |
cal_debug_write | 入力 | 書き込み要求信号 |
cal_debug_addr | 入力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_read_data | 出力 | 読み出しデータ |
cal_debug_write_data | 入力 | 書き込みデータ |
cal_debug_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
cal_debug_read_data_valid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.3.23. QDR II/II+/II+ Xtremeのcal_debug_out
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_waitrequest | 入力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_out_read | 出力 | 読み出し要求信号 |
cal_debug_out_write | 出力 | 書き込み要求信号 |
cal_debug_out_addr | 出力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_out_read_data | 入力 | 読み出しデータ |
cal_debug_out_write_data | 出力 | 書き込みデータ |
cal_debug_out_byteenable | 出力 | 書き込みデータのバイト・イネーブル |
cal_debug_out_read_data_valid | 入力 | 読み出しデータが有効かどうかを示します。 |
4.1.4. QDR-IVにおけるインテルStratix 10 EMIF IPインターフェイス
インターフェイス名 | インターフェイスの種類 | 説明 |
---|---|---|
local_reset_req | コンジット | ローカルリセット要求で、local_reset_combinerからの出力信号 |
local_reset_status | コンジット | ローカル・リセット・ステータスで、local_reset_combinerへの入力信号 |
pll_ref_clk | クロック入力 | PLLリファレンス・クロック入力 |
pll_locked | コンジット | PLLロック信号 |
pll_extra_clk_0 | クロック出力 | 追加コアクロック0 |
pll_extra_clk_1 | クロック出力 | 追加コアクロック1 |
pll_extra_clk_2 | クロック出力 | 追加コアクロック2 |
pll_extra_clk_3 | クロック出力 | 追加コアクロック3 |
oct | コンジット | オンチップ終端 (OCT) インターフェイス |
mem | コンジット | FPGAと外部メモリー間のインターフェイス |
status | コンジット | PHYキャリブレーション・ステータス・インターフェイス |
afi_reset_n | リセット出力 | AFIリセット・インターフェイス |
afi_clk | クロック出力 | AFIクロック・インターフェイス |
afi_half_clk | クロック出力 | AFIハーフレート・クロック・インターフェイス |
afi | コンジット | アルテラPHYインターフェイス (AFI) |
emif_usr_reset_n | リセット出力 | ユーザー・クロック・ドメイン・リセット・インターフェイス |
emif_usr_clk | クロック出力 | ユーザー・クロック・インターフェイス |
cal_debug_reset_n | リセット入力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_clk | クロック入力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
cal_debug_out_reset_n | リセット出力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_out_clk | クロック出力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
clks_sharing_master_out | コンジット | マスター・インターフェイスを共有するコアクロック |
clks_sharing_slave_in | コンジット | スレーブ入力インターフェイスを共有するコアクロック |
clks_sharing_slave_out | コンジット | スレーブ出力インターフェイスを共有するコアクロック |
ctrl_amm | Avalonメモリーマップド・スレーブ | コントローラーのAvalonメモリーマップド・インターフェイス |
cal_debug | Avalonメモリーマップド・スレーブ | キャリブレーション・デバッグ・インターフェイス |
cal_debug_out | Avalonメモリーマップド・マスター | キャリブレーション・デバッグ・インターフェイス |
4.1.4.1. QDR-IVのlocal_reset_req
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_req | 入力 | ユーザーロジックからの信号であり、メモリー・インターフェイスのリセットと再キャリブレーションを要求します。リセット要求は、local_reset_req信号をLowからHighに遷移させ、信号をHighの状態に最低2 EMIFコア・クロック・サイクル間維持した後、信号をHighからLowに遷移することで送信されます。local_reset_reqは、満たすべきセットアップ/ホールドのタイミングがないという点で非同期ですが、2 EMIFコア・クロック・サイクルの最小パルス幅要件を満たす必要があります。 |
4.1.4.2. QDR-IVのlocal_reset_status
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_done | 出力 | メモリー・インターフェイスからの信号で、リセット・シーケンスを完了し、リセットから現在解放されており、新しいリセット要求の準備ができているかどうかを示します。local_reset_doneがLowの場合、メモリー・インターフェイスはリセットに入っています。 |
4.1.4.3. QDR-IVのpll_ref_clk
ポート名 | 方向 | 説明 |
---|---|---|
pll_ref_clk | 入力 | PLLリファレンス・クロック入力です。 |
4.1.4.4. QDR-IVのpll_locked
ポート名 | 方向 | 説明 |
---|---|---|
pll_locked | 出力 | PLLのロック信号で、PLLがロックされているかどうかを示します。 |
4.1.4.5. QDR-IVのpll_extra_clk_0
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_0 | 出力 | PLLの追加コアクロック信号出力0です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.4.6. QDR-IVのpll_extra_clk_1
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_1 | 出力 | PLLの追加コアクロック信号出力1です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.4.7. QDR-IVのpll_extra_clk_2
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_2 | 出力 | PLLの追加コアクロック信号出力2です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.4.8. QDR-IVのpll_extra_clk_3
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_3 | 出力 | PLLの追加コアクロック信号出力3です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.4.9. QDR-IVのoct
ポート名 | 方向 | 説明 |
---|---|---|
oct_rzqin | 入力 | キャリブレーション済みオンチップ終端 (OCT) RZQ入力ピンです。 |
4.1.4.10. QDR-IVのmem
ポート名 | 方向 | 説明 |
---|---|---|
mem_ck | 出力 | CKクロック |
mem_ck_n | 出力 | CK クロック (マイナス脚) |
mem_dka | 出力 | ポートAのDKクロック |
mem_dka_n | 出力 | ポートAのDKクロック (マイナス脚) |
mem_dkb | 出力 | ポートBのDKクロック |
mem_dkb_n | 出力 | ポートBのDKクロック (マイナス脚) |
mem_a | 出力 | アドレス |
mem_reset_n | 出力 | 非同期のリセット |
mem_lda_n | 出力 | ポートAの同期ロード |
mem_ldb_n | 出力 | ポートBの同期ロード |
mem_rwa_n | 出力 | ポートAの同期読み出しまたは書き込み |
mem_rwb_n | 出力 | ポートBの同期読み出しまたは書き込み |
mem_lbk0_n | 出力 | ループバック・モード |
mem_lbk1_n | 出力 | ループバック・モード |
mem_cfg_n | 出力 | コンフィグレーション・ビット |
mem_ap | 出力 | アドレスパリティー |
mem_ainv | 出力 | アドレス反転 |
mem_dqa | 双方向 | ポートAの読み出しまたは書き込みデータ |
mem_dqb | 双方向 | ポートBの読み出しまたは書き込みデータ |
mem_dinva | 双方向 | ポートAの読み出しまたは書き込みデータ反転 |
mem_dinvb | 双方向 | ポートBの読み出しまたは書き込みデータ反転 |
mem_qka | 入力 | ポートAの読み出しデータクロック |
mem_qka_n | 入力 | ポートAの読み出しデータクロック (マイナス脚) |
mem_qkb | 入力 | ポートBの読み出しデータクロック |
mem_qkb_n | 入力 | ポートBの読み出しデータクロック (マイナス脚) |
mem_pe_n | 入力 | アドレス・パリティー・エラー・フラグ |
4.1.4.11. QDR-IVのstatus
ポート名 | 方向 | 説明 |
---|---|---|
local_cal_success | 出力 | Highの場合はPHYキャリブレーションが成功したことを示します。 |
local_cal_fail | 出力 | Highの場合はPHYキャリブレーションが失敗したことを示します。 |
4.1.4.12. QDR-IVのafi_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
afi_reset_n | 出力 | AFIクロックドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.4.13. QDR-IVのafi_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_clk | 出力 | アルテラPHYインターフェイス (AFI) のクロックです。 |
4.1.4.14. QDR-IVのafi_half_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_half_clk | 出力 | AFIクロックafi_clkの半分の周波数で動作するクロックです。 |
4.1.4.15. QDR-IVのafi
ポート名 | 方向 | 説明 |
---|---|---|
afi_ld_n | 入力 | ポートAおよびBの同期ロード |
afi_rw_n | 入力 | ポートAおよびBの同期読み出しまたは書き込み |
afi_lbk0_n | 入力 | ループバック・モード |
afi_lbk1_n | 入力 | ループバック・モード |
afi_cfg_n | 入力 | コンフィグレーション・ビット |
afi_ap | 入力 | アドレスパリティー |
afi_ainv | 入力 | アドレス反転 |
afi_rdata_dinv | 出力 | 読み出しデータのデータ反転 |
afi_wdata_dinv | 入力 | 書き込みデータのデータ反転 |
afi_pe_n | 出力 | アドレス・パリティー・エラー・フラグ |
4.1.4.16. QDR-IVのemif_usr_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_reset_n | 出力 | ユーザー・クロック・ドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.4.17. QDR-IVのemif_usr_clk
ポート名 | 方向 | 説明 |
---|---|---|
emif_usr_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.4.18. QDR-IVのcal_debug_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_reset_n | 入力 | Avalonキャリブレーション・デバッグ・バスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.4.19. QDR-IVのcal_debug_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_clk | 入力 | ユーザー・クロック・ドメインです。 |
4.1.4.20. QDR-IVのcal_debug_out_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_reset_n | 出力 | Avalonキャリブレーションdebug_outバスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.4.21. QDR-IVのcal_debug_out_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.4.22. QDR-IVのclks_sharing_master_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_master_out | 出力 | このポートは、スレーブを共有するすべてのコアクロックにファンアウトする必要があります。 |
4.1.4.23. QDR-IVのclks_sharing_slave_in
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_in | 入力 | このポートは、マスターを共有するコアクロックに接続する必要があります。 |
4.1.4.24. QDR-IVのclks_sharing_slave_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_out | 出力 | このポートは、スレーブを共有する別のコアクロックにファンアウトするために使用することが可能です。または、マスターがすべてのスレーブにファンアウトすることも可能です。 |
4.1.4.25. QDR-IVのctrl_amm
ポート名 | 方向 | 説明 |
---|---|---|
amm_ready | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
amm_read | 入力 | 読み出し要求信号 |
amm_write | 入力 | 書き込み要求信号 |
amm_address | 入力 | 読み出しまたは書き込み要求のアドレス |
amm_readdata | 出力 | 読み出しデータ |
amm_writedata | 入力 | 書き込みデータ |
amm_burstcount | 入力 | 各読み出しまたは書き込みバーストにおける転送数 |
amm_beginbursttransfer | 入力 | バーストがいつ開始するかを示します。 |
amm_readdatavalid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.4.26. QDR-IVのcal_debug
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_waitrequest | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_read | 入力 | 読み出し要求信号 |
cal_debug_write | 入力 | 書き込み要求信号 |
cal_debug_addr | 入力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_read_data | 出力 | 読み出しデータ |
cal_debug_write_data | 入力 | 書き込みデータ |
cal_debug_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
cal_debug_read_data_valid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.4.27. QDR-IVのcal_debug_out
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_waitrequest | 入力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_out_read | 出力 | 読み出し要求信号 |
cal_debug_out_write | 出力 | 書き込み要求信号 |
cal_debug_out_addr | 出力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_out_read_data | 入力 | 読み出しデータ |
cal_debug_out_write_data | 出力 | 書き込みデータ |
cal_debug_out_byteenable | 出力 | 書き込みデータのバイト・イネーブル |
cal_debug_out_read_data_valid | 入力 | 読み出しデータが有効かどうかを示します。 |
4.1.5. RLDRAM 3におけるインテルStratix 10 EMIF IPインターフェイス
インターフェイス名 | インターフェイスの種類 | 説明 |
---|---|---|
local_reset_req | コンジット | ローカルリセット要求で、local_reset_combinerからの出力信号 |
local_reset_status | コンジット | ローカル・リセット・ステータスで、local_reset_combinerへの入力信号 |
pll_ref_clk | クロック入力 | PLLリファレンス・クロック入力 |
pll_locked | コンジット | PLLロック信号 |
pll_extra_clk_0 | クロック出力 | 追加コアクロック0 |
pll_extra_clk_1 | クロック出力 | 追加コアクロック1 |
pll_extra_clk_2 | クロック出力 | 追加コアクロック2 |
pll_extra_clk_3 | クロック出力 | 追加コアクロック3 |
oct | コンジット | オンチップ終端 (OCT) インターフェイス |
mem | コンジット | FPGAと外部メモリー間のインターフェイス |
status | コンジット | PHYキャリブレーション・ステータス・インターフェイス |
afi_reset_n | リセット出力 | AFIリセット・インターフェイス |
afi_clk | クロック出力 | AFIクロック・インターフェイス |
afi_half_clk | クロック出力 | AFIハーフレート・クロック・インターフェイス |
afi | コンジット | アルテラPHYインターフェイス (AFI) |
cal_debug_reset_n | リセット入力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_clk | クロック入力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
cal_debug_out_reset_n | リセット出力 | ユーザー・キャリブレーション・デバッグ・クロック・ドメイン・リセット・インターフェイス |
cal_debug_out_clk | クロック出力 | ユーザー・キャリブレーション・デバッグ・クロック・インターフェイス |
clks_sharing_master_out | コンジット | マスター・インターフェイスを共有するコアクロック |
clks_sharing_slave_in | コンジット | スレーブ入力インターフェイスを共有するコアクロック |
clks_sharing_slave_out | コンジット | スレーブ出力インターフェイスを共有するコアクロック |
cal_debug | Avalonメモリーマップド・スレーブ | キャリブレーション・デバッグ・インターフェイス |
cal_debug_out | Avalonメモリーマップド・マスター | キャリブレーション・デバッグ・インターフェイス |
4.1.5.1. RLDRAM 3のlocal_reset_req
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_req | 入力 | ユーザーロジックからの信号であり、メモリー・インターフェイスのリセットと再キャリブレーションを要求します。リセット要求は、local_reset_req信号をLowからHighに遷移させ、信号をHighの状態に最低2 EMIFコア・クロック・サイクル間維持した後、信号をHighからLowに遷移することで送信されます。local_reset_reqは、満たすべきセットアップ/ホールドのタイミングがないという点で非同期ですが、2 EMIFコア・クロック・サイクルの最小パルス幅要件を満たす必要があります。 |
4.1.5.2. RLDRAM 3のlocal_reset_status
ポート名 | 方向 | 説明 |
---|---|---|
local_reset_done | 出力 | メモリー・インターフェイスからの信号で、リセット・シーケンスを完了し、リセットから現在解放されており、新しいリセット要求の準備ができているかどうかを示します。local_reset_doneがLowの場合、メモリー・インターフェイスはリセットに入っています。 |
4.1.5.3. RLDRAM 3のpll_ref_clk
ポート名 | 方向 | 説明 |
---|---|---|
pll_ref_clk | 入力 | PLLリファレンス・クロック入力です。 |
4.1.5.4. RLDRAM 3のpll_locked
ポート名 | 方向 | 説明 |
---|---|---|
pll_locked | 出力 | PLLのロック信号で、PLLがロックされているかどうかを示します。 |
4.1.5.5. RLDRAM 3のpll_extra_clk_0
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_0 | 出力 | PLLの追加コアクロック信号出力0です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.5.6. RLDRAM 3のpll_extra_clk_1
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_1 | 出力 | PLLの追加コアクロック信号出力1です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.5.7. RLDRAM 3のpll_extra_clk_2
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_2 | 出力 | PLLの追加コアクロック信号出力2です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.5.8. RLDRAM 3のpll_extra_clk_3
ポート名 | 方向 | 説明 |
---|---|---|
pll_extra_clk_3 | 出力 | PLLの追加コアクロック信号出力3です。この信号は、EMIF PLLを指定し、ユーザーロジックで使用できる出力クロック信号を追加し生成する場合に発生します (最大4)。このクロック信号は、メモリー・インターフェイスのコア・クロック・ドメイン (emif_usr_clk、afi_clkなど) と非同期です。クロックドメイン間でデータを転送する場合は、適切なクロックドメインクロッシング手法に従う必要があります。 |
4.1.5.9. RLDRAM 3のoct
ポート名 | 方向 | 説明 |
---|---|---|
oct_rzqin | 入力 | キャリブレーション済みオンチップ終端 (OCT) RZQ入力ピンです。 |
4.1.5.10. RLDRAM 3のmem
ポート名 | 方向 | 説明 |
---|---|---|
mem_ck | 出力 | CKクロック |
mem_ck_n | 出力 | CKクロック (マイナス脚) |
mem_dk | 出力 | DKクロック |
mem_dk_n | 出力 | DKクロック (マイナス脚) |
mem_a | 出力 | アドレス |
mem_ba | 出力 | バンクアドレス |
mem_cs_n | 出力 | チップセレクト |
mem_rm | 出力 | LRDIMMのランク乗算です。一般的にmem_rm[0] およびmem_rm[1] は、LRDIMMスロットすべてのメモリーバッファーのCS2#およびCS3#に接続されます。 |
mem_we_n | 出力 | WEコマンド |
mem_reset_n | 出力 | 非同期のリセット |
mem_ref_n | 出力 | REFコマンド |
mem_dm | 出力 | 書き込みデータマスク |
mem_dq | 双方向 | 読み出しまたは書き込みデータ |
mem_qk | 入力 | 読み出しデータクロック |
mem_qk_n | 入力 | 読み出しデータクロック (マイナス脚) |
4.1.5.11. RLDRAM 3のstatus
ポート名 | 方向 | 説明 |
---|---|---|
local_cal_success | 出力 | Highの場合はPHYキャリブレーションが成功したことを示します。 |
local_cal_fail | 出力 | Highの場合はPHYキャリブレーションが失敗したことを示します。 |
4.1.5.12. RLDRAM 3のafi_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
afi_reset_n | 出力 | AFIクロックドメインのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.5.13. RLDRAM 3のafi_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_clk | 出力 | アルテラPHYインターフェイス (AFI) のクロックです。 |
4.1.5.14. RLDRAM 3のafi_half_clk
ポート名 | 方向 | 説明 |
---|---|---|
afi_half_clk | 出力 | AFIクロックafi_clkの半分の周波数で動作するクロックです。 |
4.1.5.15. RLDRAM 3のafi
ポート名 | 方向 | 説明 |
---|---|---|
afi_cal_success | 出力 | キャリブレーションが正常に終了したことを通知します。 |
afi_cal_fail | 出力 | キャリブレーションが失敗したことを通知します。 |
afi_cal_req | 入力 | アサートされると、インターフェイスは再度キャリブレーションされます。 |
afi_rlat | 出力 | afi_clkサイクルにおける読み出しコマンドと有効な読み出しデータ間のレイテンシーです。 |
afi_wlat | 出力 | afi_clkサイクルにおける書き込みコマンドと有効な書き込みデータ間のレイテンシーです。 |
afi_addr | 入力 | アドレス |
afi_ba | 入力 | バンクアドレス |
afi_cs_n | 入力 | チップセレクト |
afi_we_n | 入力 | WEコマンド |
afi_rst_n | 入力 | 非同期のリセット |
afi_ref_n | 入力 | REFコマンド |
afi_dm | 入力 | 書き込みデータマスク |
afi_wdata_valid | 入力 | コントローラーによってアサートされ、afi_wdataに有効な書き込みデータが含まれていることを示します。 |
afi_wdata | 入力 | 書き込みデータ |
afi_rdata_en_full | 入力 | コントローラーによってアサートされ、予想される関連する読み出しデータの量を示します。 |
afi_rdata | 出力 | 読み出しデータ |
afi_rdata_valid | 出力 | PHYによってアサートされ、afi_rdataに有効な読み出しデータが含まれていることを示します。 |
afi_rrank | 入力 | コントローラーによってアサートされ、どのランクから読み出されているかを示し、シャドーレジスターの切り替えを制御します。 |
afi_wrank | 入力 | コントローラーによってアサートされ、どのランクに書き込まれているかを示し、シャドーレジスターの切り替えを制御します。 |
4.1.5.16. RLDRAM 3のcal_debug_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_reset_n | 入力 | Avalonキャリブレーション・デバッグ・バスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.5.17. RLDRAM 3のcal_debug_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_clk | 入力 | ユーザー・クロック・ドメインです。 |
4.1.5.18. RLDRAM 3のcal_debug_out_reset_n
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_reset_n | 出力 | Avalonキャリブレーションdebug_outバスに接続しているユーザークロックのリセットです。非同期のアサートと同期のディアサートです。 |
4.1.5.19. RLDRAM 3のcal_debug_out_clk
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_clk | 出力 | ユーザー・クロック・ドメインです。 |
4.1.5.20. RLDRAM 3のclks_sharing_master_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_master_out | 出力 | このポートは、スレーブを共有するすべてのコアクロックにファンアウトする必要があります。 |
4.1.5.21. RLDRAM 3のclks_sharing_slave_in
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_in | 入力 | このポートは、マスターを共有するコアクロックに接続する必要があります。 |
4.1.5.22. RLDRAM 3のclks_sharing_slave_out
ポート名 | 方向 | 説明 |
---|---|---|
clks_sharing_slave_out | 出力 | このポートは、スレーブを共有する別のコアクロックにファンアウトするために使用することが可能です。または、マスターがすべてのスレーブにファンアウトすることも可能です。 |
4.1.5.23. RLDRAM 3のcal_debug
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_waitrequest | 出力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_read | 入力 | 読み出し要求信号 |
cal_debug_write | 入力 | 書き込み要求信号 |
cal_debug_addr | 入力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_read_data | 出力 | 読み出しデータ |
cal_debug_write_data | 入力 | 書き込みデータ |
cal_debug_byteenable | 入力 | 書き込みデータのバイト・イネーブル |
cal_debug_read_data_valid | 出力 | 読み出しデータが有効かどうかを示します。 |
4.1.5.24. RLDRAM 3のcal_debug_out
ポート名 | 方向 | 説明 |
---|---|---|
cal_debug_out_waitrequest | 入力 | コントローラーがビジーの場合、待機要求がアサートされます。 |
cal_debug_out_read | 出力 | 読み出し要求信号 |
cal_debug_out_write | 出力 | 書き込み要求信号 |
cal_debug_out_addr | 出力 | 読み出しまたは書き込み要求のアドレス |
cal_debug_out_read_data | 入力 | 読み出しデータ |
cal_debug_out_write_data | 出力 | 書き込みデータ |
cal_debug_out_byteenable | 出力 | 書き込みデータのバイト・イネーブル |
cal_debug_out_read_data_valid | 入力 | 読み出しデータが有効かどうかを示します。 |
4.2. AFI信号
それぞれの表において、方向の列はPHYにおける信号の方向を示します。例えば出力と定義されている信号は、PHYからコントローラーに渡されるものです。AFIの仕様に双方向信号は含まれません。
4.2.1. AFIのクロックおよびリセット信号
信号名 |
方向 |
幅 |
説明 |
---|---|---|---|
afi_clk |
出力 |
1 |
AFIバスで受け渡されるデータがすべて同期されているクロックです。一般的にこのクロックは、このクロックの周波数とメモリー・デバイス・クロックの周波数の比率に応じて、フルレート、ハーフレート、またはクォーターレートと呼ばれます。 |
afi_half_clk |
出力 |
1 |
afi_clkの半分の速度で動作するクロック信号です。コントローラーは、ハーフレートのブリッジ機能が使用されている際にこの信号を使用します。この信号はオプションです。 |
afi_reset_n |
出力 |
1 |
非同期のリセット出力信号です。この信号は、この信号を使用するクロックドメインに同期させる必要があります。 |
4.2.2. AFIのアドレスおよびコマンド信号
信号名 |
方向 |
幅 |
説明 |
---|---|---|---|
afi_addr |
入力 |
AFI_ADDR_WIDTH |
アドレス |
afi_bg |
入力 |
AFI_BANKGROUP_WIDTH |
バンクグループ (DDR4のみ) |
afi_ba |
入力 |
AFI_BANKADDR_WIDTH |
バンクアドレス |
afi_cke |
入力 |
AFI_CLK_EN_WIDTH |
クロックイネーブル |
afi_cs_n |
入力 |
AFI_CS_WIDTH |
チップセレクト信号。チップセレクトの数はランクの数と一致しない場合があります。例えばRDIMMおよびLRDIMMは、シングルランクおよびデュアルランクのコンフィグレーションに少なくとも2つのチップセレクト信号を必要とします。チップセレクト信号の幅に関しては、お使いのメモリーデバイスのデータシートを参照ください。 |
afi_ras_n |
入力 |
AFI_CONTROL_WIDTH |
RAS# (DDR3メモリーデバイス) |
afi_we_n |
入力 |
AFI_CONTROL_WIDTH |
WE# (DDR3メモリーデバイス) |
afi_rw_n |
入力 |
AFI_CONTROL_WIDTH * 2 |
RWA/B# (QDR-IV) |
afi_cas_n |
入力 |
AFI_CONTROL_WIDTH |
CAS# (DDR3メモリーデバイス) |
afi_act_n |
入力 |
AFI_CONTROL_WIDTH |
ACT# (DDR4) |
afi_rst_n |
入力 |
AFI_CONTROL_WIDTH |
RESET# (DDR3およびDDR4メモリーデバイス) |
afi_odt |
入力 |
AFI_CLK_EN_WIDTH |
DDR3メモリーデバイスのオンダイ終端信号。このメモリーデバイス信号を、FPGAの内部オンチップ終端信号と混同しないでください。 |
afi_par |
入力 |
AFI_CS_WIDTH |
アドレスおよびコマンドパリティー入力 (DDR4) アドレスパリティー入力 (QDR-IV) |
afi_ainv |
入力 |
AFI_CONTROL_WIDTH |
アドレス反転 (QDR-IV) |
afi_mem_clk_disable |
入力 |
AFI_CLK_PAIR_COUNT |
この信号がアサートされると、mem_clkおよびmem_clk_nは無効になります。この信号は低電力モードで使用されます。 |
afi_wps_n |
出力 |
AFI_CS_WIDTH |
WPS (QDR II/II+メモリーデバイス) |
afi_rps_n |
出力 |
AFI_CS_WIDTH |
RPS (QDR II/II+メモリーデバイス) |
4.2.3. AFIの書き込みデータ信号
信号名 |
方向 |
幅 |
説明 |
---|---|---|---|
afi_dqs_burst |
入力 |
AFI_RATE_RATIO |
DDR3 メモリーデバイスのストローブ (DQS) ピンの有効化を制御します。この信号がアサートされると、mem_dqsおよびmem_dqsnが駆動されます。 この信号はafi_wdata_validの前にアサートし、書き込みプリアンブルを実装する必要があります。また、正しい期間駆動し、正確に時間調整されたmem_dqs信号を生成する必要があります。 |
afi_wdata_valid |
入力 |
AFI_RATE_RATIO |
書き込みデータの有効信号です。この信号は、データおよびデータ・マスク・ピンの出力イネーブルを制御します。 |
afi_wdata |
入力 |
AFI_DQ_WIDTH |
ダブルデータ・レートでメモリーデバイスに送信する書き込みデータ信号です。この信号は、PHYのmem_dq出力を制御します。 |
afi_dm |
入力 |
AFI_DM_WIDTH |
データマスクです。この信号は、DDR3 メモリーデバイスに対するPHYのmem_dm信号を制御します。 また、DDR4に対するPHYのmem_dbi信号を直接制御します。 mem_dmおよびmem_dbiの機能は、メモリーデバイスの同じポートを共有します。 |
afi_bws_n |
入力 |
AFI_DM_WIDTH |
データマスクです。この信号は、QDR II/II+メモリーデバイスに対するPHYのmem_bws_n信号を制御します。 |
afi_dinv |
入力 |
AFI_WRITE_DQS_WIDTH * 2 |
データ反転です。QDR-IVデバイスに対するPHYのmem_dinva/b信号を直接制御します。 |
4.2.4. AFIの読み出しデータ信号
信号名 |
方向 |
幅 |
説明 |
---|---|---|---|
afi_rdata_en_full |
入力 |
AFI_RATE_RATIO |
フルの読み出しデータ・イネーブルです。メモリー・コントローラーが現在読み出し動作を実行していることを示します。この信号は、読み出しバースト全体にわたってHighに保持されます。この信号が偶数のクロックサイクルにアライメントされている場合、ハーフレート・モード (AFI_RATE=2) においても1ビットを使用できます。 |
afi_rdata |
出力 |
AFI_DQ_WIDTH |
メモリーデバイスからの読み出しデータです。このデータは、PHYがafi_rdata_validをアサートしている場合にのみ有効とみなされます。 |
afi_rdata_valid |
出力 |
AFI_RATE_RATIO |
有効な読み出しデータです。アサートされている場合、この信号はafi_rdataバスが有効であることを示します。この信号が偶数のクロックサイクルにアライメントされている場合、ハーフレート・モード (AFI_RATE=2) においても1ビットを使用できます。 |
4.2.5. AFIのキャリブレーション・ステータス信号
信号名 |
方向 |
幅 |
説明 |
---|---|---|---|
afi_cal_success |
出力 |
1 |
キャリブレーションが正常に終了したことを示すためにアサートされます。 |
afi_cal_fail |
出力 |
1 |
キャリブレーションが失敗したことを示すためにアサートされます。 |
afi_cal_req |
入力 |
1 |
シーケンサーの実質的な同期リセットです。この信号がアサートされると、シーケンサーはリセット状態に戻ります。この信号が解除されると、新しいキャリブレーション・シーケンスが開始されます。 |
afi_wlat |
出力 |
AFI_WLAT_WIDTH |
afi_clkサイクルにおいて、アドレス/コマンドと、PHYまたはコントローラー・インターフェイスで発行される書き込みデータ間に必要なレイテンシーです。afi_wlatの値はグループごとに異なる場合があります。それぞれのグループの書き込みレイテンシーは0から63の範囲にわたります。書き込みレイテンシーがすべてのグループに対して同じ場合、最下位の6ビットのみが必要になります。 |
afi_rlat (1) |
出力 |
AFI_RLAT_WIDTH |
afi_clkサイクルにおいて、アドレス/コマンドと、PHYまたはコントローラー・インターフェイスに返される読み出しデータ間に必要なレイテンシーです。値は0から63の範囲にわたります。 |
注意
|
4.2.6. AFIのシャドーレジスター管理信号
ランクからランクへの切り替えに合わせて適切なキャリブレーション設定のセットが復元され、データの有効ウィンドウを最適化します。PHYはAFIの追加信号に依存し、アクティブにするシャドー・レジスター・セットの選択を制御します。
信号名 |
方向 |
幅 |
説明 |
---|---|---|---|
afi_wrank |
入力 |
AFI_WRANK_WIDTH |
書き込みデータが向かうランクを指定するコントローラーからの信号です。信号のタイミングはafi_dqs_burstと同じです。すなわちafi_wrankは、afi_dqs_burst信号と同じタイミングでアサートされ、同じ時間維持されなければなりません。 |
afi_rrank |
出力 |
AFI_RRANK_WIDTH |
読み出すランクを指定するコントローラーからの信号です。読み出しコマンドを発行する際に、この信号はafi_rdata_en信号と同時にアサートされる必要がありますが、afi_rdata_enとは異なりafi_rrankはステートフルです。すなわちこの信号のアサート後、信号の値はコントローラーが新しい読み出しコマンドを異なるランクに発行するまで変更せずに維持する必要があります。 |
afi_wrankおよびafi_rrank信号はどちらも、One-Hotスキームを使用しアクセスされているランクをエンコーディングします (例えばクアッドランクのインターフェイスでは、0001、0010、0100、1000はそれぞれ1番目、2番目、3番目、4番目のランクを指します)。バス内の順序はほかのAFI信号と同じです。具体的には、バスは次のようにタイムスロットで順序付けられます。
Half-rate afi_w/rrank = {T1, T0}
Quarter-rate afi_w/rrank = {T3, T2, T1, T0}
上記においてTxは、One-Hotがエンコーディングする、y番目のフルレートサイクルでアクセスされるランクのランクビット・ワードの番号です。
シャドー・レジスター・サポートに関するその他の要件
1つのシャドーレジスターから別のシャドーレジスターへの切り替えにおいてハードウェアが十分な時間を確保できるよう、コントローラーは次の最小ランク間切り替え遅延 (tRTRS) を満たす必要があります。
- 異なるランクに向かう2つの読み出しコマンドは、最低3フルレートサイクル離れている必要があります。(データバーストの衝突を回避するためのバースト長遅延は別に必要です。)
- 異なるランクに向かう2つの書き込みコマンドは、最低4フルレートサイクル離れている必要があります。(データバーストの衝突を回避するためのバースト長遅延は別に必要です。)
FPGAデバイスは最大4セットのシャドーレジスターをサポートし、それぞれを独立したタイミングセットに使用できます。ランクがもつ独立したタイミングセットが4つ以下の場合、4つを超えるランクがサポートされます。例えばLRDIMMのランク乗算モードでは、複数の物理ランクが単一の論理ランクとしてタイミングデータのセットを共有できます。よって、デバイスは最大4つの論理ランクをサポートしますが、これは4つを超える物理ランクを意味しています。
4.3. AFI 4.0のタイミング図
4.3.1. AFIのアドレスおよびコマンドのタイミング図
これらの波形は、AFIのコマンドフェーズがメモリーコマンドの出力にどのように対応するかを示しています。AFIのコマンド0は最初のメモリー・コマンド・スロットに対応し、AFIのコマンド1は2番目のメモリー・コマンド・スロットに対応します。
4.3.2. AFIの書き込みシーケンスのタイミング図
wlat=0での書き込みシーケンス
ハーフレートとクォーターレートでは、writeコマンドがPHYクロックの最初のメモリークロックで送信される場合 (例えばafi_cs_n[0] = 0)、そのアクセスはアライメントされたアクセスと呼ばれます。それ以外は、アライメントされていないアクセスと呼ばれます。アライメントされたアクセスとアライメントされていないアクセスのどちらか、もしくは両方を使用することができますが、writeコマンドと対応する書き込みデータ間の距離が、AFIインターフェイスで一定であることを確認する必要があります。例えば、コマンドがPHYクロックの2番目のメモリークロックで送信される場合、書き込みデータもまた、PHYクロックの2番目のメモリークロックで開始する必要があります。
次の図は、アライメントされたアクセスとアライメントされていないアクセスの両方を表しています。最初の3つの書き込みコマンドはアライメントされたアクセスで、afi_commandのLSBで発行されます。4番目の書き込みコマンドはアライメントされていないアクセスで、異なるコマンドスロットで発行されます。AFI信号は、コマンドスロットに応じてシフトする必要があります。
ゼロ以外のwlatでの書き込みシーケンス
afi_wlatはPHYからの信号です。コントローラーは、afi_dqs_burst、afi_wdata_valid、afi_wdata、afi_dm信号をafi_wlatに等しいPHYクロックサイクル数遅延させる必要があります。afi_wlatは静的な値であり、PHYがcal_successをコントローラーにアサートする前にキャリブレーションによって決定されます。次の図は、wlat=1の場合を表しています。wlatはPHYクロックの数であり、wlat=1は、フルレート、ハーフレート、クォーターレートにおいてそれぞれ1、2、4のメモリークロック遅延に等しいことに注意してください。
DQSバースト
DQSプリアンブルを生成するには、1つもしくは2つの完全なメモリー・クロック・サイクル前にafi_dqs_burst信号をアサートする必要があります。DQSプリアンブルはハーフレートとクォーターレートにおいてそれぞれ、1/2および1/4のAFIクロックサイクルに等しくなります。
書き込みプリアンブルが2クロックサイクルに設定されている場合、DDR4では2のDQSプリアンブルが必要です。
次の図は、フルレート、ハーフレート、クォーターレートのコンフィグレーションにおいて、afi_dqs_burstがアサートされるべき方法を表しています。
DBIでの書き込みデータシーケンス (DDR4およびQDRIVのみ)
DDR4の書き込みDBIの機能はPHYでサポートされており、有効になっている場合、PHYはコントローラーの介入なしにDBI信号を送受信します。シーケンスは、AFIインターフェイスにおけるDBI以外のシナリオと同じです。
CRCでの書き込みデータシーケンス (DDR4のみ)
PHYのCRC機能を有効にして使用すると、コントローラーはwriteコマンド間に最低1クロックサイクルを確保するため、PHYはそこにCRCデータを挿入します。writeコマンドを連続して送信すると機能的な障害が発生します。次の図は、CRCモードでの正当なシーケンスを表しています。
0およびRESERVEでマークされているエントリーは、コントローラーによって監視される必要があります。これらのエントリーにおいて情報は許可されません。
4.3.3. AFIの読み出しシーケンスのタイミング図
afi_rdata_en_full信号は、読み出しバースト動作全体にわたりアサートする必要があります。afi_rdata_en信号は、目的とする読み出しデータに対してのみアサートする必要があります。
読み出しコマンドのアライメントされたアクセスおよびアライメントされていないアクセスは、書き込みコマンドのものと類似しています。ただし、afi_rdata_en_full信号は、読み出しコマンドと同じPHYクロックのメモリークロックで送信される必要があります。つまり、読み出しコマンドがPHYクロックの2番目のメモリークロックで送信される場合、afi_rdata_en_fullもまた、PHYクロックの2番目のメモリークロックからアサートされる必要があります。
次の図は、2番目と3番目の読み出しにそれぞれデータの前半と後半のみを必要とすることを表しています。最初の3つのreadコマンドはアライメントされたアクセスであり、afi_commandのLSBで発行されます。4番目のreadコマンドはアライメントされていないアクセスで、異なるコマンドスロットで発行されます。AFI信号は、コマンドスロットに応じてシフトする必要があります。
次の図において、最初の3つのreadコマンドはアライメントされたアクセスであり、afi_commandのLSBで発行されます。4番目のreadコマンドはアライメントされていないアクセスで、異なるコマンドスロットで発行されます。AFI信号はコマンドスロットに応じてシフトする必要があります。
4.3.4. AFIキャリブレーション・ステータスのタイミング図
電源投入時にPHYは、afi_cal_successおよびafi_cal_failをキャリブレーション終了まで0に維持します。afi_cal_successがアサートされると、PHYが使用できる状態であり、afi_wlatおよびafi_rlat信号が有効な値をもつことをコントローラーに示しています。
再キャリブレーション時に、コントローラーはafi_cal_reqをアサートします。これにより電源投入時と同じシーケンスがトリガーされ、PHYの再キャリブレーションが強制されます。
4.4. インテル Stratix 10のメモリー・マップド・レジスター (MMR) 一覧
レジスターの概要
レジスター | アドレス32ビットバス | ビット・レジスター・リンク |
---|---|---|
ctrlcfg0 | 10 | 32 |
ctrlcfg1 | 11 | 32 |
dramtiming0 | 20 | 32 |
caltiming0 | 31 | 32 |
caltiming1 | 32 | 32 |
caltiming2 | 33 | 32 |
caltiming3 | 34 | 32 |
caltiming4 | 35 | 32 |
caltiming9 | 40 | 32 |
dramaddrw | 42 | 32 |
sideband0 | 43 | 32 |
sideband1 | 44 | 32 |
sideband4 | 47 | 32 |
sideband6 | 49 | 32 |
sideband7 | 50 | 32 |
sideband9 | 52 | 32 |
sideband11 | 54 | 32 |
sideband12 | 55 | 32 |
sideband13 | 56 | 32 |
sideband14 | 57 | 32 |
dramsts | 59 | 32 |
niosreserve0 | 68 | 32 |
niosreserve1 | 69 | 32 |
sideband16 | 79 | 32 |
ecc3 | 130 | 32 |
ecc4 | 144 | 32 |
ecc5 | 145 | 32 |
ecc6 | 146 | 32 |
ecc7 | 147 | 32 |
ecc8 | 148 | 32 |
4.4.1. ctrlcfg0
アドレス=10 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_mem_type | 3 | 0 | メモリータイプを示します。DDR3 SDRAMの場合は0000、DDR4 SDRAMの場合は0001です。 | 読み出し |
cfg_dimm_type | 6 | 4 | DIMMの種類を示します。 | 読み出し |
cfg_ac_pos | 8 | 7 | コマンド・アドレス・ピンの位置を示します。 | 読み出し |
Reserved | 31 | 9 | 予約済み | 読み出し |
4.4.2. ctrlcfg1
アドレス=11 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
Reserved | 4 | 0 | 予約済み | 読み出し |
cfg_addr_order | 6 | 5 | アドレス・インターリーブの順序を示します。これは、Avalon-MMアドレスとSDRAMアドレス間のマッピングに関連します。00 - チップ、行、バンク (BG、BA)、列。01 - チップ、バンク (BG、BA)、行、列。10 - 行、チップ、バンク (BG、BA)、列。 | 読み出し |
cfg_ctrl_enable_ecc | 7 | 7 | ECCの生成およびチェックを有効にします。 | 読み出し |
cfg_dbc0_enable_ecc | 8 | 8 | ECCの生成およびチェックを有効にします。 | 読み出し |
cfg_dbc1_enable_ecc | 9 | 9 | ECCの生成およびチェックを有効にします。 | 読み出し |
cfg_dbc2_enable_ecc | 10 | 10 | ECCの生成およびチェックを有効にします。 | 読み出し |
cfg_dbc3_enable_ecc | 11 | 11 | ECCの生成およびチェックを有効にします。 | 読み出し |
cfg_reorder_data | 12 | 12 | このビットは、SDRAMの帯域幅を最適化するためにコントローラーが動作の順序を並べ替えることができるかを制御します。通常は1に設定されます。 | 読み出し |
cfg_ctrl_reorder_rdata | 13 | 13 | このビットは、読み出しで返されるデータをコントローラーが並べ替える必要があるかを制御します。 | 読み出し |
cfg_dbc0_reorder_rdata | 14 | 14 | このビットは、読み出しで返されるデータをコントローラーが並べ替える必要があるかを制御します。 | 読み出し |
cfg_dbc1_reorder_rdata | 15 | 15 | このビットは、読み出しで返されるデータをコントローラーが並べ替える必要があるかを制御します。 | 読み出し |
cfg_dbc2_reorder_rdata | 16 | 16 | このビットは、読み出しで返されるデータをコントローラーが並べ替える必要があるかを制御します。 | 読み出し |
cfg_dbc3_reorder_rdata | 17 | 17 | このビットは、読み出しで返されるデータをコントローラーが並べ替える必要があるかを制御します。 | 読み出し |
cfg_reorder_read | 18 | 18 | このビットは、コントローラーが読み出しコマンドの順序を変更できるかどうかを制御します。 | 読み出し |
cfg_starve_limit | 24 | 19 | メモリー・コントローラーで個々のトランザクションの優先度が上がる前に先に並べ替えることができるDRAMバースト・トランザクションの数を指定します。 | 読み出し |
Reserved | 25 | 25 | 予約済み | 読み出し |
cfg_ctrl_enable_dm | 26 | 26 | DMピンが接続されている場合、1に設定してDRAMのオペレーションを有効にします。 | 読み出し |
cfg_dbc0_enable_dm | 27 | 27 | DMピンが接続されている場合、1に設定してDRAMのオペレーションを有効にします。 | 読み出し |
cfg_dbc1_enable_dm | 28 | 28 | DMピンが接続されている場合、1に設定してDRAMのオペレーションを有効にします。 | 読み出し |
cfg_dbc2_enable_dm | 29 | 29 | DMピンが接続されている場合、1に設定してDRAMのオペレーションを有効にします。 | 読み出し |
cfg_dbc3_enable_dm | 30 | 30 | DMピンが接続されている場合、1に設定してDRAMのオペレーションを有効にします。 | 読み出し |
4.4.3. dramtiming0
アドレス=20 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_tcl | 6 | 0 | メモリー読み出しレイテンシー | 読み出し |
Reserved | 31 | 7 | 予約済み | 読み出し |
4.4.4. caltiming0
アドレス=31 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_t_param_act_to_rdwr | 5 | 0 | アクティブ化コマンドと読み出しまたは書き込みコマンド間のタイミング。 | 読み出し |
cfg_t_param_act_to_pch | 11 | 6 | アクティブからプリチャージ。 | 読み出し |
cfg_t_param_act_to_act | 17 | 12 | 同じバンクにおけるアクティブからアクティブ化のタイミング。 | 読み出し |
cfg_t_param_act_to_act_diff_bank | 23 | 18 | DDR4の同じバンクグループにおける異なるバンクのアクティブからアクティブ化のタイミング。 | 読み出し |
cfg_t_param_act_to_act_diff_bg | 29 | 24 | 異なるバンクグループにおけるアクティブからアクティブ化のタイミング (DDR4のみ)。 | 読み出し |
4.4.5. caltiming1
アドレス=32 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_t_param_rd_to_rd | 5 | 0 | 同じバンクにおける2つの読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_rd_to_rd_diff_chip | 11 | 6 | 異なるチップの2つの読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_rd_to_rd_diff_bg | 17 | 12 | 異なるチップの2つの読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_rd_to_wr | 23 | 18 | 同じバンクにおける書き込みコマンドから読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_rd_to_wr_diff_chip | 29 | 24 | 異なるチップの読み出しコマンドから書き込みコマンド間のタイミング。 | 読み出し |
4.4.6. caltiming2
アドレス=33 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_t_param_rd_to_wr_diff_bg | 5 | 0 | 異なるバンクグループでの読み出しコマンドから書き込みコマンドのタイミング。 | 読み出し |
cfg_t_param_rd_to_pch | 11 | 6 | 読み出しコマンドからプリチャージ・コマンドのタイミング。 | 読み出し |
cfg_t_param_rd_ap_to_valid | 17 | 12 | オートプリチャージをともなう読み出しコマンドから有効データのタイミング。 | 読み出し |
cfg_t_param_wr_to_wr | 23 | 18 | 同じバンクにおける2つの書き込みコマンド間のタイミング。 | 読み出し |
cfg_t_param_wr_to_wr_diff_chip | 29 | 24 | 異なるチップの2つの書き込みコマンド間のタイミング。 | 読み出し |
4.4.7. caltiming3
アドレス=34 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_t_param_wr_to_wr_diff_bg | 5 | 0 | 異なるバンクグループでの2つの書き込みコマンド間のタイミング。 | 読み出し |
cfg_t_param_wr_to_rd | 11 | 6 | 書き込みコマンドから読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_wr_to_rd_diff_chip | 17 | 12 | 異なるチップでの書き込みコマンドから読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_wr_to_rd_diff_bg | 23 | 18 | 異なるバンクグループでの書き込みコマンドから読み出しコマンド間のタイミング。 | 読み出し |
cfg_t_param_wr_to_pch | 29 | 24 | 書き込みコマンドからプリチャージ・コマンドのタイミング。 | 読み出し |
4.4.8. caltiming4
アドレス=35 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_t_param_wr_ap_to_valid | 5 | 0 | オートプリチャージをともなう書き込みから有効なコマンド間のタイミング。 | 読み出し |
cfg_t_param_pch_to_valid | 11 | 6 | プリチャージから有効なコマンド間のタイミング。 | 読み出し |
cfg_t_param_pch_all_to_valid | 17 | 12 | すべてをプリチャージするコマンドからバンクのアクティブ化コマンドに対するバンクの準備ができるまで。 | 読み出し |
cfg_t_param_arf_to_valid | 25 | 18 | 自動リフレッシュから有効なDRAMコマンドのウィンドウ。 | 読み出し |
cfg_t_param_pdn_to_valid | 31 | 26 | パワーダウンから有効なバンクコマンドのウィンドウ。 | 読み出し |
4.4.9. caltiming9
アドレス=40 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_t_param_4_act_to_act | 7 | 0 | 4つのアクティブ化ウィンドウのタイミング・パラメーター。 | 読み出し |
4.4.10. dramaddrw
アドレス=42 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
cfg_col_addr_width | 4 | 0 | メモリー・インターフェイスのメモリーデバイスの列アドレスビット数。 | 読み出し |
cfg_row_addr_width | 9 | 5 | メモリー・インターフェイスのメモリーデバイスの行アドレスビット数。 | 読み出し |
cfg_bank_addr_width | 13 | 10 | メモリー・インターフェイスのメモリーデバイスのバンク・アドレス・ビット数。 | 読み出し |
cfg_bank_group_addr_width | 15 | 14 | メモリー・インターフェイスのメモリーデバイスのバンク・グループ・アドレス・ビット数。 | 読み出し |
cfg_cs_addr_width | 18 | 16 | メモリー・インターフェイスのメモリーデバイスのチップセレクトのアドレスビット数。 | 読み出し |
4.4.11. sideband0
アドレス=43 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
mr_cmd_trigger | 0 | 0 | モード・レジスター・コマンド要求です。アサートされている場合、モード・レジスター・コマンドを実行するユーザー要求を表しています。動作が完了すると、コントローラーはビットを0にクリアーします。モード・レジスター・コマンドを要求する前に、レジスターオフセットの37hおよび38hを適切にコンフィグレーションする必要があります。モード・レジスター・コマンド・ステータスは、オフセット31hを読み取ります。 | 読み出し/書き込み |
4.4.12. sideband1
アドレス=44 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
mmr_refresh_req | 3 | 0 |
ランクのリフレッシュ要求です。アサートされている場合、特定のランクに対するリフレッシュ要求を表しています。リフレッシュが実行されると、コントローラーはこのビットを0にクリアーします。 |
読み出し/書き込み |
4.4.13. sideband4
アドレス=47 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
mmr_self_rfsh_req | 3 | 0 |
セルフリフレッシュ要求です。アサートされている場合、DRAMへのセルフリフレッシュ要求を表しています。4ビットすべてを同時にアサートまたはディアサートする必要があります。ユーザーはクリアーを行いセルフリフレッシュを終了します。 |
読み出し/書き込み |
4.4.14. sideband6
アドレス=49 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
mr_cmd_ack | 0 | 0 |
レジスターコマンドが進行中です。アサートされている場合、モード・レジスター・コマンドが進行中であることを示します。 |
読み出し |
4.4.15. sideband7
アドレス=50 (32ビット)
フィールド | ビットHigh | ビットLow | 説明 | アクセス |
---|---|---|---|---|
mmr_refresh_ack | 0 | 0 |