基于Spartan-6, Virtex-5/Virtex-6/Virtex-7/7 Series FPGA PCI Express Block Endpoint模块设计PCI Express Endpoint Master DMA.
a、参考xilinx官方提供的xapp1052的设计
该设计有两个严重的缺点,第一个是PCIE DMA传输效率不高;第二个是当PC机正在进行DMA传输时,访问PCIE寄存器地址,会导致PC死机的问题;
b、针对xapp1052的问题,重新设计PCIE DMA架构,结构框图如下
c、PCI Express接口特性
1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6, Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)和Gen 3、8.0Gbps/Lane(Virtex-7/UltraScale Kintex FPGA)
2. 自适应链路宽度,支持PCI Express x8/x4/x2/x1
3. 支持Master DMA Write、Master DMA Read、MSI/传统PCI中断、寄存器读写、RAM读写
4. 支持Master DMA Write和Master DMA Read全双工数据传输
5. PCI Express驱动支持winXP、Windows7 32/64位、Linux等操作系统,如Windriver,linux pcie driver
6. 即插即用,支持热插拔
d、单向传输时的PCI Express性能
1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达225MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达220MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达905MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达890MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1760MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1810MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1780MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3560MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3530MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3605MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3550MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达6150MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达6110MB/s.
e、双向传输时的PCI Express性能
1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达210MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达205MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达850MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达840MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1700MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1660MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1710MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1680MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3350MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3300MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3370MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3310MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达5800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达5780MB/s.
如有PCI Express相关方面的技术合作和交流,可联系我。
联系方式:[email protected]