Data Sheet
June 2001
DSP16410B Digital Signal Processor
Agere Systems Inc.
Agere Systems—Proprietary
Use pursuant to Company instructions
87
4 Hardware Architecture
(continued)
4.13 Direct Memory Access Unit
(DMAU)
(continued)
4.13.5 Single-Word Transfer Channels
(SWT)
(continued)
3. The DMAU transfers this data word over the Z-bus to
the appropriate DSP16410B memory location as
defined by the channel’s destination address regis-
ter,
DADD
0—3
.
4. The DMAU updates the channel’s destination
address register,
DADD
0—3
, and the destination
counter,
DCNT
0—3
.
5. The DMAU can generate a core interrupt, based on
the value of the SIGCON[2:0] field
(
CTL
0—3
[3:1]—
Table 34 on page 73
).
6. If this is not the last location of the destination array
(
DCNT
0—3
≠
LIM
0—3
), the DMAU returns to
step 2. If this is the last location of the destination
array:
If the AUTOLOAD field (
CTL
0—3
[0]—
Table 34
on page 73
) is cleared, the DMAU clears
DCNT
0—3
, clears the corresponding
DRUN[3:0] field (
DMCON0
[7:4]—
Table 31 on
page 70
) and terminates the destination transfer.
If the AUTOLOAD field is set:
—The DMAU reloads
DADD
0—3
with the value
in the destination base address register,
DBAS
0—3
.
—The DMAU clears the value in the destination
counter register
(
DCNT
0—3
is written with 0).
—The DMAU initiates a new destination transfer
without core intervention.
The DMAU’s control and address registers determine
the data structure and access pattern supported by a
particular channel and reflect the status of the transfer.
These SWT channel registers are described in
Table 48
, with additional detail provided in
Section 4.13.2
.
Table 48. SWT-Specific Memory-Mapped Registers
Register
SADD
0—3
Type
Source
Address
Size
32-bit The program must initialize the
SADD
0—3
register with the starting address of the
source array
for the corresponding channel (read data). The DMAU updates the regis-
ter with the address of the next memory location to be read by the corresponding SWT
channel as the transfer proceeds.
Table 37 on page 76
describes the bit fields of the
SADD
0—3
registers.
20-bit The program must initialize the
SBAS
0—3
register with the starting address of the
source array
for the corresponding channel (read data). If the corresponding AUTO-
LOAD field (
CTL
0—3
[0]) is set, the DMAU copies the contents of
SBAS
0—3
to the
corresponding
SADD
0—3
register after the transfer of an entire array is complete.
The DMAU does not modify
SBAS
0—3
.
20-bit This register contains the row and column counter of the source array
for the corre-
sponding channel (read data). The DMAU updates the register as the transfer proceeds
and automatically clears the register upon the completion of the transfer. The source
row (SROW) is encoded in
SCNT
0—3
[19:7], and the source column (SCOL) is
encoded in
SCNT
0—3
[6:0].
Note: SCNT
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
SCNT
0—3
register after a DSP16410B
device reset. Otherwise, the value of this register is undefined.
32-bit The program must initialize the
DADD
0—3
register with the starting address of the
destination array
for the corresponding channel (write data). The DMAU updates the
register with the address of the next memory location to be written by the corresponding
SWT channel as the transfer proceeds.
Table 37 on page 76
describes the bit fields of
the
DADD
0—3
registers.
20-bit The program must initialize the
DBAS
0—3
register with the starting address of the
destination array
for the corresponding channel (write data). If the corresponding
AUTOLOAD field (
CTL
0—3
[0]) is set, the DMAU copies the contents of
DBAS
0—3
to the corresponding
DADD
0—3
register after the transfer of an entire array is com-
plete. The DMAU does not modify
DBAS
0—3
.
Description
SBAS
0—3
Source
Base
Address
SCNT
0—3
Source
Counter
DADD
0—3
Destination
Address
DBAS
0—3
Destination
Base
Address
The array can be either one-dimensional or two-dimensional.