Xilinx FPGA(KCU1500) 通过RapidIO实现光纤互连 Altera Srio

项目需要通过QSFP光纤实现互连,硬件采用Xilinx的KCU1500和Altera芯片Stratix_IV系列的EP4SGX230芯片互连,最初因为本人没有用过xilinx的Srio,本想偷个懒直接用过8B/10B编码实现互连,进行数据传输,实际也是可以实现的,但是测试发现存在 字节不对齐的问题,https://blog.csdn.net/jingjiankai5228/article/details/104213874
问题也得到解决,但是项目需要实现断开自动重连,测试发现无法实现自动重连,索性放弃8B/10B这种直接的方式(个人觉得也不是什么大问题,只是需要人为的进行握手控制),进行通过Srio来实现光纤互连通信。
设计之初发现一个讲解非常详细的博客,可以参考转载的博客。https://www.cnblogs.com/liujinggang/p/10091216.html,看完之后就基本上可以知道怎么回事了,调试过程中如有问题,还是需要研读pg007 ip 核手册,由于KCU1500默认是156.25的参考时钟,所以测试之初采用了6.25G的线速率。无奈Altera那边只能跑5G线速率,好在KCU1500还有一个可编程的时钟芯片。可以通过编程参数125M实现5G线速率通信:关于核的设置及参数参考上面的博客地址即可:这里贴一下自己的设置参数:
在这里插入图片描述

在这里插入图片描述
下一步就是再基础工程上进行修改:其实只要看完上面的博客,基本上知道了框架,说白了,就是要通过AXI总线实现一个HELLO包的打包即可:
需要修改的主要是生成请求事务的模块srio_request_gen.v和srio_response_gen.v,最终修改的代码框架如图:
在这里插入图片描述
最终模块接口如下:
在这里插入图片描述
可以发现最终就是一个类似RAM的接口:
设计上板初始化效果:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

KCU1500刚好有两个光口,通过例化两个Srio测试将光纤拨出再擦回,也可实现自动重连:,下一步测试与Altera测试情况。
  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
FPGA(Field-Programmable Gate Array)是一种可编逻辑器件,可以根据用户的需求进行灵活的硬件设计。SRIO(Serial RapidIO)是一种高速串行总线协议,常用于高性能计算和通信系统中。 要在FPGA中添加SRIO IP(Intellectual Property),可以按照以下步骤进行: 1. IP核选择:首先,需要选择适用于目标FPGASRIO IP核。IP核是预先设计好的硬件模块,可以直接集成到FPGA设计中。可以从FPGA厂商提供的IP库中选择合适的SRIO IP核。 2. IP核配置:选择好IP核后,需要对其进行配置。配置包括设置SRIO协议的速率、端口数量、地址映射等参数,以满足具体应用需求。 3. 硬件连接:将SRIO IP核与其他逻辑模块进行连接。这包括将SRIO IP核的输入输出端口与其他模块的信号线相连,以实现数据的输和通信。 4. 约束文件设置:为了确保FPGA设计的正确实现,需要编写约束文件来指定时序和物理约束。约束文件包括时钟频率、时序要求、引脚映射等信息。 5. 生成比特流文件:完成设计后,需要将FPGA设计编译成比特流文件。比特流文件是一种二进制文件,可以被FPGA编程器加载到目标FPGA中。 6. 下载到FPGA:将生成的比特流文件下载到目标FPGA中,完成SRIO IP的添加。 需要注意的是,具体的步骤和工具可能会因不同的FPGA厂商和开发环境而有所差异。建议参考相关的FPGA开发工具和文档,以获得更详细的指导和支持。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值