DMAST ; shown as g in the figure below
DMAEND
Figure 16-30: Unaligned to Aligned with Excess Initial Load
The first
DMALD
instruction loads five bursts of data to enable the DMAC to execute the first
DMAST
.
After the first
DMALD
, the subsequent
DMALD
s are not aligned to the source burst size, for example the
second
DMALD
reads from address 0x1028. After the loop, the final two
DMALD
s read the data required to
satisfy the final
DMAST
.
0
5
1
a
b
c
c
c n
d
e
d
d
f
g
4
Data from
DMALD
a
a
a
a
a
a
a
a
0
7
Data for
first DMAST
DMALD
DMAST
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
c
c
c
a
a
a
a
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
e
e
e
e c
n
c
n
c
n
c
n
Data for
14x DMAST
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
f
f
f
f
e
e
e
e
Data for
last DMAST
a
a
a
a
a
a
a
a
c
The
DMALD
shown as f does not increase the MFIFO buffer usage because it loads four bytes into an
MFIFO buffer entry that the DMAC has already allocated to this channel.
Note:
This example has a static requirement of one MFIFO buffer entry and a dynamic requirement of four MFIFO
buffer entries.
Related Information
Unaligned Source Address to Aligned Destination Address
on page 16-48
Aligned Burst Size Unaligned MFIFO Buffer
In this program, the destination address, which is narrower than the MFIFO buffer width, aligns with the
burst size, but does not align with the MFIFO buffer width.
DMAMOV CCR, SB4 SS32 DB4 DS32
DMAMOV SAR, 0x1000
DMAMOV DAR, 0x4004
DMALP 16
DMALD ; shown as a in the figure below
DMAST ; shown as b in the figure below
DMA Controller
Altera Corporation
cv_54016
Aligned Burst Size Unaligned MFIFO Buffer
16-50
2013.12.30