万兆以太网万兆以太网MAC的流量控制电路设计与实现的流量控制电路设计与实现
深入研究以太网组帧、传输的方式以及流量控制的原理,结合万兆以太网介质访问控制(XGMAC)64 bit数据
并行处理的特点,针对PAUSE帧响应周期长、占用硬件资源多的问题,设计了一种精简的基于PAUSE帧的流量
控制电路,在ISE中逻辑综合与仿真。验证结果表明,该电路可满足万兆以太网流量控制的要求。
杨莹1,张琴1,杨灿美2,林福江1
(1.中国科学技术大学 信息科学技术学院,安徽 合肥 230027;2.中国科学技术大学 先进技术研究院,安徽 合肥
230027)
摘要 摘要:深入研究以太网组帧、传输的方式以及
关键词关键词:万兆以太网;流量控制;XGMAC;PAUSE帧
0引言引言
自2002年万兆以太网标准IEEE802.3ae[1]提出以来,万兆以太网技术得到迅速发展与广泛应用,近年来逐步取代千兆
以太网成为新一代的城域骨干网络。相对于千兆以太网MAC层的125 MHz时钟频率与8 bit数据处理位宽,万兆以太网介质访
问控制(10 Gigabit Ethernet Media Access Controller, XGMAC)层采用156.25 MHz时钟频率与64 bit数据处理位宽。时钟频率
的提高、数据位宽的增大给MAC层流控制电路的设计带来新的挑战[2]。本文针对XGMAC层的特点提出一种高效、低功耗
的流控制电路设计方案,旨在减少流控制机制对系统造成的额外延时并以此提高发送和接收以太网帧的效率。
1基于基于PAUSE帧流控制的原理帧流控制的原理
为了提高传输效率,XGMAC层采用PAUSE帧进行流量控制。PAUSE帧为符合IEEE802.3协议的一种控制帧,遵从以太
网最小帧长度64 B的限制[3]。
流量控制原理如图1所示,当local_XGMAC 接收模块中接收缓存快满(快空)时,local发送模块根据图1XGMAC流量控
制示意图
流量控制模块指示的信号发送时间参数为0xFFFF(0x0000)的PAUSE帧。remote_XGMAC接收模块接收到PAUSE帧并
确认有效后,提取时间参数用于流量控制模块的暂停发送计数器赋值,并以此控制发送模块暂停(恢复)发送数据帧。
2流量控制电路的结构流量控制电路的结构
如图2所示,XGMAC流量控制模块分为发送和接收两个部分。
2.1PAUSE帧发送电路设计帧发送电路设计
千兆以太网中,因其8 bit的数据处理位宽限制,PAUSE帧通常使用逻辑状态机,按照帧格式通过状态转换填充至发送缓