网上大部分的教程都是围绕XDMA展开的,这里想介绍下AXI Bridge,关于几个IP核的区别,借用其他一个博主的回答:
问:PCIE DMA主要用来做什么?
答:PCIE DMA主要用来解决数据在FPGA和PC之间高速通信的问题
问:学习PCIe,应该从什么地方起步?
答:分研究型和应用型,研究型从XAPP1052起步,应用型从XDMA起步
问:XILINX提供了三种PCIE IP核,各有什么区别?
答:第一种 7 Series Integrated Block for PCI Express,这个是最基础的PCIE硬核,实现的是PCIE的物理层、链路层和事务层,提供给用户的是以AXIS接口定义的TLP包。用户如果要往PC发数据,就要在逻辑端组好MEM_WR事务包送到AXIS接口上,同样要从PC获取数据,就要发送MEM_RD事务包,然后获取到COMPLETE事务包,再从COMPLETE事务包中提取出数据。要用这个IP核,需要对PCIE协议有清楚的理解,如果你只是想用PCIE传输数据,又不想去深究协议,那么建议您使用其余两个IP核。第二种 AXI Memory Mapped To PCI Express,这个是本人最喜欢用的PCIE IP核,它的作用就是一座桥,一座FPGA端直通上位机内存的桥,用户如需读写上位机内存空间,只需要操作这个IP核的S_AXI接口,就可以像读写普通AXI接口的BRAM/DDR一样读写上位机内存,对于采集卡而言,FPGA收到AD数据后,只需要根据上位机配下来的写内存地址寄存器,就可以将数据以 AXI Memory接口标准发往上位机&