28.14.4.1.3. Response Interface
The response interface provides response information upon completion of each descriptor execution to the host. For non pre-fetching use cases, the response port can be set to disabled, memory-mapped, or streaming, by configuring the parameter Response Port. For pre-fetching use cases, only streaming response source interface is available.
Avalon® -MM Response Agent Interface (response_slave)
In memory-mapped mode, the response information is communicated to the host via an Avalon® -MM agent interface. This interface is word-addressing and read-only accessible with 32-bits wide. The response information is wider than the agent interface, so the host must perform two read operations to retrieve all the information. Reading from the last byte of the response agent interface performs a destructive read of the response buffer in the dispatcher module. As a result, always make sure that your software reads from the last response address last. For more information on the response fields in Memory-Mapped mode, refer to Response Register section.
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| mm_response_address [0] | Input | Avalon® Memory-Mapped Agent | The read address to access the response CSR. |
| mm_response_read | Input | Read access to the response CSR. | |
| mm_response_byteenable [3:0] | Input | Enable the byte lanes during read access to the response CSR. | |
| mm_response_readdata [31:0] | Output | Data in response to the read access of the response CSR. | |
| mm_response_waitrequest | Output | mSGDMA IP asserts waitrequest when unable to respond to the read request. |
Avalon® -ST Response Source Interface (response_source)
When you configure the response port to an Avalon® streaming source interface, connect it to a module capable of pre-fetching descriptors from memory.
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| src_response_ready | Input | Avalon® Streaming Source | Indicates that the sink can accept response data when ready is asserted high. |
| src_response_valid | Output | Indicates that the response data from the dispatcher is valid. | |
| src_response_data [255:0] | Output | Indicates the response data transfer from dispatcher to user’s Avalon® -ST response sink interface. |
The following table shows the response data bits and their description.
| Signal Name | Description |
|---|---|
| 31 - 0 | Actual bytes transferred [31:0] |
| 39 - 32 | Error [7:0] |
| 40 | Early termination |
| 41 | Transfer complete IRQ mask 61 |
| 49 - 42 | Error IRQ mask61 |
| 50 | Early termination IRQ mask61 |
| 51 | Descriptor buffer full |
| 255:52 | Reserved |
- Actual bytes transferred—determines how many bytes transferred when the mSGDMA is configured in Avalon® -ST to Avalon® -MM mode with packet support enabled. Since packet transfers are terminated by the IP providing the data, this field counts the number of bytes between the start-of-packet (SOP) and end-of-packet (EOP) received by the write host. If the early termination bit of the response is set, then the actual bytes transferred is an underestimate if the transfer is unaligned.
- Error—determines if any errors were issued when the mSGDMA is configured in Avalon® -ST to Avalon® -MM mode with error support enabled. Each error bit is persistent so that errors can accumulate throughout the transfer.
- Early Termination—determines if a transfer terminates because the transfer length is exceeded when the mSGDMA is configured in Avalon® -ST to Avalon® l-MM mode with packet support enabled. This bit is set when the number of bytes transferred exceeds the transfer length set in the descriptor before the end-of-packet is received by the write host.
Read Command Source Interface (read_command_source)
This Avalon® -ST source interface is used to send read commands to mSGDMA Read Master IP. This interface is in big endian mode (first-order symbol is in the most significant bits of the data interface).
| Signal Role | Direction | Type | Description |
|---|---|---|---|
| src_read_master_ready | Input | Avalon® Streaming Source | Avalon® -ST ready control. Used by mSGDMA Read Master IP to back pressure the Avalon-ST read command source from dispatcher. |
| src_read_master_valid | Output | Avalon® -ST valid control. Indicates that the read command data is valid. | |
| src_read_master_data [255:0] | Output | Avalon® -ST read command data bus. Refer to the read command data bit definition in the table below. |
| Bits | Signal Information |
|---|---|
| 255:141 | Reserved. |
| 140:109 | Read Address [63:32] |
| 108 | Early Done Enable |
| 107:100 | Transmit Error [7:0] |
| 99:84 | Read Stride [15:0] |
| 83:76 | Read Burst Count [7:0] |
| 75 | Reset |
| 74 | Stop |
| 73 | Generate EOP |
| 72 | Generate SOP |
| 71:64 | Transmit Channel [7:0] |
| 63:32 | Length [31:0] |
| 31:0 | Read Address [31:0] |
Read Response Sink Interface (read_sink_source)
This Avalon® -ST sink interface is to receive the response information upon completion of each read command from mSGDMA Read Master IP. This interface is in big endian mode (first-order symbol is in the most significant bits of the data interface).
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| snk_read_master_ready | Output | Avalon® Streaming Sink | Indicates that the dispatcher can accept read response data when ready is asserted high. |
| snk_read_master_valid | Input | Indicates that the read response data from the Read Master IP is valid. | |
| snk_read_master_data [255:0] | Input | Indicates the read response data from Read Master IP. Refer to the read response data bit definition in the table below. |
Write Command Source Interface (write_command_source)
This Avalon® -ST source interface is used to send write commands to mSGDMA Write Master IP. This interface is in big endian mode (first-order symbol is in the most significant bits of the data interface).
| Signal Role | Direction | Type | Description |
|---|---|---|---|
| src_write_master_ready | Input | Avalon® Streaming Source | Avalon® -ST ready control. Used by mSGDMA Write Master IP to back pressure the Avalon-ST write command source from dispatcher. |
| src_write_master_valid | Output | Avalon® -ST valid control. Indicates that the write command data is valid. | |
| src_write_master_data [255:0] | Output | Avalon® -ST write command data bus. Refer to the write command data bit definition in the table below. |
| Bits | Signal Information |
|---|---|
| 255:124 | Reserved. |
| 123:92 | Write Address [63:32] |
| 91:76 | Write Stride [15:0] |
| 75:68 | Write Burst Count [7:0] |
| 67 | Reset |
| 66 | Stop |
| 65 | Wait for write responses65/Reserved. |
| 64 | End on EOP |
| 63:32 | Length [31:0] |
| 31:0 | Write Address [31:0] |
Write Response Sink Interface (write_response_sink)
This Avalon® -ST sink interface is to receive the response information upon completion of each write command from mSGDMA Write Master IP. This interface is in big endian mode (first-order symbol is in the most significant bits of the data interface).
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| snk_write_master_ready | Output | Avalon® Streaming Sink | Indicates that the dispatcher can accept write response data when ready is asserted high. |
| snk_write_master_valid | Input | Indicates that the write response data from the Write Master IP is valid. | |
| snk_write_master_data [255:0] | Input | Indicates the write response data from Write Master IP. Refer to the write response data bit definition in the table below. |
| Bits | Signal Information |
|---|---|
| 255:44 | Reserved. |
| 43 | Done Strobe |
| 42 | Early Termination |
| 41:34 | Error [7:0] |
| 33 | Stop State |
| 32 | Reset Delayed |
| 31:0 | Actual Bytes Transferred [31:0] |
IRQ Interface (csr_irq)
This interface indicates to the host on the interrupt event occurrence happened with the mSGDMA Dispatcher IP.
- transfer completion
- early termination (applicable only for Streaming to Memory-Mapped configuration)
- error detection (applicable only for Streaming to Memory-Mapped configuration)
Upon receiving the interrupt assertion from mSGDMA Dispatcher IP, the software should poll for the STATUS register. The IRQ status bit is set by hardware and cleared by software. To clear this bit, software needs to write a 1 to this bit. The IRQ status bit is set when a hardware event has a higher priority than a clear by a software event.
This interrupt interface is only applicable when pre-fetching use case is disabled. This interface not applicable for Streaming Response Port with Memory-Mapped to Memory-Mapped or Streaming to Memory-Mapped configurations.
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| csr_irq_irq | Output | Interrupt sender | Indicates the interrupt event occurrence. This signal remains asserted as long as the irq bit of the Status register is still asserted and not cleared by software. |