User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 285
UG585 (v1.11) September 27, 2016
Chapter 9: DMA Controller
Full MFIFO causes DMAC watchdog to abort a DMA channel (section, below, titled Resource
sharing between DMA channels)
The following sections describe these last two restrictions in detail.
9.5.1 Updating Channel Control Registers During a DMA Cycle
Prior to the DMAC executing a sequence of DMALD and DMAST instructions, the values software
programs in to the CCRn register, SARn register, and DARn register control the data byte lane
manipulation that the DMAC performs when it transfers the data from the source address to the
destination address. Refer to the Channel Control registers, Source Address registers, and
Destination Address registers in Appendix B, Register Details.
These registers can be updated during a DMA cycle, but if certain register fields are changed, the
DMAC might discard data. The following sections describe the register fields that might have a
detrimental impact on a data transfer:
Updates that affect the destination address
Updates that affect the source address
Updates That Affect the Destination Address
If a DMAMOV instruction is used to update the DARn register or CCRn register part way through a
DMA cycle, a discontinuity in the destination datastream might occur. A discontinuity occurs if any of
the following is changed:
•dst_inc bit
dst_burst_size field when dst_inc = 0, (fixed-address burst)
DARn register so that it modifies the destination byte lane alignment. For example, when the
bus width is 64 bits and bits [2:0] in the DARn register are changed.
When a discontinuity in the destination datastream occurs, the DMAC:
1. Halts execution of the DMA channel thread.
2. Completes all outstanding read and write operations for the channel (just as if the DMAC was
executing DMARMB and DMAWMB instructions).
3. Discards any residual MFIFO data for the channel.
4. Resumes execution of the DMA channel thread.
Updates That Affect the Source Address
If a DMAMOV instruction is used to update the SARn register or CCRn register part way through a
DMA cycle, a discontinuity in the source datastream might occur. A discontinuity occurs if any of the
following is changed:
•src_inc bit
src_burst_size field