Data Pump

The FPGA firmware implements a data pump for injecting data into the PCIe input FIFO. The FIFO is 64 bits wide by 256 entries deep.

The data pump implements a counter that increments by 1 with each transfer. The initial counter value is 0xD011D011D0110001.

The data pump is controlled by the register at BAR0[0x00820008]:

Bit Range Description
31:8 Frame Length. Frame Length * 8 is the distance between interrupts in 64 bit chunks.
7:1 Not Used
0 Data Pump Enable

The DMA engine needs a complete burst length before it will write data.For example, if the descriptor Length is set to 0x20, you need a minimum of 0x20 words in the FIFO.

The DMA engine can support a minimum burst length of 1. The design will clear the DMA enable bit (bit 0) when the state machine stops.