直接存储器访问

一种基于FPGA的PCIe总线及其DMA的设计方法

摘要:为实现 PCIe 总线的 DMA 功能,根据 Xilinx 的 PCIe IP 核以及相关参考例程,介绍一种 PCIe 总线及其DMA 功能的设计方法。硬件验证与测试表明:该设计具有较高的带宽,DMA 读、写带宽可分别达到 554 MB/s 和881 MB/s,目前已在实际工程中尤其是在高速数据采集系统中得到广泛应用。

0 引言
与传统的 PCI、PCI-X 并行总线相比[1],PCIe总线采用高速差分串行的方式进行数据传输,这种端到端的数据传送方式使得信号线减少、系统功耗降低,同时还具有非常明显的带宽优势。

目前通过 FPGA 实现 PCIe 接口是一种比较常用的方式,具有硬件成本低、可靠性高、灵活性大、易于升级等优势。两大 FPGA 厂商 Xilinx 和 Altera均具有完善的接口 IP 和测试方法。基于此,笔者主要介绍了基于 Xilinx Virtex5 系列 FPGA 的 PCIe 接口的设计和 DMA 功能的实现方法,并在 x4 模式下进行带宽测试。

1 PCIe 总线简介

同步内容