The DMA engine does not transfer back-to-back packets to the same core. This allows at least 8 clocks to register the proper IO ready lines for the next transfer. The enable lines are also one cycle ahead of the actual transfer so that modules can register or preload data to ease timing considerations. These details will normally be handled by the fifo primitives provided in the ice libraries. See userengine.v for details.