External Memory Channel Protocols
The signal interfaces added to the channel model for the writer and reader are protocols that the algorithms use to communicate with the channel. Protocols do not change the core of the external memory channel model, which operates on burst transactions. They control only how the data gets in or out of those channels.
For FPGA or ASIC IPs, typical protocols include streaming data, streaming video data, and addressable data transfers. For software, typical protocols presented to an algorithm include simple data buffer, with details about interrupts, buffer management, and task scheduling left to the underlying OS.
Configure the Memory Channel block to support various protocols.
AXI4 Stream to Software via DMA
The AXI4-Stream Software configuration provides a software streaming protocol from hardware to software. Choose this configuration when a processor acts as a reader from the memory. This protocol includes a trigger configuration, which the Task Manager block receives. The trigger signals that a memory buffer is full and ready for reading. For more information about the AXI4-stream protocol, see AXI4-Stream Interface.
Software to AXI4-Stream via DMA
The Software to AXI4-Stream via DMA configuration provides a software streaming protocol from software to hardware. Choose this configuration when a processor acts as a writer to the memory. This protocol includes a trigger configuration, which the Task Manager block receives. The trigger signals that a memory buffer is empty and ready for writing. The processor then initiates a write transaction. Upon successful completion of the write transaction the processor receives a status signal from the Stream Write block. The processor reacts to that signal when the status is false. For more information about the AXI4-stream protocol, see AXI4-Stream Interface.
AXI4 Stream FIFO
The AXI4-Stream configuration provides a simple data valid and ready protocol for data streaming. You can generate a fully compliant AXI4-Stream interface from this protocol using HDL Coder™.
For data stream channels, memory addressing is automatic. The channel is responsible
for converting the stream to buffer addresses as a DMA core would. The relationship of
the stream to the managed buffers in the external memory is through an ‘end of buffer’
signal, known as tlast
for AXI4-Stream. For more information about
the AXI4-stream protocol, see AXI4-Stream Interface.
AXI4 Stream Video FIFO
The AXI4-Stream Video FIFO configuration provides a data valid and ready protocol similar to the AXI4 Stream FIFO. This protocol also has additional signaling to mark the start or the end of a video line and start or end of a video frame. This protocol is compatible with the HDMI Rx and HDMI Tx blocks, available with the SoC Blockset™ Support Package for AMD FPGA and SoC Devices. You can generate a fully compliant AXI-Stream video streaming interface from this protocol using HDL Coder. For information about the HDMI blocks, see documentation for SoC Blockset support packages.
For streaming video data channels, memory addressing is automatic. The channel is responsible for converting the stream to buffer addresses as a DMA core would. The stream relates to the managed buffers in the external memory through the pixel control bus signals, which demarcate lines and frames. For more information, see AXI4-Stream Video Interface.
AXI4 Stream Video Frame Buffer
The AXI4-Stream Video Frame Buffer configuration provides The same signaling as the AXI4 Stream Video FIFO, with additional control signals for frame-buffer synchronization. This protocol is compatible with the HDMI Rx and HDMI Tx blocks, available with the SoC Blockset Support Package for AMD FPGA and SoC Devices. You can generate a fully compliant AXI-Stream video streaming interface from this protocol using HDL Coder. For information about the HDMI blocks, see documentation for SoC Blockset support packages.
For streaming video data channels, memory addressing is automatic. The channel is responsible for converting the stream to buffer addresses as a DMA core would. The stream’s relationship to the managed buffers in the external memory is through the pixel control bus signals, which demarcate lines and frames.
AXI4 Random Access
The AXI4 configuration provides a simple, direct interface to the memory interconnect. Unlike the previous two streaming protocols, this protocol allows the algorithm to act as a memory master by providing the addresses and managing the burst transfer directly. This protocol represents a simplified master protocol. You can generate a fully compliant AXI-4 interface from this protocol using HDL Coder. For more information about the simplified AXI4 interface, see Simplified AXI4 Master Interface.
See Also
AXI4 Random Access Memory | AXI4-Stream to Software | Software to AXI4-Stream | AXI4 Video Frame Buffer | Memory Channel