Routing

Mux

Given n vector valued inputs, this block merges inputs into a single output vector.

Demux

Given a vector valued input, this block splits inputs over vector valued outputs.

Extractor

This block extracts entries of the input matrix for the construction of new output matrices. The indices of the entries of the input matrix and the shapes of output matrices are specified by the block parameters. Any entry of the input matrix may be used any number of times, or not all.

SelectInput

This block selects one of its inputs and copies it into its output, when activated. The block determines the selected port depending on the way by which it has been activated. If the activation is received on its i-th input activation port (the top left port being numbered one), the i-th regular input is copied to the output (top most port being numbered one). In case the block is activated synchronously through more than one input activation ports, the lowest numbered port is taken into account, others are ignored. The block accepts different signal types and sizes but all the inputs must have identical type and compatible sizes (same size as the output or scalar).

ConditionalNSelect

This block copies one of its inputs to its output. The first (top), input is the control input; the remaining inputs are data inputs. The value of the control input determines which data input is copied.

ConditionalSelect

This block copies the value of the first or the third input to the output based on the value of the second input. If the condition specified by the block parameter is true, then the first input is copied, otherwise the third input is copied. The inputs and the threshold must be the same size as the output, or be scalar.

ManualSelect

This block is a manual Switch block. It selects one of its inputs to pass through to the output.

StructuralSwitch

This virtual block implements a structural switch. The output is connected to one of the inputs that is designated by the block parameter. Unlike in non-virtual switch blocks, the output signal does not inherit from all the input signals, but only from the connected input. Therefore, changing the connected input, under simulation pause, forces a simulation restart.

Relay

This block routes one of the regular inputs to the unique regular output. The choice of which input is to be routed is made initially based on the "initial connected input" parameter. Then, every time the block is activated through an event on its i-th input activation port, the i-th regular input port is routed to the regular output until a subsquent event activates the block.

SetSignal

This block sends signals to a corresponding GetSignal block by connecting the regular ports of the blocks without using a link. A single SetSignal block can send signals to multiple GetSignal blocks, but a GetSignal block can receive signals from only one SetSignal block.

GetSignal

This block receives signals from a corresponding SetSignal block by connecting the regular ports of the blocks without using a link. A single SetSignal block can send signals to multiple GetSignal blocks, but a GetSignal block can receive signals from only one SetSignal block.

SignalScoping

This block defines the Scope of the signal defined by the SetSignal block with the corresponding signal name, when the SetSignal block is configured as Scoped.

EventUnion

This block produces an event when activated by one or more synchronous events. The output event is synchronous with the input event(s).

GetActivationSignal

This block receives input activations from a corresponding SetActivationSignal block by connecting the event ports of the blocks without using a link. A single SetActivationSignal block can send activations to multiple GetActivationSignal blocks, but a GetActivationSignal block can receive activation from only one SetActivationSignal block.

SetActivationSignal

This block sends output activations to a corresponding GetActivationSignal block by connecting the event ports of the blocks without using a link. A single SetActivationSignal block can send activations to multiple GetActivationSignal blocks, but a GetActivationSignal block can receive activation from only one SetActivationSignal block.

ActivationSignalScoping

This block defines the scope of the Activation signal defined by the SetActivationSignal block with the corresponding signal name, when the SetActivationSignal block is configured as "Scoped".

GetImplicitSignal

This block receives implicit signals from a corresponding SetImplicitSignal block by connecting the implicit ports of the blocks without using a link. A single SetImplicitSignal block can send implicit signals to multiple GetImplicitSignal blocks, but a GetImplicitSignal block can receive implicit signals from only one SetImplicitSignal block.

SetImplicitSignal

This block sends implicit signals to a corresponding GetImplicitSignal block by connecting implicit ports of the blocks without using a link. A single SetImplicitSignal block can send implicit signals to multiple GetImplicitSignal blocks, but a GetImplicitSignal block can receive implicit signals from only one SetImplicitSignal block.

ImplicitSignalScoping

This block specifies the scope of the signal defined by the SetImplicitSignal block with the corresponding signal name.