PCIE笔记
文章平均质量分 60
郎爱上羊
这个作者很懒,什么都没留下…
展开
-
PCIE调试笔记理解--TLP理解
PCIE以TLP包的形式传输。在TX端,TLP包按照应用层 -> 传输层 -> 数据链路层 -> 物理层 一级一级的往下传递;RX端与TX端反向传递。PCIE的TLP包由很多很多的类型,在初学者理解调试PCIE的时候,全部理解所有类型的TLP包格式往往有点费劲,往往只需要掌握关键的几个就可以了,后续需要用到来努力学习。MWr,MRd,CPLD三个主要的TLP包。MWr和MRd格式如下:R:0;TC:0;TD(TLP Digest):0EP(poisoned...原创 2021-05-20 16:12:37 · 4213 阅读 · 1 评论 -
PCIE调试笔记理解--BAR理解
基地址寄存器(BAR)在配置空间(Configuration Space)中的位置:一旦FPGA与CPU linkup succeed,CPU将读取Type 0 Header里面的参数。并将BAR地址映射到CPU总线上的地址。使用FPGA配置生成PCIE IPcore的时候设置参数:CPU按照读取configuration space(Type 0 Header)里面的参数Devicd ID/Subsystem ID/Revision ID/Vendor ID/Subsystem .原创 2021-05-19 10:20:33 · 3517 阅读 · 0 评论 -
PCIE调试笔记理解--link training succeed
PCIE链路 training,主要是PCIE IPcore物理层自动进行的,用户能干预的地方很少。但是可以通过测试LTSSM这个状态机输出的状态判断 training succeed是否成功。假如板卡物理条件和CPU驱动正常条件下,只要配置好IPcore的时钟和复位,Link training succeed一般会成功(其他原因,能力有效还没有遇到)!!!以EP4CGX50器件生成PCIE HARD core为例,记录调试过程:1. 生成IP core参考时钟 refclk=100MHz.原创 2021-05-17 19:06:55 · 2584 阅读 · 0 评论 -
PCIE调试笔记理解--Refclk
PCIe插槽需要提供参考差分时钟,其频率范围在100MHZ±300ppm。在PCIE IPcore生成过程中含有“Link Control Register”中,“Common Clock Configuration”位当该位为1时,表示该端与PCIE链路对端设备使用“同相位”的参考时钟(如FPGA与CPU相连,FPGA输入的参考时钟由CPU输出,CPU与FPGA有数据差分线tx/rx连接之外,CPU与FPGA还需要有两根差分时钟线连接);如果为0,表示该设备与PCIE链路的对端设备使用的参考使用是原创 2021-05-11 16:12:18 · 4194 阅读 · 0 评论 -
PCIE调试笔记理解--LTSSM
参考大佬:https://blog.csdn.net/zhuzongpeng/article/details/78995340PCIE硬核内部使用了Serdes实现了高速数据传输,在可以正常通讯之前必要要进行链路初始化与训练(Link initialization & training),链路初始化与训练是完全有FPGA内部IPcore自己完成的(链路初始化与训练类似于xilinx selectIO 调节Tap和bitslish),理论上用户不需要做处理(是否有操作详见IPcore规格书)。LT转载 2021-05-11 10:08:24 · 4547 阅读 · 0 评论