• DocumentCode
    74284
  • Title

    A PCIe DMA Architecture for Multi-Gigabyte Per Second Data Transmission

  • Author

    Rota, L. ; Caselle, M. ; Chilingaryan, S. ; Kopmann, A. ; Weber, M.

  • Author_Institution
    Inst. for Data Process. & Electron. (IPE), Karlsruhe Inst. of Technol. (KIT), Eggenstein-Leopoldshafen, Germany
  • Volume
    62
  • Issue
    3
  • fYear
    2015
  • fDate
    Jun-15
  • Firstpage
    972
  • Lastpage
    976
  • Abstract
    We developed a direct memory access (DMA) engine compatible with the Xilinx PCI Express (PCIe) core to provide a high-performance and low-occupancy alternative to commercial solutions. In order to maximize the PCIe throughput while minimizing the FPGA resources utilization, the DMA engine adopts a novel strategy where the DMA address list is stored inside the FPGA and not in the central memory of the host CPU. The FPGA design package is complemented with simple register access to control the DMA engine by a Linux driver. The design is compatible with Xilinx FPGA Families 6 and 7, and operates with the Xilinx PCIe endpoint Generation 1 and 2 with all lane configurations (x1, x2, x4, x8). A multi-engine architecture is also presented, where two x8 lanes cores are used in parallel together with a PCIe bridge, to exploit fully the capabilities of a PCIe Gen2 x16 lanes link. A data throughput of 3461 MBytes/s has been achieved with a single PCIe Gen2 x8 lanes endpoint. If the dual-engine architecture is used, the throughput is increased up to 6920 MBytes/s. The presented DMA is currently used in several experiments at the ANKA synchrotron light source.
  • Keywords
    Linux; data acquisition; data communication; field programmable gate arrays; file organisation; ANKA synchrotron light source; FPGA design package; FPGA resources utilization; Linux driver; PCIe DMA architecture; Xilinx PCI Express; direct memory access; multiengine architecture; multigigabyte per second data transmission; Data communication; Engines; Field programmable gate arrays; Linux; Payloads; Registers; Throughput; Data Acquisition; FPGA; PCI express; direct memory access; high data throughput; high speed data streaming applications; readout electronics;
  • fLanguage
    English
  • Journal_Title
    Nuclear Science, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9499
  • Type

    jour

  • DOI
    10.1109/TNS.2015.2426877
  • Filename
    7111377