赞
踩
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是主机。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。