Visible to Intel only — GUID: eyo1574909286600
Ixiasoft
Visible to Intel only — GUID: eyo1574909286600
Ixiasoft
4.3.1.5. Descriptor Format for Data Movers
The Read and Write Data Movers uses descriptors to transfer data. The descriptor format is fixed and specified below:
Signals Description (for rddm_desc_data_i or wrdm_desc_data_i) | Read Data Mover | Write Data Mover |
---|---|---|
[173:160]: reserved | N/A | N/A |
[159:152]: descriptor ID | ID of the descriptor | ID of the descriptor |
[151:149]: application-specific | Application-specific bits. Example of an Intel application is provided below. |
Application-specific bits. Example of an Intel application is provided below. |
[148]: single destination | When the single destination bit is set, the same destination address is used for all the transfers. If the bit is not set, the address increments for each transfer. | N/A |
[147]: single source | N/A | When the single source bit is set, the same source address is used for all the transfers. If the bit is not set, the address increments for each transfer. Note that in single source mode, the PCIe address and Avalon-MM address must be 64-byte aligned. |
[146]: immediate | N/A | When set, the immediate bit indicates immediate writes. Immediate writes of one or two dwords are supported. For immediate transfers, bits [31:0] or [63:0] contain the payload for one- or two-dword transfers respectively. The two-dword immediate writes cannot cross a 4k boundary. This can be used for MSI/MSI-X for example. |
[145:128]: transfer size | Number of dwords to transfer (up to 1 MB). |
Number of dwords to transfer (up to 1 MB). |
[127:64]: destination address | Avalon-MM address |
PCIe Address |
[63:0]: source address | PCIe Address | Avalon-MM address |
Application-Specific Bits
Three application-specific bits (bits [151:149] ) from the Write Data Mover and Read Data Mover Status Avalon-ST Source interfaces control when interrupts are generated.
Bit [151] | Bit [150] | Bit [149] | Action |
---|---|---|---|
0 | 1 | 1 | Interrupt always |
0 | 1 | 0 | Interrupt if error |
0 | 0 | 1 | No interrupt |
0 | 0 | 0 | No interrupt and drop status word |
The External DMA Controller makes the decision whether to drop the status word and whether to generate an interrupt as soon as it receives the status word from the Data Mover. When the generation of an interrupt is requested, and the corresponding RI or WI register does enable interrupts, the DMA Controller generates the interrupt. It does so by queuing an immediate write to the Write Data Mover's descriptor queue (specified in the corresponding interrupt control register) using the MSI address and message data provided in that register.