仅对英特尔可见 — GUID: dfz1557328270000
Ixiasoft
仅对英特尔可见 — GUID: dfz1557328270000
Ixiasoft
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时钟周期。
接口时钟方案
EMAC和RMII PHY可提供50 MHz REF_CLK源。使用已现存的时钟资源,例如HPS_OSC_CLK输入,内部PLL进一步简化系统时钟设计,并消除需要其他时钟源。
本节讨论针对HPS EMAC作为源和PHY作为源的REF_CLK的系统设计方案。
指南:请参阅 Intel® Agilex™ FPGA Data Sheet了解在应用程序中选择REF_CLK源的规定。
- HPS-Sourced REF_CLK
- PHY-Sourced 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_CLK的Tco和PCB飞行时间,无论是从EMAC还是PHY都可以忽略。最长12英寸的常见电路板走线仅产生2 ns的飞行时间,而RXD到RX_CLK的Tsu最小为4 ns,远低于20 ns周期。
相对于RX_CLK,即使RXD有2 ns保持要求,也很容易满足。因为无论是MAC或 PHY的RX_CLK,其TXD的Tco都大于2 ns。对于 Intel® Agilex™ SoC器件,RX_CLK中TXD的Tco为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_CLK和RX_CLK为125 MHz,使用Dual Data Rate (DDR)信号。10 Mbps和100 Mbps模式下,TX_CLK和RX_CLK分别为2.5 MHz和25 MHz,并且使用上升沿Single Data Rate (SDR)信号。
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_CTL和TXD[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_CTL和RXD[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输入延迟。