Main Content

Dataflow Subsystem

Subsystem whose execution domain is set to Dataflow

  • Library:
  • DSP System Toolbox / Dataflow

  • Dataflow Subsystem block

Description

The Dataflow Subsystem block is a Subsystem block preconfigured with the execution domain set to dataflow. A Dataflow Subsystem uses synchronous dataflow as a model of computation, which is data-driven and statically scheduled.

Dataflow Subsystems help to

  • Improve simulation throughput with multithreaded execution

    Dataflow domains leverage the multicore CPU architecture of the host computer and can improve simulation speed significantly. It automatically partitions your model and simulates the system using multiple threads. By adding latency to your system, you can further increase concurrency and improve simulation throughput of your model.

  • Automatically infer signal sizes for frame-based multirate models

See Dataflow Domain for more information.

Ports

Input

expand all

Placing an Inport block in a subsystem adds an external input port to the block. The port label on the subsystem block is the name of the Inport block.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Output

expand all

Placing an Outport block in a subsystem adds an output port from the block. The port label on the subsystem block is the name of the Outport block.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Parameters

expand all

The Dataflow Subsystem block uses the same parameters as the Subsystem block. For parameter descriptions and programmatic use information, see Subsystem, Atomic Subsystem, Nonvirtual Subsystem, CodeReuse Subsystem (Simulink).

Note

Dataflow subsystems cannot be atomic subsystems.

To increase the throughput of a system, it can be advantageous to increase the latency of the system. Specify the Latency value in the Execution tab of the Property Inspector. The Dataflow Simulation Assistant can recommend a latency value for simulation. Click the Dataflow assistant button to open the Dataflow Simulation Assistant. For more information, see Latency

Programmatic Use

Block Parameter: Latency
Type: character vector
Values: scalar integer
Default: '0'

When the Automatic frame size calculation parameter is enabled, dataflow domains automatically calculate frame sizes and insert buffers into your model, avoiding signal size propagation errors in multirate signal processing systems. For more information, see Automatic Frame Size Calculation.

Programmatic Use

Block Parameter: AutoFrameSizeCalculation
Type: character vector
Values: 'off'|'on'
Default: 'off'

Block Characteristics

Data Types

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | half[a] | integer[a] | single[a] | string[a]

Direct Feedthrough

no

Multidimensional Signals

limited[a]

Variable-Size Signals

limited[a]

Zero-Crossing Detection

no

[a] Actual data type or capability support depends on block implementation.

Extended Capabilities

Introduced in R2018b