FPGA开发——PCIe

PCIe基础知识
1.1 书
(1)《PCIe入门》

(2)《PCIe体系结构导读》(作者在客上连载)
http://blog.sina.com.cn/s/articlelist_1685243084_0_2.html

(3)Addison.Wesley.PCI.Express.System.Architecture.eBook-LiB.chm

系列博文:
(4)【老男孩读PCIe系列】
老男孩读PCIe之五:TLP结构
http://www.ssdfans.com/blog/2017/08/03/%E8%80%81%E7%94%B7%E5%AD%A9%E8%AF%BBpcie%E4%B9%8B%E4%BA%94%EF%BC%9Atlp%E7%BB%93%E6%9E%84/
老男孩读PCIe之六:配置和地址空间
http://www.ssdfans.com/blog/2017/08/03/%E8%80%81%E7%94%B7%E5%AD%A9%E8%AF%BBpcie%E4%B9%8B%E5%85%AD%EF%BC%9A%E9%85%8D%E7%BD%AE%E5%92%8C%E5%9C%B0%E5%9D%80%E7%A9%BA%E9%97%B4/

(5)【PCIe扫盲系列博文】
PCIe扫盲系列博文连载目录篇(第一阶段)
http://blog.chinaaet.com/justlxy/p/5100053251
第二阶段的目录篇地址为:
http://blog.chinaaet.com/justlxy/p/5100053328
第三阶段的目录篇地址为:
http://blog.chinaaet.com/justlxy/p/5100053481
第四阶段的目录篇地址为:
http://blog.chinaaet.com/justlxy/p/5100057779
第五阶段的目录篇地址为:
http://blog.chinaaet.com/justlxy/p/5100061871

1.2 DMA、PIO
(1)PCIE的DMA和PIO介绍
https://blog.csdn.net/weixin_33895475/article/details/85974370

1.3 TLP包格式
(1)【重点看:3 PCIE事务交互】
图解PCIE原理(从软件角度)
https://blog.csdn.net/mao0514/article/details/74783913

1.4 配置空间
(1)【14】PCIe架构下memory空间、IO空间、PCIe配置空间简介
https://blog.csdn.net/linjiasen/article/details/87944672

(2)如何访问pcie整个4k的配置空间
https://blog.csdn.net/mao0514/article/details/26072229

(3)从cpu角度理解PCIe
https://blog.csdn.net/qq_21792169/article/details/83340013

1.5 其他
(1)菜鸟5小时速成FPGA PCIE设计高手教程
https://wenku.baidu.com/view/d890041b59eef8c75fbfb3ff.html

(2)PCI与PCIe学习一——硬件篇
https://blog.csdn.net/u013253075/article/details/80835489

1.5 解决问题
Xilinx官方论坛
https://forums.xilinx.com/t5/PCI-Express/bd-p/PCIe

AR# 35920 Xilinx Solution Center for PCI Express - Documentation
https://www.xilinx.com/support/answers/35920.html

AR# 65176 Xilinx PCI Express - General Answer Records
https://www.xilinx.com/support/answers/65176.html

  1. PCIe官方例程(vivado环境)
    说明:下面PCIe的 3个工程中的结构都类似,把其中一个源码结构分析清楚了,其它2个也类似。
    2.1 PCIe的第一个 IP:PCIe硬核(PIO模式)
    IP:7 series intergrated block for PCI Express = PCIe 硬核
    example design:pcie_7x_0_ex
    xilinx文档:PG054

【说明:PG054中文版】
xilinx PCIE2.0接口 EP端设计总结
http://www.docin.com/p-1964324614.html

参考博文:
(1)源码结构
【说明:IP example design 详细分析】
PCIe学习(一):PCIe基础及生成PIO例程分析
https://blog.csdn.net/cllovexyh/article/details/79828833#commentBox

(2)上板调试
【说明:mcs固化V7+windriver驱动+ila抓波形】
Vivado vc707 pcie传输实验(超详细)
https://blog.csdn.net/binghui_w/article/details/83277925

2.2 XAPP1052(PIO模式、DMA模式)
说明:

  1. XAPP1052可以实现DMA模式,但官方给的testbench里只有PIO模式的仿真,DMA模式的仿真需要自己另写。
  2. XAPP1052有很多bug: (1)官方源码结构中没有存储,需要加FIFO;(2)仿真PIO模式时有bug;(3)仿真DMA模式没提供;(4)仿真DMA模式要设置寄存器;TLP size要满足要求;一次DMA不超过4KB;(4)上板调试有乱序问题。

xilinx文档:XAPP1052

参考博文:
(1) 源码结构

【说明:源码分析+PIO流程代码分析+DMA流程代码分析】
Xilinx FPGA 的PCIE 设计
https://blog.csdn.net/eagle217/article/details/81736822

【说明:源码分析】
PCIe学习(二):PCIe DMA关键模块分析之一
https://blog.csdn.net/cllovexyh/article/details/79835111
PCIe学习(三):PCIe DMA关键模块分析之二
https://blog.csdn.net/cllovexyh/article/details/79855813

(2) 仿真PIO模式

【说明:仿真PIO问题】
仿真Xilinx的PCIe时使用pio_writeReadBack_test0测试问题分析
https://www.mianbaoban.cn/blog/1010859-407788.html

(3) 仿真DMA模式

DMA模式需注意:

 RC、EP端寄存器的bus master enable 位需使能;

如何理解Xilinx的BMD?
https://www.mianbaoban.cn/blog/1010859-407913.html

Problems of PCIE DMA simulation
https://forums.xilinx.com/t5/PCI-Express/Problems-of-PCIE-DMA-simulation/m-p/329263

 TLP size不能超出RC、EP的max payload size;

 一次DMA不能超出4kB范围;

 写testbench
【说明:testbench代码分析】
xapp1052之dma_test.v
https://blog.csdn.net/Buyi_Shizi/article/details/51251404\

(4) 上板调试
【说明: 上板+乱序分析解决】
vivado pcie DMA传输实战
https://blog.csdn.net/binghui_w/article/details/83449079

【说明:上板+DMA流程+乱序】
FPGA-PCIe开发
https://blog.csdn.net/LWF729882492/article/details/79754525

2.3 PCIe的第三个 IP:XDMA(DMA模式)
IP:DMA/Bridge Subsystem for PCI Express = XDMA = PCIe 硬核(PCIe第一个IP)+ DMA
example design:xdma_0_ex
xilinx文档:PG195

参考博文:
(1) 源码结构
【说明:流程+源码分析】
XILINX PCIE DMA/Bridge Subsystem for PCI Express (XDMA)笔记
https://blog.csdn.net/Real003/article/details/83628398

视频教程:
http://training.eeworld.com.cn/video/15225

  • 5
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值