先了解了一下几个PCIE IP核,网上这样说(链接: [https://www.amobbs.com/thread-5693775-1-1.html]
7 Series Integrated Block for PCI Express,把PCIe的TLP包转换成AXI Stream信号,然后对TLP包进行解析,从而实现PCIe的通信接口;常用的应用解决方案可以采用移植Riffa,结合Riffa的上位机实现高速数据通信,其中我在板子上实现的PCIe2.0 x8的接口,可以达到大约3GB/s的通信速度。我对这套方案的理解是通信速度快,上位机开发简单,可以直接使用现成的驱动和封装的接口,同样缺点也有,比如只支持win7系统。另外由于Riffa是将PCIe接口转换成了类似于多个通道的形式,每个通道可以近似理解为FIFO接口,因此我对Riffa的理解是适合于传输大量数据,但是没有地址线的概念,因此如果要添加一些现成的接口,比如AXI协议的IP核,显得十分无力,缺乏相应的灵活性。
AXI Memory Mapped to PCI Express,相比于第一个IP核,这种方法就比较简单,可以做到不写一行代码的方式,实现PCIe的数据传输,通过添加 AXI Memory Mapped to PCI Express,然后再添加BRAM Controller,然后再添加一个单口RAM,在Vivado中点一下自动连接,生成接口,约束下时钟和复位信号,生成比特流文件,下载到板子上就可以发现新设备。然后在上位机上使用WinDriver生成驱动,就可以实现对RAM的读写。我对这种方案的理解是思路简单清晰,由于使用了AXI协议,因此可以使用现成的IP核,但是每次只
Axi memory mapped to PCI Express、uart和gpio IP核在vivado中的应用
最新推荐文章于 2024-03-22 09:18:20 发布