AN 802: インテル® Stratix® 10 SoC デバイスのデザイン・ガイドライン

ID 683117
日付 4/17/2019
Public
ドキュメント目次

2.3.1.1.2. RGMII

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

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

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

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

I/Oピンのタイミング

この章では、1000 Mbpsモードの要件を満たすという観点からRGMIIインターフェイスのタイミングについて説明します。インターフェイスのタイミングマージンは1000 Mbpsモードにおいて最も要求が厳しいため、これはここで考慮する唯一のシナリオです。

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

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

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

送信に重要なのは、TX_CTLTXD[3:0] に対するTX_CLKのセットアップおよびホールドのみです。 インテル® Stratix® 10のI/Oは、出力で最大2.4 nsの追加遅延を150 psの増分で提供することができます。この遅延は、 インテル® Quartus® PrimeのAssignment Editorの出力遅延ロジックオプションを使用し有効にします。

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

インテル® Stratix® 10 SoC HPS専用I/OおよびFPGA I/Oは、最大2.4 nsの追加出力遅延を150 psの増分でサポートします。HPS専用I/Oを使用する場合にMACのTX_CLK出力に追加される遅延は、HPSプラットフォーム・デザイナーのIPコンポーネントでコンフィグレーションできます。

ガイドライン: 要求される遅延をHPS EMAC出力にコンフィグレーションするために必要なIntel設定がデザインに含まれていることを確認してください。

インテル® Stratix® 10 SoC開発キットおよび関連する インテル® Stratix® 10ゴールデン・ハードウェア・リファレンス・デザイン (GHRDはGSRDのハードウェア・コンポーネントです) において、TX_CLKの出力遅延設定の設定を行う例は、HPSプラットフォーム・デザイナーのIPコンポーネント・コンフィグレーションにあります。

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

受信タイミングを考慮する際に必要なのは、RX_CTLRXD[3:0] に対するRX_CLKのセットアップおよびホールドのみです。 インテル® Stratix® 10のI/Oは、最大3200 psの遅延を入力に追加できます。 インテル® Stratix® 10の入力の場合、3.2 nsのI/O遅延は、PHY側もしくはボードトレースの遅延側のほかの内容を考慮することなくRX_CLKのこのタイミングを達成できます。

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

HPS I/Oを使用する場合、HPSプラットフォーム・デザイナーのIPコンポーネントでRX_CLKの遅延をコンフィグレーションします。FPGA I/Oを使用する場合は、プロジェクト設定ファイル (.qsf) の入力遅延設定でRX_CLK入力に遅延を追加します。