首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FPGA片间万兆可靠通信的设计与实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FPGA片间万兆可靠通信的设计与实现
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-2-27 20:42
|
只看该作者
FPGA片间万兆可靠通信的设计与实现
云计算
,
互联网
,
以太网
,
通信
,
动态
【摘要】随着云计算技术的发展,采用FPGA 作为协同加速成为其发展的一个趋势,如何设计与实现FPGA 片间的高速通信是该研究方向的一个热点。研究了FPGA 万兆通信的物理层、MAC 层的实现机制,在通信协议可靠传输方面实现了MAC 层的流控以及错误包检测功能。仿真以及实际平台测试表明,该通信协议能够实现FPGA 片间万兆的线速通信。
云计算服务目前在互联网上急速增长,其通过互联网来提供动态易扩展的资源。随着云计算的发展,对以太网的数据通信以及高性能计算也提出了更高的要求[1],而基于大规模的FPGA 协同加速成为云计算服务的一种发展趋势[2 - 3]。因此如何设计与实现多片FPGA 之间的可靠通信成为云计算研究的一个热点。文献[4 -5]对物理层和MAC 层的接口进行了设计,实现了吞吐率达Gbit /s级的通信速率。文献[6 -7]设计了千兆以太网全双工模式下的物理通信,包括Pause 帧的收发,还实现了数据包的校验出错重传机制,但限于上层应用,对Pause 帧的实现机制没有具体阐述。
文献[8 -9]基于Xilinx 公司FPGA 平台,在分析如何实现万兆以太网的CRC32 纠错以及接收控制策略、CRC 编码/校验及与千兆以太网兼容等关键问题的基础上,实现了万兆以太网MAC 层控制但缺乏具体的实现方案。文献[10]采用自定义的的10 G MAC,设计与实现了以太包的调度策略。
上述研究没有涉及万兆MAC 层的流控以及可靠传输。基于此本文提出一种通过利用Xilinx FPGA 集成的万兆MAC IP 核以及XAUI IP 核实现FPGA 片间可靠通信的方法。
1 互联系统结构
本文提出的互联系统结构如图1 所示,系统由4 片Xilinx 公司的Virtex6 系列的FPGA xc6vlx550t -2ff1759 构成。每2 片FPGA 之间都有4 路高速双向传输通道,每路运行速度均为3. 125 Gbit /s,对外都有1 路10 G/20 G 的QSFP 光通信接口,线路采用8B/10B 编码,因此FPGA 之间的互联通信速率为10 Gbit /s。可以通过该硬件实现多级FPGA 的级联通信。
2 万兆互联的物理层以及MAC 层接口的设计实现
为了支持FPGA 之间的万兆通信,物理层采用Xilinx公司提供的XAUI IP,MAC 层采用Xilinx 公司的万兆以太MAC IP 实现传输协议的CRC32 校验码的填充与检测,如图2 所示。在MAC 层之上增加了MAC 控制模块,该模块通过FIFO 接口简化了应用层的设计,并采用流量控制以及错误检测功能实现数据的10 G 线速可靠传输。
XAUI IP 核配合Xilinx 的Rocket IO GTX 实现XGMII总线与10 G 物理通道的转换[11]。GTX 收发器实现高速串行收发器的数据缓冲、通道绑定、接收端时钟恢复以及发送预加重等功能[12]。XAUI IP 核的XGMII 总线包括32位的双速率和64 位的单速率接口,由于本文的XGMII 总线在FPGA 内部,因此采用单速率的XGMII 总线接口,系统工作时钟频率为156.25 MHz。
2. 1 万兆MAC 层协议
万兆MAC 核是一个单速,全双工10 Gbit /s 的以太网媒体控制器,实现IEEE802. 3ae 万兆以太网数据的前导码过滤与增加、数据4 byte CRC32 校验码的填充与验证。支持的以太数据帧长最小为64 byte,最大为1 518 byte( 可以支持Jumbo frame) 。其内部结构包括发送、接收引擎,流量控制模块,管理接口和XGMII 接口,通过XGMII 接口能够很方便地连接到XAUI IP 核[13]。
发送端在传输数据之前,MAC 层会先发送7 byte 的同步码和1 byte 的帧首定界符,并在1 帧传送结束时填充4 byte 的CRC32 校验码,如果数据长度小于46 byte,则会自动在数据字段填充PAD 字符,即补0。在接收端,MAC层去掉前导码和帧首定界符,并对帧进行CRC32 校验。如果校验正确则向上层发送收到正确帧( rx_good_frame)信号,否则发送收到错误帧( rx_bad_frame) 信号。MAC 层还具有流控的功能,实现收发双方的通信速率匹配。
2. 2 错误检测及过滤功能
Xilinx 提供的万兆MAC 控制器对接收到的错误数据并不进行处理,仅仅给出数据CRC32 校验是否正确。为了提供物理层的可靠传输,需要在此基础上增加接收错误帧过滤模块,如果接收到的是校验错误帧,则需过滤掉该帧。本文采用基于双端口数据RAM 以及帧信息FIFO 的存储机制实现错误包的过滤,如图3 所示。接收存储控制模块若检测到万兆MAC IP 接收端口收到的数据rx_valid( rx_data_valid_o! = 8’h0) 有效,则把该数据缓存到双口数据RAM 中去。然后检测rx_valid 是否小于8 个时钟节拍,如果小于8 个时钟节拍,则不用判断rx_good_frame 以及rx_bad_frame,因为此时接收到的帧肯定错误( 小于万兆以太协议的最小64 byte) ,回到IDLE 状态。如果rx_valid 持续有效时钟大于8 个时钟节拍,则在帧尾检测是否有rx_good_frame 或者rx_bad_frame; 如果是bad 帧,不作处理回到IDLE 状态,如果是good 帧,则将该帧存放RAM 的起始地址和帧长信息写入帧信息FIFO,并返回IDLE状态。如果在帧尾没有检测到good 或者bad 信息,则等待; 若等到good 信息则把该帧长以及起始地址写入帧信息FIFO,并返回IDLE 状态,若等到bad 信息则直接回到IDLE 状态,其状态机如图4 所示。
读取控制模块若检测到帧信息FIFO 有数据,则表示双口数据RAM 中已经存储了正确的以太帧,从帧信息FIFO 中获取接收到帧的地址与长度,并把接收到的数据存储到用户控制端口的接收FIFO 中。由于采用存储校验机制,因此接收端相对发送端有一定的延迟,最大延迟为最长以太帧的存储时间。
2. 3 流量控制模块以及接收FIFO 缓冲区深度设计
为了解决发送FPGA 与接收FPGA 通信速率的不匹配,需要在MAC 层增加流控功能,即当接收FIFO 裕量小于预设的安全值,向发送方发送暂停( Pause) 帧,告知发送方停止发送数据一段时间。发送方接收到暂停帧以后,停止数据的发送,若暂停期间没有接收到新的Pause 帧,则继续本次数据通信,若暂停期间接收到新的暂停帧,则从当前时刻增加新的暂停时间。
3 系统性能测试
在Xilinx 公司的ISE 开发环境中进行代码综合、映射及布局布线,综合结果测试表明,本设计的工作频率可以达到156. 25 MHz。通过快写慢读操作来验证流控模块,如图7 所示。最终实验结果表明能正常过滤错误以太包,并确保通信速率达到了10 Gbit /s。用复位来模拟掉电操作,最终测试结果表明该系统在正常传输过程中若发送端或接收端突然掉电,上电后双方仍能重新正常通信。
4 结论
本文实现了万兆MAC 层发送、接收、流控以及错误帧过滤的设计。并且使用Xilinx 的Virtex-6 系列FPGA器件进行布局布线后进行板级测试验证。结果表明,系统可以在156. 25 MHz 时钟频率正常工作,接收和发送带宽均可接近10 Gbit /s。但随着社会的发展,人们对通信速率的要求越来越高,在不久的将来, 10 Gbit /s 的通信速率将不能满足人们的需求,所以对高速互联的研究将永无止境,下一步可以提高互联通信速率,进一步研究20 Gbit /s、40 Gbit /s 或更高速率的互联结构。
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议