
IDT DMA Controller
PES32NT24xG2 User Manual
15 - 5
January 30, 2013
Notes
The programming of the addressing parameters must meet the following rules.
1. BCOUNT <= (SSCOUNT * SSSIZE)
2. (SSCOUNT * SSSIZE) = (DSCOUNT * DSSIZE)
An addressing operation completes execution when the byte count is exhausted or, in case the above
rules are violated, when stride addressing completes.
–
When (SSCOUNT * SSSIZE) < BCOUNT, source addressing expires before the byte count
expires and the transfer terminates. The DMA may be configured to report this condition as an
error.
–
When (DSCOUNT * DSSIZE) < BCOUNT, destination addressing expires before the byte count
expires and the transfer terminates. The DMA may be configured to report this condition as an
error.
Linear Addressing Example
The simplest form of DMA addressing is a linear addressing from a source address to a destination
address as shown in Figure 15.2.
Table 15.2 illustrates the parameters necessary to transfer 1 KB of data from a source address of
0x0100_0000 to a destination address of 0x0200_0001.
–
BCOUNT is set to 1024 indicating the total number of bytes to transfer.
–
SADDR is set to the source address 0x0100_0000 and DADDR is set to the destination address
0x0200_0001.
–
Since strides are not used in this example, SSSIZE and DSSIZE are set to zero. A value of zero
indicates an infinite stride. This results in the inner loop executing in Figure 15.4 until the byte
count is exhausted.
–
All stride counts (i.e., SSCOUNT and DSCOUNT) are set to one to indicate one iteration through
the outer loop.
–
Since strides are not used, all stride distances (SSDIST and DSDIST) are set to zero.
A zero length linear addressing operation (i.e., one with the BCOUNT field set to zero) may be used as
a synchronization barrier. Such an operation results in a memory read request to the source address of one
DWord with no byte enables set. The operation completes when the corresponding completion is received.
No write is performed to the destination address.
–
A zero length linear addressing operation may be used to ensure that data associated with
memory writes from a previous DMA descriptor operation have reached their ultimate destination
before the DMA channel is allowed to proceed.
Constant Addressing Example
By setting the stride distance to a negative value, the DMA can perform constant addressing. Constant
addressing is used to repeatedly read/write the same address(es) and is often used when moving data to/
from a memory mapped FIFO.
The parameters in Table 15.3 illustrate an example where constant addressing is used to repeatedly
read DWord data from a memory mapped FIFO and transfer (DMA) the data to a destination buffer. In this
example, there are 1024 bytes are read a DWORD at a time from the address 0x0100_0000. This operation
is graphically depicted in Figure 15.5.
BCOUNT
1024
SADDR
0x0100_0000
DADDR
0x0200_0001
SSSIZE
0
DSSIZE
0
SSCOUNT
1
DSCOUNT
1
SSDIST
0
DSDIST
0
Table 15.2 Linear Addressing DMA Example
Summary of Contents for PCI Express 89HPES32NT24xG2
Page 20: ...IDT Table of Contents PES32NT24xG2 User Manual x January 30 2013 Notes...
Page 24: ...IDT List of Tables PES32NT24xG2 User Manual xiv January 30 2013 Notes...
Page 28: ...IDT List of Figures PES32NT24xG2 User Manual xviii January 30 2013 Notes...
Page 56: ...IDT PES32NT24xG2 Device Overview PES32NT24xG2 User Manual 1 20 January 30 2013 Notes...
Page 100: ...IDT Switch Core PES32NT24xG2 User Manual 4 22 January 30 2013 Notes...
Page 128: ...IDT Failover PES32NT24xG2 User Manual 6 4 January 30 2013 Notes...
Page 148: ...IDT Link Operation PES32NT24xG2 User Manual 7 20 January 30 2013 Notes...
Page 164: ...IDT SerDes PES32NT24xG2 User Manual 8 16 January 30 2013 Notes...
Page 170: ...IDT Power Management PES32NT24xG2 User Manual 9 6 January 30 2013 Notes...
Page 196: ...IDT Transparent Switch Operation PES32NT24xG2 User Manual 10 26 January 30 2013 Notes...
Page 244: ...IDT SMBus Interfaces PES32NT24xG2 User Manual 12 40 January 30 2013 Notes...
Page 247: ...IDT General Purpose I O PES32NT24xG2 User Manual 13 3 January 30 2013 Notes...
Page 248: ...IDT General Purpose I O PES32NT24xG2 User Manual 13 4 January 30 2013 Notes...
Page 330: ...IDT Switch Events PES32NT24xG2 User Manual 16 6 January 30 2013 Notes...
Page 342: ...IDT Multicast PES32NT24xG2 User Manual 17 12 January 30 2013 Notes...
Page 344: ...IDT Temperature Sensor PES32NT24xG2 User Manual 18 2 January 30 2013 Notes...
Page 384: ...IDT Register Organization PES32NT24xG2 User Manual 19 40 January 30 2013...
Page 492: ...IDT Proprietary Port Specific Registers PES32NT24xG2 User Manual 21 44 January 30 2013 Notes...
Page 588: ...IDT NT Endpoint Registers PES32NT24xG2 User Manual 22 96 January 30 2013 Notes...
Page 710: ...IDT JTAG Boundary Scan PES32NT24xG2 User Manual 25 12 January 30 2013 Notes...
Page 743: ...IDT Usage Models PES32NT24xG2 User Manual 26 33 January 30 2013 Notes...
Page 744: ...IDT Usage Models PES32NT24xG2 User Manual 26 34 January 30 2013 Notes...