28.5.4. Prefetcher Enabled Mode Interface
The following describes the interfaces that are applicable only when Prefetcher is enabled.
Avalon® -MM Read Descriptor Interface (descriptor_read_master)
| Signal Role | Direction | Type | Description |
|---|---|---|---|
| descriptor_read_master_address [FIX_ADDRESS_WIDTH-1:0] | Output | Avalon® Memory-Mapped Host | Indicates the address of the descriptor to fetch.
Note: The address width is configurable based on parameter FIX_ADDRESS_WIDTH only when parameter USE_FIX_ADDRESS_WIDTH is enabled. If USE_FIX_ADDRESS_WIDTH = 0, the address width is automatically fixed to 32-bit width.
|
| descriptor_read_master_read | Output | Indicates descriptor read transfer. | |
| descriptor_read_master_burstcount [log2(PREFETCHER_MAX_READ_BURST_COUNT):0] | Output | Indicate the number of read transfers in each burst. The maximum burst count on descriptor read host is configurable during IP generation. This signal role is applicable only when the parameter Enable bursting on descriptor read host is turned on. |
|
| descriptor_read_master_readdata [PREFETCHER_DATA_WIDTH-1:0] | Input | Data in response to the descriptor read request. Refer to the Descriptor Format (with Prefetcher Enabled) section for data definition. Data width is configurable based on parameter PREFETCHER_DATA_WIDTH during IP generation. |
|
| descriptor_read_master_readdatavalid | Input | Avalon® -MM read data valid indication. | |
| descriptor_read_master_waitrequest | Input | Avalon® -MM wait request for backpressure control. An agent asserts waitrequest when unable to respond to the read request. |
Avalon® -MM Write Descriptor Interface (descriptor_write_master)
| Signal Role | Direction | Type | Description |
|---|---|---|---|
| descriptor_write_master_address [FIX_ADDRESS_WIDTH-1:0] | Output | Avalon® Memory-Mapped Host | Indicates the address of the descriptor to perform write back. Note: The address width is configurable based on parameter FIX_ADDRESS_WIDTH only when parameter USE_FIX_ADDRESS_WIDTH is enabled. If USE_FIX_ADDRESS_WIDTH = 0, the address width is automatically fixed to 32-bit width. |
| descriptor_write_master_write | Output | Indicates descriptor write transfer. | |
descriptor_write_master_byteenable [PREFETCHER_DATA_WIDTH/8-1:0] |
Output | Enable the byte lanes during descriptor write transfer. | |
| descriptor_write_master_writedata [PREFETCHER_DATA_WIDTH-1:0] | Output | Data of the descriptor write back. Refer to the Responder Descriptor Format (with Prefetcher Enabled) section for data definition. Data width is configurable based on parameter PREFETCHER_DATA_WIDTH during IP generation. | |
| descriptor_write_master_response [1:0] | Input | Response status for the descriptor write transaction. | |
| descriptor_write_master_writeresponsevalid | Input | When asserted, the value on the response signal is a valid write response. | |
| descriptor_write_master_waitrequest | Input | Avalon® -MM wait request for backpressure control. An agent asserts waitrequest when unable to respond to the write request. |
Avalon® -MM CSR Interface (prefetcher_csr)
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| prefetcher_csr_address [2:0] | Input | Avalon® Memory-Mapped Agent | The read or write address to access prefetcher CSR. |
| prefetcher_csr_write | Input | Write access to the prefetcher CSR. | |
| prefetcher_csr_writedata [31:0] | Input | Data for write transfer to the prefetcher CSR. | |
| prefetcher_csr_read | Input | Read access to the prefetcher CSR. | |
| prefetcher_csr_readdata [31:0] | Output | Data in response to the read access of the prefetcher CSR. |
Avalon® -ST Response Source Interface (response_source)
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| response_source_ready | Input | Avalon® Streaming Source | Indicates that the sink can accept response data when ready is asserted high. |
| response_source_valid | Output | Indicates that the response data from the dispatcher is valid. | |
response_source_data [255:0] |
Output | Indicates the response data transfer from dispatcher to user’s Avalon® -ST sink interface. |
| Signal Name | Description |
|---|---|
| 31 - 0 | Actual bytes transferred [31:0]0 |
| 39 - 32 | Error [7:0]0 |
| 40 | Early termination0 |
| 41 | Transfer complete IRQ mask0 |
| 49 - 42 | Error IRQ mask0/0 |
| 50 | Early termination IRQ mask0/0 |
| 51 | Descriptor buffer full0 |
| 159 - 52 | Reserved |
| 255 - 160 | Reserved for sideband signal (e.g. timestamp) to be amend by user when “Expose response port to enable sideband support” parameter is enabled |
- 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 Avlaon-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® -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.
Avalon® -ST Response Sink Interface (response sink)
| Signal Role | Direction | Type | Description |
|---|---|---|---|
| response_sink_ready | Output | Avalon® Streaming Sink | Avalon-ST ready control. Used by the Prefetcher core to back pressure the external Avalon-ST response source. |
| response_sink_valid | Input | Avalon® -ST valid control. Indicates that the response data from the source is valid. Prefetcher core expects valid signal to remain high while the bus is being back pressured. |
|
| response_sink_data [255:0] | Input | Avalon® -ST response data bus from user’s Avalon-ST source interface to Prefetcher. Refer to response sink data definition in the table below. Prefetcher core expects data signals to remain constant while the bus is being back pressured. |
| Bits | Signal Information |
|---|---|
| [31:0] | Actual bytes transferred [31:0] |
| [39:32] | Error [7:0] |
| 40 | Early termination |
| 41 | Transfer complete IRQ mask |
| [49:42] | Error IRQ mask |
| 50 | Early termination IRQ mask |
| 51 | Descriptor buffer full |
| [159:52] | Reserved |
| [255:160] | Reserved / sideband signal (e.g. timestamp)
Note: Sideband signal is applicable only when Expose response port to enable sideband support parameter is enabled
|
- 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® -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.
IRQ Interface (csr_irq)
When the Prefetcher is enabled, IRQ generation no longer outputs from the dispatcher’s core. It will be outputted from the Prefetcher core. The sources of the interrupt remain the same which are transfer completion, early termination (applicable only for Streaming to Memory-Mapped configuration), and error detection (applicable only for Streaming to Memory-Mapped configuration). Masking bits for each of the interrupt sources are programmed in the descriptor. This information will be passed to the Prefetcher core through the ST response interface from dispatcher. An equivalent global interrupt enable mask and IRQ status bit which are defined in dispatcher core are now defined in the Prefetcher core as well. These two bits need to be defined in the Prefetcher core since the actual IRQ register is now located in the Prefetcher core. When the Prefetcher is enabled, software shall use the global interrupt enable mask bit and IRQ bit in the Prefetcher CSR.
| 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 Prefetcher Status register is still asserted and not cleared by software. |