Main Content

Stream Read

Stream data from shared memory to processor algorithms

  • Stream Read block

Libraries:
SoC Blockset / Processor I/O

Description

The Stream Read block streams data from shared memory in the memory channel to your processor algorithm. In simulation, a timer-driven or event-driven task subsystem contains the Stream Read block. The data signals from the Memory Channel block connect to the Stream Read block. Following a write to the shared memory, the Memory Channel notifies the Task Manager block of the write event. The Task Manager block then triggers the event-driven subsystem containing the Stream Read block and associated algorithm.

When developing or analyzing the software side of an SoC application, the Stream Read block can be connected to an IO Data Source block. In this configuration, the IO Data Source block provides either previously recorded or artificial data, enabling a more directed simulation of the software and processor side of the application, without need to explicitly model the hardware and memory interactions.

Examples

Ports

Output

expand all

This port emits a data frame read from shared a region of shared memory defined in the Memory Channel block.

Data Types: uint16 | uint32 | uint64 | fixdt(0,128,0)

A flag indicating a valid data frame read from the memory channel.

Data Types: Boolean

This message port sends notification, as a message, to the connected Memory Channel or IO Data Source block that the read completed. For more information on messages, see Messages.

Data Types: Boolean

Input

expand all

This message port receives data messages from the connected Memory Channel or IO Data Source block. The messages process when the Task Manager block triggers the task containing the Stream Read block. For more information on messages, see Messages.

Data Types: SoCData

Parameters

expand all

Main

Enter the name and channel of the IP core on the FPGA as a colon separated list.

Enter the data type used by the memory channel.

Enter the size of the data vector read from the memory channel.

Enter the number of data frame buffers in physical memory. This number should match the Number of buffers parameter in the Memory Channel block or IO Data Source block.

To use this block in event-driven task subsystems, select this parameter. To use this block in timer-driven task subsystems, clear this parameter.

When Enable event-based execution is selected, this block reads from the Memory Channel each time a full buffer is available in the shared memory region. When Enable event-based execution is cleared, the block reads the data in the shared memory region at each sample time.

Enter the sample time used by the timer-driven task subsystem when the Enable event-based execution is cleared.

Extended Capabilities

Version History

Introduced in R2019a