一、FPGA 实现万兆以太网
本文介绍在 Xilinx 7 系列 FPGA 上,利用 10G 以太网核和 10G PCS/PMA 核两种方式实现万兆网通信。基于 SerDes 的 10G 以太网通信采用 64B/66B 编码方式,串行线速率为 10.3125Gbps。
1.1、10G PCS/PMA 核
关于该核的使用,建议参考 PG068 文档;此核的用户接口为 XGMII。

对于光纤或者 RJ45 水晶头的接口(10GBASE-R 类型),内部功能结构如下:

万兆网通信采用 64B/66B 编码。发送前需要对数据加扰,接收时先解扰。编码规则是在加扰后的 64bit 数据前加入 2bit 同步位(Sync)组成 66bit 数据,同步位标识该 64bit 数据是数据帧还是控制帧。
1.1.1、以太网 XGMII 接口
这里讨论 64bit 数据位宽的 XGMII 接口。当 xgmii_txd 对应字节为控制字符时,xgmii_txc 对应的控制位为高电平;当对应字节为数据字符时,控制位为低电平。

相关时序如下:

XGMII 接口中相关数据、控制的定义如下:空闲状态为 0x07、起始状态为 0xFB、终止状态为 0xFD。

























