28.5.2. Source and Destination Data Path Interface
The following topics describe the interfaces which are involved in the data transfers between two memory spaces. The read host block reads data through its Avalon® -MM host interface, and channels it into the Avalon® -ST source interface, based on instruction given by the dispatcher block. Conversely, the write host block receives data from its Avalon® -ST sink interface and writes it to the destination address via its Avalon® -MM host interface.
Avalon® -MM Read Host Interface (mm_read)
This interface is where data is read from the source address. Avalon® -MM Read Host Interface is not applicable for Streaming to Memory-Mapped Configuration.
| Signal Name | Direction | Type | Description |
|---|---|---|---|
mm_read_address [FIX_ADDRESS_WIDTH-1:0] |
Output | Avalon® Memory-Mapped Host | Indicates read address of the data source.
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.
|
| mm_read_read | Output | Read request to the source address. | |
mm_read_byteenable [DATA_WIDTH/8-1:0] |
Output | Enable the byte lanes during read transfer from the data source.
Note: byteenable for the read transfer are always asserted by the read host.
Note: Applicable for DATA_WIDTH is larger than 8.
|
|
mm_read_burstcount [log2(MAX_BURST_COUNT):0] |
Output | Indicate the number of read transfers in each burst.
Note: Applicable only when parameter Burst Enable is enabled.
|
|
mm_read_readdata [DATA_WIDTH-1:0] |
Input | Data in response to the read transfer from the source. | |
| mm_read_readdatavalid | Input | When asserted, indicates that the readdata signal contains valid data. | |
| mm_read_waitrequest | Input | An agent asserts waitrequest when unable to respond to the read request. |
Avalon® -MM Write Host Interface (mm_write)
This interface is where data is written to the destination address. Avalon® -MM Write Host Interface is not applicable for Memory-Mapped to Streaming Configuration.
| Signal Name | Direction | Type | Description |
|---|---|---|---|
mm_write_address [FIX_ADDRESS_WIDTH-1:0] |
Output | Avalon® Memory-Mapped Host | Indicates write address of the destination.
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.
|
| mm_write_write | Output | Write request to the destination address. | |
mm_write_byteenable [DATA_WIDTH/8-1:0] |
Output | Enable the byte lanes during write transfer to the destination address.
Note: Applicable for DATA_WIDTH is larger than 8.
|
|
mm_write_burstcount [log2(MAX_BURST_COUNT):0] |
Output | Indicate the number of write transfers in each burst.
Note: Applicable only when parameter Burst Enable is enabled.
|
|
mm_write_writedata [DATA_WIDTH-1:0] |
Output | Data for the write transfer to the destination. | |
mm_write_response [1:0] |
Input | Response status for the write transaction to the destination.
Note: Applicable only when parameter Enable Write Response is enabled.
|
|
| mm_write_writeresponsevalid | Input | When asserted, the value on the response signal is a valid writeresponse.
Note: Applicable only when parameter Enable Write Response is enabled.
|
|
| mm_write_waitrequest | Input | An agent asserts waitrequest when unable to respond to the write request. |
Avalon® -ST Data Source Interface (st_source)
This interface is where streaming data is transmitted out from mSGDMA IP. This interface is in big endian mode (first-order symbol is in the most significant bits of the data interface). Avalon® -ST Data Source Interface is not applicable for Streaming to Memory-Mapped Configuration.
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| st_source_ready | Input | Avalon® Streaming Source | Indicates that the sink can accept data when ready is asserted high. |
| st_source_valid | Output | Indicates that the data from the source is valid. | |
st_source_data [DATA_WIDTH-1:0] |
Output | Indicates the DMA data transfer from host to the user’s Avalon® -ST sink interface. | |
st_source_empty [log2(DATA_WIDTH/8)-1:0] |
Output | Indicates the number of symbols (8 data bits per symbol) that are empty, i.e. invalid data.Invalid data or empty cycle is only permitted at the end of thepacket transfer.
Note: Applicable only when parameter Packet Support Enable is enabled and DATA_WIDTH is larger than 8.
|
|
| st_source_startofpacket | Output | Indicates the start of packet.
Note: Applicable only when parameter Packet Support Enable is enabled
|
|
| st_source_endofpacket | Output | Indicates the end of packet.
Note: Applicable only when parameter Packet Support Enable is enabled
|
|
st_source_channel [CHANNEL_WIDTH-1:0] |
Output | Indicate the channel number to which the data belongs.
Note: Applicable only when parameter Channel Enable is enabled
|
|
st_source_error [ERROR_WIDTH-1:0] |
Output | Indicates error signal from source.
Note: Applicable only when parameter Error Enable is enabled
|
Avalon® -ST Data Sink Interface (st_sink)
| Signal Name | Direction | Type | Description |
|---|---|---|---|
| st_sink_ready | Output | Avalon® Streaming Sink | Indicates that the mSGDMA IP can accept data from the source when ready is asserted high. |
| st_sink_valid | Input | Indicates that the data from the source is valid. | |
st_sink_data [DATA_WIDTH-1:0] |
Input | Indicates the DMA data transfer from user’s Avalon® -ST streaming source to the host. | |
st_sink_empty [log2(DATA_WIDTH/8)-1:0] |
Input | Indicates the number of symbols (8 data bits per symbol) that are empty, i.e. invalid data. Invalid data or empty cycle is only permitted at the end of the packet transfer.
Note: Applicable only when parameter Packet Support Enable is enabled and DATA_WIDTH is larger than 8.
|
|
| st_sink_startofpacket | Input | Indicates the start of packet.
Note: Applicable only when parameter Packet Support Enable is enabled
|
|
| st_sink_endofpacket | Input | Indicates the end of packet.
Note: Applicable only when parameter Packet Support Enable is enabled
|
|
st_sink_error [ERROR_WIDTH-1:0] |
Input | Indicates error signal from source.
Note: Applicable only when parameter Error Enable is enabled
|