About Blocks

What Are Blocks?

Blocks are the elements from which the Simulink® software builds models. You can model virtually any dynamic system by creating and interconnecting blocks in appropriate ways. This section discusses how to use blocks to build models of dynamic systems. Most blocks contain fields called block parameters that you can use to enter values that customize the behavior of the block. Be careful not to confuse block parameters with Simulink parameters, which are objects of type simulink.parameter that exist in the base workspace. See How Parameters Determine Block Behavior and Set Block Parameters for information about setting and changing block parameters.

Block Tool Tips

Information about a block is displayed in a tool tip when you hover the mouse pointer over the block in the diagram view. To disable this feature, or control what information the tool tip displays, select Display > Blocks > Tool Tip Options in the Simulink Editor.

Virtual Blocks

When creating models, you need to be aware that Simulink blocks fall into two basic categories: nonvirtual blocks and virtual blocks. Nonvirtual blocks play an active role in the simulation of a system. If you add or remove a nonvirtual block, you change the model's behavior. Virtual blocks, by contrast, play no active role in the simulation; they help organize a model graphically. Some Simulink blocks are virtual in some circumstances and nonvirtual in others. Such blocks are called conditionally virtual blocks. The following table lists Simulink virtual and conditionally virtual blocks.

Block NameCondition Under Which Block Is Virtual

Bus Assignment

Virtual if input bus is virtual.

Bus Creator

Virtual if output bus is virtual.

Bus Selector

Virtual if input bus is virtual.


Always virtual.


Virtual unless connected directly to an Outport block.


Always virtual.


Always virtual.

Goto Tag Visibility

Always virtual.


Always virtual.


Virtual unless the block resides in a conditionally executed or atomic subsystem and has a direct connection to an Outport block.


Always virtual.


Virtual when the block resides within any subsystem block (conditional or not), and does not reside in the root (top-level) Simulink window.


Virtual only when Number of input dimensions specifies 1 and Index Option specifies Select all, Index vector (dialog), or Starting index (dialog).

Signal Specification

Always virtual.


Virtual unless the block is conditionally executed or the Treat as atomic unit check box is selected.

You can check if a block is virtual with the IsSubsystemVirtual block property. See Block-Specific Parameters.


Always virtual.


Virtual when the output port is not present.

Was this topic helpful?