AN 886: Intel® Agilex™ SoC器件设计指南

ID 683634
日期 1/22/2021
Public
文档目录

5.1.7.1.2. RMII和RGMII PHY接口

确定是否使用RMII或RGMII PHY接口。

RMII

对所有端口中的传输和接口路径,RMII使用单个集中式系统同步50 MHz时钟源(REF_CLK)。这样可简化系统时钟,并减少高密集度端口系统系统中的管脚数量,因为您的设计可使用单板振荡器,而非依每个端口TX_CLK/RX_CLK源同步始终配对。

RMII使用2-bit宽传输和接收数据路径。所有数据和控制信号都同步于REF_CLK上升沿。不使用RX_ER控制信号。10Mbps模式下,所有数据和控制信号均保持有效到10个REF_CLK时钟周期。

图 2. RMII MAC/PHY 接口

接口时钟方案

EMAC和RMII PHY可提供50 MHz REF_CLK源。使用已现存的时钟资源,例如HPS_OSC_CLK输入,内部PLL进一步简化系统时钟设计,并消除需要其他时钟源。

本节讨论针对HPS EMAC作为源和PHY作为源的REF_CLK的系统设计方案。

指南:请参阅 Intel® Agilex™ FPGA Data Sheet了解在应用程序中选择REF_CLK源的规定。

注: 请确保选择的PHY支持应用程序中的REF_CLK时钟方案。请注意 Intel® Agilex™ FPGA Data Sheet中规定的要求和使用注意事项。
可使用以下两种以REF_CLK作为源的方法:
  • HPS-Sourced REF_CLK
  • PHY-Sourced 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输出保持未连接。要使得PHY能够作为REF_CLK的源通常需通过管脚引导(bootstrapping)来实现,并且需要外部晶振或时钟输入来生成REF_CLK

如果RX_CLK的路由是从源到MAC,再连接PHY的菊花链,或者从源连接PHY,就必须考虑飞行时间差异,因为2个REF_CLK负载从不同时间观察时钟。

指南:考虑数据和控制信号上的布线时延和偏斜,以确保符合HPS SoC Device数据表和PHY数据表中规定的设置和保持要求。

无需信号长度匹配,除非您的信号长度超过24英寸。信号超出长度的情况下,就必须执行一些基本的时序分析,包括时钟时延与数据时延。

50 MHz的REF_CLK周期为20 ns并且保持该频率, 无论PHY是否设置为10Mbps或100Mbps模式。

HPS EMAC中的所有时钟都基于RX_CLK计时,因此REF_CLKTcoPCB飞行时间,无论是从EMAC还是PHY都可以忽略。最长12英寸的常见电路板走线仅产生2 ns的飞行时间,而RXDRX_CLKTsu最小为4 ns,远低于20 ns周期。

相对于RX_CLK,即使RXD有2 ns保持要求,也很容易满足。因为无论是MAC或 PHY的RX_CLK,其TXDTco都大于2 ns。对于 Intel® Agilex™ SoC器件,RX_CLKTXDTco为2 ns至10 ns。

指南:确保REF_CLK源满足占空比要求。

REF_CLK无抖动规范,但有35%-65%的占空比要求。该要求仅针对 Intel® Agilex™ SoC器件的PLL和GPIO时钟输出或来自HPS IP的TX_CLK信号。

RGMII

RGMII是最常见接口,其支持PHY层的10 Mbps,100 Mbps和1000 Mbps连接速度。

RGMII使用4-bit宽发送和接收数据路径,每个路径有其自己的源同步时钟。所有发送数据和控制信号都源同步于TX_CLK,且所有接收数据和控制信号源同步到RX_CLK

对于所有速度模式,TX_CLK由MAC提供时钟源,而RX_CLK由PHY提供时钟源。在1000 Mbps模式下,TX_CLKRX_CLK为125 MHz,使用Dual Data Rate (DDR)信号。10 Mbps和100 Mbps模式下,TX_CLKRX_CLK分别为2.5 MHz和25 MHz,并且使用上升沿Single Data Rate (SDR)信号。

图 5. RMII MAC/PHY接口

I/O管脚时序

本节从满足1000 Mbps模式下各种要求的角度出发,介绍RGMII接口时序。1000 Mbps模式下,接口时序裕量要求最高。因而此处需考虑的方案有且仅有这一个。

125 MHz时,周期为8 ns,但由于两个沿都已使用,因而有效沿周期仅为4 ns。TX和RX总线分离但时钟源同步,从而简化了时序。RGMII规定要求从任意方向上接收器的DATA开始延迟CLK最短1.0 ns到最长2.6 ns。

换言之,必须延迟从MAC输出到PHY输入的 TX_CLK,并延迟从PHY输出到MAC输入的RX_CLK。输出管脚出测得每个方向上,信号在规定的+/- 500 ps RGMII偏斜内同步传输。每个方向所需的最小延迟为1 ns,但 Intel® 建议将延迟目标定为1.5 ns到2.0 ns,以确保足够的时序裕量。

发送路径建立/保持

仅设置和保持连接到与发送相关的TX_CTLTXD[3:0]TX_CLK Intel® Agilex™ I/O可在输出上提供~100 ps递增的其他延迟,最多达到~3 ns。请参阅 Intel® Agilex™ FPGA Data Sheet获得具体值。 使用HPS专用I/O时对EMAC的TX_CLK输出增加的延迟,可在HPS Platform Designer IP component I/O Delays参数中进行配置。

指南:对于来自 Intel® Agilex™ 器件的TX_CLK,必须引入1.8 ns I/O延迟才能满足RGMII规定中的1.0 ns PHY最小输入建立/保持时间。

接收路径建立/保持

仅需考虑与接收时序的RX_CTLRXD[3:0]连接的RX_CLK的设置和保持。 Intel® Agilex™ I/O可支持提供输入上的其他延迟最多达到2.25 ns3。请参阅 Intel® Agilex™ FPGA Data Sheet了解具体值。对于 Intel® Agilex™ 器件输入,最高达到2.25 ns3的 I/O延迟可实现 RX_CLK的该时序,且无需考虑PHY侧或板走线延迟侧。

指南:如果PHY不支持RGMII-ID,则请使用 Intel® Agilex™ SoC HPS专用I/O或FPGA I/O中的可配置延迟组件将RX_CLK置于中心RX_DATA/CTL数据有效窗口的正中间。

如果使用HPS I/O,请配置HPS Platform Designer IP组件中RX_CLK上的延迟。如果使用FPGA I/O,请通过工程设置文件(.qsf)中的输入延迟设置添加RX_CLK输入延迟。

指南:由于带有1000BASE-X PCS选项的TSE MAC IP不再提供收发器I/O选项, 因此可使用 Intel® Agilex™ HPS EMAC实例中的FPGA收发器I/O实现SGMII PHY接口,但必须将PCS I/O选项选择为"NONE",这样将获得一个TBI接口。收发器PHY IP必须单独例化并连接 Intel® Agilex™ 器件。

3 该值尚待表征。