beautypg.com

Read and write address fields, Length field – Altera Embedded Peripherals IP User Manual

Page 224

background image

Byte Lanes

0xC

Control[31:0]

Table 22-2: Extended Descriptor Format

Byte Lanes

Offset

3

2

1

0

0x0

Read Address[31:0]

0x4

Write Address[31:0]

0x8

Length[31:0]

0xC

Write Burst

Count[7:0]

Read Burst

Count [7:0]

Sequence Number[15:0]

0x10

Write Stride[15:0]

Read Stride[15:0]

0x14

Read Address[63:32]

0x18

Write Address[63:32]

0x1C

Control[31:0]

All descriptor fields are aligned on byte boundaries and span multiple bytes when necessary. Each byte

lane of the descriptor slave port can be accessed independently of the others allowing you to populate the

descriptor using any access size.
Note: The location of the control field is dependent on the descriptor format used. The last bit of the

control field commits the descriptor to the dispatcher buffer when it is asserted. As a result the

control field is always located at the end of a descriptor to allow the host to write the descriptor

sequentially to the dispatcher block.

Read and Write Address Fields

The read and write address fields correspond to the source and destination address for each buffer

transfer. Depending on the transfer type, the read or write address does not need to be provided. When

performing memory-mapped to streaming transfers the write address should not be written as there is no

destination address since the data is being transfer to a streaming port. Likewise, when performing

streaming to memory-mapped transfers the read address should not be written as the data source is a

streaming port.
If a read or write address descriptor is written in a configuration that does not require it, the mSGDMA

ignores the unnecessary address. If a standard descriptor is used and an attempt to write a 64-bit address

is made, the upper 32-bits are lost and can cause the hardware to alias a lower address space. 64-bit

addressing requires the use of the extended descriptor format.

Length Field

The length field is used to specify the number of bytes to transfer per descriptor. The length field is also

used for streaming to memory-mapped packet transfers to limit the number of bytes that can be

transferred before the end-of-packet (EOP) arrives. As a result you must always program the length field.

If you do not wish to limit packet based transfers in the case of Avalon-ST to Avalon-MM transfers,

22-8

Read and Write Address Fields

UG-01085

2014.24.07

Altera Corporation

Altera Modular Scatter-Gather DMA

Send Feedback