Altera cyclone V Technical Reference page 1167

Hard processor system
Hide thumbs Also See for cyclone V:
Table of Contents

Advertisement

16-16
Peripheral Length Management
Peripheral Length Management
A peripheral can control the quantity of data that a DMA cycle contains, without the DMAC being aware
of how many data transfers it contains. The peripheral controls the DMA cycle in one of the following
ways:
• Selects a single transfer
• Selects a burst transfer
• Notifies the DMAC when it commences the final request in the current series
When the DMAC executes a
the peripheral to send a request. When the peripheral sends the request, the DMAC sets the request flags
depending on the state of the following signals:
drtype_<x>[1:0]
drtype_<x>[1:0]
drtype_<x>[1:0]
drlast_<x>
drlast_<x>
drlast_<x>
Note: If the DMAC executes a
• The request_type<x> flag to Single or Burst, respectively
• The request_last<x> flag to 0
is an assembler directive that forces the associated
DMALPFE
creating a program loop that does not use a loop counter to terminate the loop.
The DMAC exits the loop when the
The DMAC conditionally executes the following instructions, depending on the state of the
and
request_last
,
DMALD
executes a
DMALDP<B|S>
match the B|S.
DMALPEND
Use the
DMALDB
transfer when the DMAC receives a burst request. The values in the
data that the DMAC transfers.
Use the
DMALDS
transfer when the DMAC receives a single request. The DMAC ignores the value of the
and
dst_burst_len
Example Program for Peripheral Length Management
This example shows a DMAC program that transfers 64 words from memory to peripheral zero, when the
peripheral sends a burst request, that is,
request, that is,
peripheral zero.
Altera Corporation
DMAWFP
—The DMAC sets the state of the
=b00—
request_type <x>
=b01—
request_type <x>
—The DMAC sets the state of the
=0—
request_last <x>
=1—
request_last <x>
DMAWFP
flags:
,
- When these instructions use the optional B|S suffix then the DMAC
DMAST
DMALPEND
if the
DMANOP
request_type
,
- The DMAC executes a
DMASTP<B|S>
- When the
bit is 0, the DMAC executes a
nf
,
,
and
DMALDPB
DMASTB
,
,
and
DMALDPS
DMASTS
fields in the
CCRn
drtype_<x>[1:0] = b00
peripheral instruction, it halts execution of the thread and waits for
request_type
= Single
= Burst
request_last
= 0
= 1
single or
burst instruction then the DMAC sets:
DMAWFP
DMALPEND
flag is set.
request_last
flag does not match.
DMANOP
DMANOP
instructions if you require the DMAC to issue a burst
DMASTPB
instructions if you require the DMAC to issue a single
DMASTPS
register and sets the
arlen[3:0]
drtype_<x>[1:0] = b01
, then the DMAC program transfers one word from memory to
flag:
flag:
instruction to have its
if the
request_type <x>
if the
flag is set.
request_last
register control the amount of
CCRn
src_burst_len
or
buses to 0x0.
awlen[3:0]
. When the peripheral sends a single
cv_5v4
2016.10.28
bit cleared,
nf
request_type
flag does not
DMA Controller
Send Feedback

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents