Data Sheet
June 2001
DSP16410B Digital Signal Processor
88
Agere Systems—Proprietary
Use pursuant to Company instructions
Agere Systems Inc.
4 Hardware Architecture
(continued)
4.13 Direct Memory Access Unit (DMAU)
(continued)
Table 48. SWT-Specific Memory-Mapped Registers
(continued)
4.13.5 Single-Word Transfer Channels (SWT)
(continued)
DCNT
0—3
Destination
Counter
20-bit This register contains the row and column counter of the destination array
for the corre-
sponding channel (write data). The DMAU updates the register as the transfer pro-
ceeds and automatically clears the register upon the completion of the transfer. The
destination row (DROW) is encoded in
DCNT
0—3
[19:7], and the destination column
(DCOL) is encoded in
DCNT
0—3
[6:0].
Note: DCNT
0—3
are
not
cleared by a reset of the DMAU channel via the
DMCON1
register (
Table 32 on page 71
). Before an SWT channel can be used, the pro-
gram
must
clear the corresponding
DCNT
0—3
register after a DSP16410B
device reset. Otherwise, the value of this register is undefined.
20-bit The user programs
LIM
0—3
with the last row count and the last column count for both
the source and destination arrays
for the corresponding channel. For a single-buffered
array,
LIM
0—3
[19:7] is programmed with the number of rows in each single buffer
minus one (r – 1). For a double-buffered two-dimensional array,
LIM
0—3
[19:7] is pro-
grammed with two times the number of rows in each single buffer minus one
((2
×
r) – 1). The number of columns minus one (n – 1) is encoded in
LIM
0—3
[6:0].
Refer to
Section 4.13.9 on page 94
for examples.
16-bit For an SWT channel with one-dimensional array accesses, the program must clear the
corresponding
STR
0—3
register.
For an SWT channel with two-dimensional array accesses, the user software assigns
the number of memory locations between common rows (elements) of different columns
(buffers). Typically, this value equals the number of rows per column, which places the
buffers back-to-back (contiguous) in memory. Refer to
Section 4.13.9.1 on page 94
for
details.
20-bit For an SWT channel with one-dimensional array accesses, the program must clear the
corresponding
RI
0—3
register.
For an SWT channel with two-dimensional array accesses, the DMAU adds the sign-
magnitude value in the corresponding
RI
0—3
register to the corresponding address
register (
SADD
0—3
for source transactions and
DADD
0—3
for destination transac-
tions) after the last column has been accessed. The magnitude of the reindex value for
an array of r rows and n columns (n > 1) is (r
×
(n – 1)) – 1. The magnitude of the
reindex value for a two-dimensional array that employs double buffers like that shown in
Figure 21 on page 83
is (2r
×
(n – 1)) – 1. Because the reindex value is always nega-
tive, set the sign bit (bit 19) of
RI
0—3
.
16-bit
CTL
0—3
controls the following items for the corresponding SWT channel:
LIM
0—3
Limit
STR
0—3
Stride
Register
RI
0—3
Reindex
CTL
0—3
Control
Enabling or disabling of AUTOLOAD for the starting address.
Determining the point in the transaction when a DMAU interrupt request is generated.
Determining whether the access takes place in row-major (two-dimensional array) or
column-major (one-dimensional array) order.
CTL
0—3
determines these attributes for
both
the source and destination arrays for
the corresponding SWT channel. See
Table 34 on page 73
for the field descriptions of
CTL
0—3
.
Register
Type
Size
Description
The array can be either one-dimensional or two-dimensional.