PCIe 相关知识点

1. PC读写访问板卡:
那PC 如何读写板卡的数据呢?简单的解释, PC 启动是, BIOS 探测所有的外设。对 PCIe( PCI)设备来说, BIOS 检测到板卡有多少个 BAR 空间,每个空间有多大,然后对应为这些 BAR 空间分配地址。对 PC 设备来说,它能“看”到 PCIe 板卡的空间只有 BAR 空间,也就只能访问这些 BAR 空间。也就是说,板卡可以发送合法的PCIe TLP 包,并得到 PC 端的相应;但是 PC 端访问板卡被局限在 BAR 空间。简单来说,PC机想操作PCIE设备的内存空间,只能通过bar空间来进行操作。PC机只能看见bar空间(忽略地址起始和开始),PCIE核通过检测不同的地址来判断要进行task1还是task2。


2.DMA是一种内存访问技术。它允许电脑外设(网卡、显卡),可以独立地直接读写系统内存,不需中央处理器(CPU)介入处理。

 

3.

按lane( 车道 --> 通道 )的个数分有 x1 x2 x4 x8 x16 (最大可支持32个通道)

按代来分 有 gen1 gen2 gen3 gen4 gen5,及对应PCIE的版本1-5(直接影响速率)
带宽(单位是一定B而非bit)(吞吐量计算转换关系都是1000eg:(2.5*1000*0.8)/8=250MB/s)

4.XILINX 一共提供了3种IP核。(第三种比较简单)

5.

5.1 对于PCIEip核管脚是否应该配置在XDC约束文件里面的疑问

答:不用自己约束,当选定X几和x0y0后,ip核会自动计算几对lane(1对lane对应一个x0y0号码(对应管教号),它会自动累计增加)

5.2 关于100M的参考时钟是来源由金手指卡槽提供的。

5.3 user_clock_out即是axi总线的接口时钟250MHZ.

5.4 AXI2MEM转换接口需要将来自PCIE的AXI信号(时钟为250MHz或者500MHz)转换成100MHz时钟的MEM接口。

5.5 integrated block ip核配置一般就是serdes接口参考100M , PCIE x8, 5GT/S(2.0),AXI接口频率250MHZ,AXI接口位宽128bit

6.实际处理问题:

6.1 背景:几十张板卡,偶尔有板卡不建链的情况——参考UG476_7Series_Transceries手册(打开布局布线修改serdes参数即可)

6.2 不管是window还是linux的cpu只要是正常的都应该和FPGA的pcie ip建链(设备管理器能识别到pcie的板卡号)与操作系统无关。

6.3PCIE建链失败后有两种方案:A加快flash的加载 速度和双沿模式B用vio去拉weak信号先让PC重启。

7. PCIE 1条lane:有4条差分对——tx/rx_p/n.(即PCIEX1)

8.pcie_block_location 对应如下——这个在PG023手册可查

综合上图改款V7的fpga:一共有3个pcie(gen3即是8GT/S)的控制器。

9.ip配置较为重要的,选择PCIe所在quad 。——PCIe Block Location:选择PCIe所在quad,该选择会生成特定的引脚和区域约束文件和引脚分配。

10.具体怎么精确选择pcie的硬件管理器方法(PCIe Block Location)——

a.首先在pcie的ip配置界面一个pcie对应一个坐标(相对坐标)eg:X0Y0,X0Y1,X0Y2,并且知道有多少pcie的硬件管理器——pg023手册(

Virtex-7 FPGA Gen3 Integrated Block for PCI Express v4.3 Product Guide (PG023)

b.每个lane(channel)都对应一个xy坐标———ug476手册(7 Series FPGAs GTX/GTH Transceivers User Guide (UG476))

综上两点就知道pcie具体在哪个bank(quad)了。

k7325t:QUAD 0——bank115(quad0),QUAD 1——bank116(quad1),QUAD 2——bank117(quad2)

11.XDMA ip核的配置

根据对GUI的输入生成TxPLL/TxPLL_SSC。通常使用一个频率稳定性大于±300ppm的100MHz时钟(Refclk)。PCIESS块接受100MHz、125MHz或156.25MHz的输入时钟,并将其转换为PCIe Gen1或Gen2的速度。

12.PCIE的电平标准——HCSL(但实际板子里面AU5411配置的LVDS是给FPGA的PCIE硬核使用,HCSL是给m.2的sata 盘使用的)

HCSL:高速电流控制逻辑(High-speed Current Steering Logic),用于PCIe2.0电气规范中定义对RefClk时钟所定义的标准;PCIe时钟采用HCSL这个电平标准使RC(CPU)侧与EP(子卡)侧时钟,在不同生产厂家之间能够保持电平兼容。

12. 官方代码xdma的例子工程代码的FPGA是从机,而参考代码的(nvme)的FPGA是主机。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值