Stream Read

Stream data to processor algorithms

  • Library:
  • SoC Blockset / Processor I/O


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.



expand all

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

Data Types: uint32

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 Register Channel or IO Data Sink block that the read completed. For more information on messages, see Messages (Simulink).

Data Types: Boolean


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 (Simulink).


This port appears when Simulation output is set to From input port.

Data Types: SoCData


expand all


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.

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 write occurs to that 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

Introduced in R2019a