| Contents | Index |
Logic and Bit Operations
The Logical Operator block performs the specified logical operation on its inputs. An input value is TRUE (1) if it is nonzero and FALSE (0) if it is zero.
You select the Boolean operation connecting the inputs with the Operator parameter list. If you select rectangular as the Icon shape property, the block updates to display the name of the selected operator. The supported operations are given below.
| Operation | Description |
|---|---|
AND | TRUE if all inputs are TRUE |
OR | TRUE if at least one input is TRUE |
NAND | TRUE if at least one input is FALSE |
NOR | TRUE when no inputs are TRUE |
XOR | TRUE if an odd number of inputs are TRUE |
NXOR | TRUE if an even number of inputs are TRUE |
NOT | TRUE if the input is FALSE |
If you select distinctive as the Icon shape, the block's appearance indicates its function. Simulink software displays a distinctive shape for the selected operator, conforming to the IEEE Standard Graphic Symbols for Logic Functions:

The number of input ports is specified with the Number of input ports parameter. The output type is specified with the Output data type parameter. An output value is 1 if TRUE and 0 if FALSE.
Note The output data type should represent zero exactly. Data types that satisfy this condition include signed and unsigned integers, and any floating-point data type. |
The size of the output depends on input vector size and the selected operator:
If the block has more than one input, any nonscalar inputs must have the same dimensions. For example, if any input is a 2-by-2 array, all other nonscalar inputs must also be 2-by-2 arrays.
Scalar inputs are expanded to have the same dimensions as the nonscalar inputs.
If the block has more than one input, the output has the same dimensions as the inputs (after scalar expansion) and each output element is the result of applying the specified logical operation to the corresponding input elements. For example, if the specified operation is AND and the inputs are 2-by-2 arrays, the output is a 2-by-2 array whose top left element is the result of applying AND to the top left elements of the inputs, etc.
For a single vector input, the block applies the operation (except the NOT operator) to all elements of the vector. The output is always a scalar.
The NOT operator accepts only one input, which can be a scalar or a vector. If the input is a vector, the output is a vector of the same size containing the logical complements of the input vector elements.
When configured as a multi-input XOR gate, this block performs an addition- modulo-two operation as mandated by the IEEE Standard for Logic Elements.
The Logical Operator block accepts real signals of any numeric data type that Simulink supports, including fixed-point data types.
For more information, see Data Types Supported by Simulink in the Simulink documentation.
The Main pane of the Logical Operator block dialog box appears as follows:

The Signal Attributes pane of the Logical Operator block dialog box appears as follows:

Display the Data Type Assistant.
The Data Type Assistant helps you set the Output data type parameter.
See Specifying Block Output Data Types for more information.
See Block-Specific Parameters for the command-line information.
Select logical operator to apply to block inputs.
Default: AND
TRUE if all inputs are TRUE
TRUE if at least one input is TRUE
TRUE if at least one input is FALSE
TRUE when no inputs are TRUE
TRUE if an odd number of inputs are TRUE
TRUE if an even number of inputs are TRUE
TRUE if the input is FALSE
See Block-Specific Parameters for the command-line information.
Specify number of block inputs.
Default: 2
The value must be appropriate for the selected operator.
See Block-Specific Parameters for the command-line information.
Specify shape of the block icon.
Default: rectangular
Result in a rectangular block that displays the name of the selected operator.
Use the graphic symbol for the selected operator as specified by the IEEE standard.
See Block-Specific Parameters for the command-line information.
Enter the discrete interval between sample time hits or specify another appropriate sample time such as continuous or inherited.
Default: -1
By default, the block inherits its sample time based upon the context of the block within the model. To set a different sample time, enter a valid sample time based upon the table in Types of Sample Time.
See also How to Specify the Sample Time in the online documentation for more information.
See Block-Specific Parameters for the command-line information.
Require all inputs and the output to have the same data type.
Default: Off
Require all inputs and the output to have the same data type.
Do not require all inputs and the output to have the same data type.
See Block-Specific Parameters for the command-line information.
Specify the output data type.
Default: boolean
Uses the Implement logic signals as Boolean data configuration parameter (see Implement logic signals as Boolean data (vs. double)) to specify the output data type.
Specifies output data type is boolean.
Specifies output data type is fixdt(1,16).
Uses the name of a data type object, for example, Simulink.NumericType.
See Block-Specific Parameters for the command-line information.
Select the category of data to specify.
Default: Built in
Specifies inheritance rules for data types. Selecting Inherit enables Logical (see Configuration Parameters: Optimization).
Specifies built-in data types. Selecting Built in enables boolean.
Specifies fixed-point data types.
Specifies expressions that evaluate to data types.
Clicking the Show data type assistant button enables this parameter.
See Block-Specific Parameters for the command-line information.
See Using the Data Type Assistant in the Simulink User's Guide.
Specify data type override mode for this signal.
Default: Inherit
Inherits the data type override setting from its context, that is, from the block, Simulink.Signal object or Stateflow chart in Simulink that is using the signal.
Ignores the data type override setting of its context and uses the fixed-point data type specified for the signal.
The ability to turn off data type override for an individual data type provides greater control over the data types in your model when you apply data type override. For example, you can use this option to ensure that data types meet the requirements of downstream blocks regardless of the data type override setting.
This parameter appears only when the Mode is Built in or Fixed point.
Specify whether you want the fixed-point data as signed or unsigned.
Default: Signed
Selecting Mode > Fixed point enables this parameter.
See Block-Specific Parameters for the command-line information.
See Specifying a Fixed-Point Data Type in the Simulink User's Guide for more information.
Specify the bit size of the word that holds the quantized integer.
Default: 16
Minimum: 0
Maximum: 32
Selecting Mode > Fixed point enables this parameter.
See Block-Specific Parameters for the command-line information.
See Specifying a Fixed-Point Data Type in the Simulink User's Guide for more information.
Specify the method for scaling your fixed-point data to avoid overflow conditions and minimize quantization errors.
Default: Integer
Specify integer. This setting has the same result as specifying a binary point location and setting fraction length to 0.
See Block-Specific Parameters for the command-line information.
See Specifying a Fixed-Point Data Type in the Simulink User's Guide for more information.
In the sldemo_fuelsys model, the fuel_rate_control/airflow_calc subsystem uses a Logical Operator block as an AND operator:

The output of the Logical Operator block (the enable_integration signal) feeds into the control port of a Switch block that activates feedback control.
| When the Logical Operator block output is... | Feedback control... |
|---|---|
| 1 | Occurs |
| 0 | Does not occur |
In the sldemo_hardstop model, the Logical Operator block appears as an OR operator:

The output of the Logical Operator block feeds into the trigger port of an Integrator block to control whether velocity resets to the initial condition.
| When the Logical Operator block output changes... | The Integrator block... |
|---|---|
| From 0 to 1 | Resets the velocity |
| From 1 to 0 | Does not reset velocity |
In the sldemo_clutch model, the Logical Operator block appears as a NOT operator:

The output of the Logical Operator block (the clutch slipping signal) feeds into the trigger port of an enabled subsystem.
| When the Logical Operator block outputs... | The Unlocked subsystem is... |
|---|---|
| 1 | Enabled |
| 0 | Disabled |
Direct Feedthrough | Yes |
Sample Time | Specified in the Sample time parameter |
Scalar Expansion | Yes, of inputs |
Dimensionalized | Yes |
Multidimensionalized | Yes |
Zero-Crossing Detection | No |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |