28.15.2.1. Command Fields Definition
Whenever the dispatcher core receives a descriptor, it decodes the descriptor and dispatches the write command to the Write Master IP to perform write data transfer. The following sections describe each of the field's definition of the write command.
Address
The write address fields correspond to the destination address for each data transfer. 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
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. This limits 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, program the length field with the largest possible value of 0xFFFFFFFF. This method allows you to specify a maximum packet size for each descriptor that has packet support enabled.
End on End-Of-Packet (EOP)
End on end-of-packet allows the write host to continuously transfer data during Avalon® -ST to Avalon® -MM transfers without knowing how much data is arriving ahead of time. Applicable only when Packet Support Enable parameter is enabled. This field is commonly set for packet-based traffic such as Ethernet.
Wait for Write Responses
When this field is set, on completion of the DMA transfer, the host is only notified when all the outstanding writes have been responded. Those outstanding writes include writes transfer initiated by previous descriptor.
This field is valid only when Enable Write Response parameter (only available in Quartus Prime Pro Edition software) is set. Enabling this field resulted in longer time for write response host to move into the next descriptor. Therefore, it is recommended to set this field on the last descriptor of the transfer.
Stop
To stop the Write Master IP from issuing the next write transaction when the Stop Dispatcher control bit is set in the Dispatcher core.
Reset
To soft reset the Write Master IP when the Reset Dispatcher control bit is set in the Dispatcher core
Burst Count
The programmable write burst counts are only available when using the extended descriptor format and with Programmable Burst Enable parameter enabled. The programmable burst count is optional and can be disabled in the write host. Because the programmable burst count is an 8-bit field, the maximum that you can program burst counts of 1 to 128, with a power of 2.
The maximum programmable burst count is 128, even when you instantiate the mSGDMA Write Master IP with Maximum Burst Count parameter to different selections up to 1024. Programing to 0 or burst count greater than the parameter value of Maximum Burst Count, gets the maximum burst count from the Maximum Burst Count parameter selected during instantiation time.
Stride Addressing
The write stride fields are optional and only available when using the extended descriptor format and with Stride Addressing Enable parameter enabled. The stride value determines how the write host increment the address when accessing memory. The stride value is in terms of words, so the address incrementing is dependent on the host data width.
When stride is enabled, the host defaults to sequential accesses, which is the equivalent to a stride distance of one. A stride of zero instructs the host to continuously access the same address. A stride of two instructs the host to skip every other word in a sequential transfer. You can use this feature to perform interleaved data accesses, or to perform a frame buffer row and column transpose.