立即注册
查看: 1024|回复: 5

[资料] 基于FPGA的PCIE设计详细介绍(二)

已绑定手机
发表于 2021-7-30 16:49:41 | 显示全部楼层 |阅读模式 来自 广东省深圳市
上一篇内容我们已经对PCIE协议进行了粗略的讲解。那么不明白具体的PCIE协议,我们就不能在FPGA中使用PCIE来进行高速数据传输了吗?答案是否定的。因为Xilinx官方给我们提供了完善的PCIE IP,基于这些IP我们设置不需要知道TLP包的组包原理我们便可以把PCIE使用起来。这篇博客我们主要把FPGA作为endpoint来进行讲解,当然也对作为root port进行简单的描述。

XDMA IP的定制
为什么使用XDMA IP而不使用我们前面介绍的PCIE IP,因为前面介绍的IP需要我们自己构建TLP包,还有分散收集策略,基于该IP使用起来PCIE还是有点困难。但是XDMA就特别简单了,他不需要FPGA设计者熟悉PCIE协议,直接将PCIE协议转换成AXI4与AXI_Lite协议,可以直接对DDR进行操作。XDMA内部的分散收集操作、TLP组包、DMA操作等等进行了完整的封装。我们可以把XDMA IP看成我们经常使用的ZYNQ IP,他的BAR空间被AXI_Lite总线进行读写操作用于寄存器的配置,AXI总线用于大数据的传输直接与DDR对接。
1.jpg

对XDMA的内部描述如下:
1、AXI4、 AXI4-Stream,必须选择其中一个,用来数据传输
2、AXI4-Lite Master,可选,用来实现PCIE BAR 地址到 AXI4-Lite 寄存器地址的映射,可用来读写用户逻辑寄存器
3、AXI4-Lite Slave,可选,用来将XDMA 内部寄存器开放给用户逻辑,用户逻辑可以通过此接口访问 XDMA内部寄存器,不会映射到BAR
4、AXI4 Bypass 接口,可选,用来实现PCIE 直通用户逻辑访问,可用于低延迟数据传输
2.jpg
1、该IP是作为Endpoint来进行PCIE操作的
2、IP定制的模式是高级,这样一来可供选择的IP定制选项就会增多
3、PCIE硬核的位置,这里我们的芯片只有一个硬核,所以这里默认即可
4、lane的个数,与开发板相对应,这里选择2个
5、XDMA将PCIE转换成AXI协议,这个就是AXI协议的位宽
6、该片子的高速串行接口是GTP口,支持PCIE Gen1 Gen2协议,速度分别是2.5GT/s 5GT/s,这里选择最大速度5 GT/s
7、PCIE参考时钟的频率,与板子的时钟情况有关,这里是100MHz
8、AXI总线的时钟频率,这里我们选择125MHz
9、这里我们直接将PCIE协议转换成AXI协议,而不选择AXI Stream协议,简化我们的操作。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2021-11-4 08:40:34 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-11-30 19:00:59 | 显示全部楼层 来自 江苏省苏州市
这个不错,感谢分享
已绑定手机
发表于 2022-7-6 09:59:53 | 显示全部楼层 来自 山东省济南市
谢谢分享!!!
已绑定手机
发表于 2022-10-9 15:03:31 | 显示全部楼层 来自 四川省
谢谢分享,继续学习
已绑定手机
发表于 2024-3-14 15:11:47 | 显示全部楼层 来自 山西省太原市
感谢分享,学习一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表