XGMII(10 Gigabit Media Independent Interface)技术参考
文章目录
XGMII(10 Gigabit Media Independent Interface)技术参考
> 基于 IEEE 802.3-2022 Clause 46,可直接用于学习与硬件设计
1 接口概述
XGMII 是 10 GbE MAC 与 PHY 之间的并行介质独立接口,单时钟域,全双工固定 10 Gb/s。
- 时钟频率:156.25 MHz(DDR 双边沿采样时 312.5 MT/s) (实际是用户使用时钟要根据手册来,K7和U系列使用时钟会不一样,另外,64位宽需要使用coreclk,而不是使用txuserclk2)
- 数据宽度:32 bit × 2(TXD/RXD) (也可以为64bit的txd)
- 控制宽度:4 bit × 2(TXC/RXC)
- 总信号数:74 根(TX 37 + RX 37)
2 信号定义(Clause 46.2)
| 信号 | 位宽 | 方向 | 说明 |
|---|---|---|---|
| TXD[31:0] | 32 | MAC→PHY | 发送数据/控制字符 |
| TXC[3:0] | 4 | MAC→PHY | 字节级控制标志 |
| TX_CLK | 1 | MAC→PHY | 156.25 MHz 发送时钟 |
| RXD[31:0] | 32 | PHY→MAC | 接收数据/控制字符 |
| RXC[3:0] | 4 | PHY→MAC | 字节级控制标志 |
| RX_CLK | 1 | PHY→MAC | 156.25 MHz 接收时钟 |
> 注:XGMII 为单沿采样(SDR),每周期传输 32 bit,因此
> 32 bit × 156.25 MHz = 5 Gb/s → 双边沿同时利用 TX/RX 通道即 10 Gb/s。
3 字节映射与控制编码
| 通道 | 数据位 | 控制位 | 备注 |
|---|---|---|---|
| Byte 0 | TXD[7:0] | TXC[0] | 最低有效字节 |
| Byte 1 | TXD[15:8] | TXC[1] | |
| Byte 2 | TXD[23:16] | TXC[2] | |
| Byte 3 | TXD[31:24] | TXC[3] | 最高有效字节 |
- TXC/RXC[i] = 0 → 对应字节为数据字符(Payload)
- TXC/RXC[i] = 1 → 对应字节为控制字符(Control Code)
> 控制字符必须落在 8B/10B 有效控制码表(K 码)或 64B/66B 控制块定义范围内;MAC 层负责插入 /S/ (在第0或者5位byte)、/T/、/I/、/E/ 等 Ordered-Set。
4 特殊控制场景示例
| RXC[3:0] | 含义 | 典型 Ordered-Set |
|---|---|---|
| 0x0 | 4 字节均为数据 | 正常帧内部 |
| 0xF | 4 字节均为控制 | Idle 帧 /I/I/I/I 或 Start+Terminate 组合 |
| 0x1 | 仅 Byte0 控制 | /S/ 置于 Lane0,其余为数据 |
> 接收端通过 RXC 与 RXD 联合判断:
> - 检测到 /S/ → 标记帧起始
> - 检测到 /T/ → 标记帧结束并计算 CRC
5 与后续接口的关系
- XGXS(XGMII Extender Sublayer, Clause 47)把 74 根并行信号转换为 8B/10B 编码的 XAUI(4 × 3.125 Gb/s)以减少引脚。
- 10GBASE-R/KR 的 PCS 直接采用 64B/66B 码流;XGMII 数据在进入 PCS 前由 MAC 完成 64B/66B 块映射。
6 硬件设计提示
- 时钟: TX_CLK/RX_CLK 由 MAC 侧提供,PHY 侧使用源同步采样。
- 约束: 156.25 MHz 单沿采样,PCB 组内等长 ≤ ±10 mil(约 ±10 ps)。
- Idle 码: 链路空闲时必须驱动
/I/(0x07 控制字符)并保持 RXC=0xF,否则 PHY 会上报 Loss-of-Sync。 - 复位顺序: 先释放 MAC,再释放 PHY;保证 XGMII 信号在 PHY 准备好前保持 Idle。
7 常见误区纠正
| 误区 | 正确说明 |
|---|---|
| “XGMII 采用双边沿采样” | 单沿采样(SDR),156.25 MHz 即可满足 10 Gb/s(32 bit × 156.25 M = 5 Gb/s,全双工相加 10 Gb/s)。 |
| “RXC=0xF 表示链路异常” | 仅表示当前 32 bit 全部为控制字符,正常 Idle 状态即如此,无需告警。 |
| “控制字符可随意定义” | 必须符合 802.3 Table 46-4 与 Table 46-5 规定的 K 码或 64B/66B 控制块格式。 |
8 参考文献
- IEEE Std 802.3-2022, Clause 46 “XGMII”
- Intel® 10-Gbps Ethernet MAC (XGMII) Product Brief, Rev 1.4, 2023
- Synopsys DesignWare 10G Ethernet Controller Databook, 2024
- 电子工程专辑《XGMII 与 XAUI 硬件设计指南》2024-06-15
- 优快云《10G XGMII 时序约束实例》2024-07-20
2270

被折叠的 条评论
为什么被折叠?



