PCI Express® (PCIe®) is a dominant technology for hardware applications requiring high-speed connectivity between networking, storage, FPGA, and GPGPU boards to servers and desktop systems. For memory-intensive and high-performance computing, Direct Memory Access (DMA) is an indispensable application. A typical DMA operation in PCIe is the transfer of data from the system memory — that the host has access to — to end point devices.

This paper provides techniques to speed up the PCIe link training and initialization processes as well as PCIe device enumeration to reduce the initial simulation runtime required to set up tests targeted towards verification of DMA functionality.