AN 886: Agilex™ 7 デバイスのデザイン・ガイドライン

ID 683634
日付 10/09/2023
Public
ドキュメント目次

5.1.7.1.2. RMIIおよびRGMII PHYインターフェイス

RMIIまたはRGMII PHYインターフェイスのどちらを使用するかを決定します。

RMII

RMIIは、システム同期、50MHzの単一中央クロックソース (REF_CLK) をすべてのポートの送信パスおよび受信パスに使用します。これにより、各ポートの TX_CLK/RX_CLK ソース・シンクロナス・クロック・ペアではなく、単一のボード・オシレーターをデザインで使用できるため、ポート密度が高いシステムにおいてシステムのクロックが簡素になり、ピン数が低減します。

RMIIは2ビット幅の送信および受信データパスを使用します。すべてのデータおよびコントロール信号は、REF_CLK 立ち上がりエッジに同期しています。RX_ER コントロール信号は使用されません。10Mbpsモードでは、データおよびコントロール信号はすべて、REF_CLK で10クロックサイクル間、有効に保たれます。

図 2. RMII MAC/PHYインターフェイス

インターフェイス・クロックスキーム

EMACおよびRMII PHYでは、50MHzの REF_CLK ソースを提供することができます。HPS_OSC_CLK 入力などの既存のクロックソースを使用することにより、内部PLLでシステムのクロックデザインをさらに簡素化し、クロックソースの追加を不要にします。

このセクションでは、HPS EMACまたはPHYをソースとする REF_CLK のシステム・デザイン・シナリオの両方について説明します。

ガイドライン: アプリケーションの REF_CLK ソースの選択に関する詳細は、 Agilex™ 7デバイス・データシートを確認します

注: 選択したPHYがアプリケーションの REF_CLK クロックスキームをサポートしていることを確認します。 Agilex™ 7デバイス・データシートで指定されている要件および考慮事項に注意してください。
REF_CLK のソースには、次の2つの方法のいずれかを使用することができます。
  • HPSをソースとする REF_CLK
  • PHYをソースとする REF_CLK
図 3. HPSをソースとするREF_CLKこのスキームでは、EMACのHPS RMII I/O TX_CLK 出力を、HPS RMII I/O RX_CLK および PHY REF_CLK 入力に接続します。
図 4. PHYをソースとするREF_CLKこのスキームでは、PHYの REF_CLK 出力をEMACのHPS RMII I/O RX_CLK 入力に接続します。EMACのHPS RMII I/O TX_CLK 出力は未接続のままにします。REF_CLK を供給できるPHYは通常、ピン・ブートストラップを介してそのようにコンフィグレーションされます。また、REF_CLK 生成のための外部水晶またはクロック入力が必要です。

RX_CLK の配線がデイジーチェーン接続で、ソースからMACそしてPHYに、またはソースからPHYになっている場合は、フライトタイムの違いを考慮する必要があります。この2つの REF_CLK ロードでは異なる時間にクロックが観察されます。

ガイドライン: データおよびコントロール信号の配線遅延およびスキューを考慮し、HPS SoCデバイスのデータシートおよびPHYデータシートで指定されているセットアップおよびホールドを満たすようにします

信号長の一致は必要ありません。ただし、信号長が24インチを超える場合は、クロック遅延とデータ遅延についての基本的なタイミング解析を実行する必要があります。

周期は、50MHzの REF_CLK で20nsです。また、PHYの設定が10Mbpsモードか100Mbpsモードかにかかわらず、この周波数は変わりません。

HPS EMACのすべてのクロックは RX_CLK に基づいています。そのため、EMACまたはPHYからの REF_CLKTco および PCB のフライトタイムは、無視することができます。最大12インチまでの一般的なボードトレースで生じるフライトタイムは、わずか2nsです。また、RXDRX_CLKTsu は最小4nsです。これは、20nsの周期を大きく下回っています。

RXDRX_CLK の2nsのホールド要件もまた、容易に満たすことができます。TXDTcoRX_CLK に対して、MACとPHYのいずれの場合でも2nsを超えます。 Agilex™ 7 SoCデバイスの場合、TXDTcoRX_CLK に対して2nsから10nsになります。

ガイドライン: REF_CLKソースがデューティー・サイクル要件を満たしていることを確認します

REF_CLK に対するジッター仕様はありませんが、デューティー・サイクル要件は35%から65%です。この要件を満たすのは、 Agilex™ 7 SoCデバイスのPLLおよびGPIOのクロック出力、またはHPS IPからの TX_CLK 信号のクロック出力です。

RGMII

RGMIIは、PHY層で10Mbps、100Mbps、および1000Mbpsの接続速度をサポートするため、最も一般的なインターフェイスです。

RGMIIでは、4ビット幅の送信データパスおよび受信データパスを使用し、それぞれに独自のソース・シンクロナス・クロックがあります。送信データおよびコントロール信号はすべて TX_CLK にソース・シンクロナスで、受信データおよびコントロール信号はすべて RX_CLK にソース・シンクロナスです。

すべての速度モードにおいて、TX_CLK はMACから供給され、RX_CLK はPHYから供給されます。1000Mbpsモードでは、TX_CLK および RX_CLK は125MHzで、デュアル・データ・レート (DDR) 信号が使用されます。10Mbpsおよび100Mbpsモードでは、TX_CLK および RX_CLK はそれぞれ2.5MHzおよび25MHzで、立ち上がりエッジのシングル・データ・レート (SDR) 信号が使用されます。

図 5. RGMII MAC/PHYインターフェイス

I/Oピンのタイミング

このセクションでは、1000Mbpsモードにおける要件を満たすという観点からRGMIIインターフェイスのタイミングについて説明します。インターフェイスのタイミングマージンは、1000Mbpsモードの場合に最も厳しいため、ここでは1000Mbpsモードの場合のシナリオのみを検討します。

125MHzにおける周期は8nsですが、両方のエッジが使用されるため、有効周期はわずか4nsになります。TXバスおよびRXバスは独立しておりソース・シンクロナスであるため、タイミングが簡潔になります。RGMIIの仕様では、いずれの方向でもレシーバー側で CLKDATA から最小1.0nsおよび最大2.6ns遅延するように要求しています。

すなわち、TX_CLK はMAC出力から PHY 入力に、RX_CLKPHY 出力から MAC 入力に遅延する必要があります。信号は、出力ピンで測定された場合に各方向+/- 500ps RGMII スキュー仕様内でソース・シンクロナスに送信されます。それぞれの方向に必要な最小遅延は1nsですが、 インテル® では1.5nsから2.0nsの遅延をターゲットとし、大幅なタイミングマージンを確保することを推奨しています。

送信パスのセットアップおよびホールド

送信に重要なのは、TX_CTLTXD[3:0] に対する TX_CLK のセットアップおよびホールドのみです。 Agilex™ 7 HPS I/Oは、出力で最大3 nsの追加遅延を100psまでの増分で提供することができます。具体的な値については、 Agilex™ 7デバイス・データシートを参照してください。HPS専用I/O使用時にEMACの TX_CLK 出力に追加される遅延は、HPSプラットフォーム・デザイナーIPコンポーネントの I/O Delays パラメーターでコンフィグレーションすることができます。

ガイドライン: Agilex™ 7デバイスからの TX_CLK の場合、1.8nsのI/O遅延を導入し、RGMII仕様にある1.0nsの PHY 最小入力セットアップおよびホールド時間を満たす必要があります

受信パスのセットアップおよびホールド

受信タイミングを考慮する際に必要なのは、RX_CTLRXD[3:0] に対する RX_CLK のセットアップおよびホールドのみです。 Agilex™ 7 HPS I/Oは、入力で最大3nsの追加遅延を提供することができます。具体的な値については、 Agilex™ 7デバイス・データシートを参照してください。 Agilex™ 7デバイスの入力では、最大2.25nsのI/O遅延により、RX_CLK のこのタイミングを達成することができます。PHY側もしくはボードトレースの遅延側のほかの内容を考慮する必要はありません。HPS専用I/O使用時にEMACの RX_CLK 出力に追加される遅延は、HPSプラットフォーム・デザイナーIPコンポーネントの I/O Delays パラメーターでコンフィグレーションすることができます。

ガイドライン: PHYがRGMII-IDをサポートしていない場合、 Agilex™ 7 SoC HPS専用I/Oのコンフィグレーション可能な遅延要素を使用して、RX_CLKRX_DATA/CTLのデータ有効ウィンドウの中央に配置します

3 この値は特性評価中です。