FPGA 学习小组
直播中

李巍

7年用户 1412经验值
私信 关注

求一个Xilinx PCIe DMA Master代码工程

求一个Xilinx PCIe DMA Master代码工程

回帖(1)

李凯

2021-6-23 18:47:27
  [td]本人从事FPGA外围接口设计,非常熟悉PCI Express协议,设计调试了多个基于PCI Express接口的数据采集卡。
  本人非常熟悉Virtex-5/Virtex-6/7 Series FPGA PCI Express Block Endpoint模块,基于该模块设计了PCI Express Endpoint Master DMA.
  1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能DMA Write(FPGA--》内存)和DMA Read(内存--》FPGA)。
  2. 4x PCI Express Gen 1 DMA Write(FPGA--》内存)的速度可达860MB/s;4x PCI Express DMA Read(内存--》FPGA)的速度可达840MB/s.
  3. 8x PCI Express Gen 1 DMA Write(FPGA--》内存)的速度可达1690MB/s;8x PCI Express DMA Read(内存--》FPGA)的速度可达1640MB/s.
  4. 4x PCI Express Gen 2 DMA Write(FPGA--》内存)的速度可达1680MB/s;4x PCI Express DMA Read(内存--》FPGA)的速度可达1620MB/s.
  5. 8x PCI Express Gen 2 DMA Write(FPGA--》内存)的速度可达3440MB/s;4x PCI Express DMA Read(内存--》FPGA)的速度可达3380MB/s.
  6. FPGA内部的Master DMA也包含与DMA传输相关的控制状态寄存器和中断寄存器。
  7. PCI Express驱动采用WinDriver,采用Legacy PCI或MSI中断方式,用户应用软件通过WinDriver的API函数访问PCI Express寄存器文件。
  PCI Express接口特性如下:
  1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)
  2. 自适应链路宽度,支持PCI Express x8/x4/x1
  3. 支持Master DMA Write、Master DMA Read、MSI/传统PCI中断、寄存器读写、RAM读 写
  4. 支持Master DMA Write和Master DMA Read全双工数据传输
  5. PCI Express驱动支持Windows、Linux等操作系统,如Windriver
  6. 即插即用,支持热插拔
  本人已经在Xilinx评估板ML555,ML605和KC705,以及自制的 PCIe金手指板卡上调试验证了PCI Express Endpoint Master DMA功能。
  1. Master DMA Write数据传输功能,数据传输流方向:光纤/RocketIO GTP--》 DDR2/DDR3内存 --》 PCI Express Master DMA Write --》 PC内存 --》 PC硬盘。
  2. Master DMA Read数据传输功能,数据传输流方向:PC硬盘 --》 PC内存 --》 PCI Express Master DMA Read --》 DDR2/DDR3内存 --》 光纤/RocketIO GTP接口。
  3. 寄存器访问:软件访问FPGA内部与DMA传输相关的寄存器。
  4. FPGA发出Legacy PCI或MSI中断。
  5. 用户应用程序,采用Visual C/C++编写。
  本人可以提供FPGA源代码,PCI Express驱动、用户应用程序源代码以及相关设计、测试文档。同时还可以在Xilinx评估板ML555,ML605和KC705,以及自制的PCIe金手指板卡上演示验证.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分