Main Content

Logical Operator

对输入执行指定的逻辑运算

  • Logical Operator block

库:
Simulink / Commonly Used Blocks
Simulink / Logic and Bit Operations
HDL Coder / Commonly Used Blocks
HDL Coder / Logic and Bit Operations

描述

Logical Operator 模块对其输入执行指定的逻辑运算。输入值为非零值时为 true (1),为零时则为 false (0)。

使用运算符参数列表选择连接输入的布尔运算。如果您选择矩形作为图标形状属性,所选运算符的名称将显示在模块图标上。如果您选择不同作为图标形状属性,则所选运算符的名称不会显示在模块图标上。下表显示了支持的运算:

运算描述

AND

如果所有输入均为 TRUE,则为 TRUE

OR

如果至少有一个输入为 TRUE,则为 TRUE

NAND

如果至少有一个输入为 FALSE,则为 TRUE

NOR

如果所有输入均不为 TRUE,则为 TRUE

XOR

如果有奇数个输入为 TRUE,则为 TRUE

NXOR

如果有偶数个输入为 TRUE,则为 TRUE

NOT

如果输入为 FALSE,则为 TRUE

如果选择不同作为图标形状,则模块的外观会指示其功能。Simulink® 软件将按照 IEEE® 逻辑函数的图形符号标准,显示所选运算符的独特形状。

要指定输入端口的数量,请使用输入端口数目参数。使用输出数据类型参数指定输出类型。如果为 TRUE,则输出值为 1,如果为 FALSE,则输出值为 0

注意

输出数据类型应该准确表示零。满足此条件的数据类型包括有符号整数和无符号整数,以及所有浮点数据类型。

输出大小取决于输入向量大小和所选运算符:

  • 如果模块有多个输入,则任何非标量输入都必须具有相同的维度。例如,如果有任何输入是 2×2 数组,则所有其他非标量输入也必须是 2×2 数组。

    标量输入将扩展为与非标量输入具有相同的维度。

    如果模块有多个输入,则输出与输入具有相同的维度(标量扩展后),并且每个输出元素都是将指定逻辑运算应用于相应输入元素的结果。例如,如果指定运算为 AND,输入为 2×2 数组,则输出为 2×2 数组,其左上角的元素是将 AND 应用于输入的左上角元素的结果,以此类推。

  • 对于单个向量输入,模块会将运算(除 NOT 运算符外)应用于向量的所有元素。输出始终为标量。

  • NOT 运算符仅接受一个输入,该输入可以是标量也可以是向量。如果输入为向量,则输出为相同大小的向量,其中包含输入向量元素的逻辑补码。

当配置为多输入 XOR 门时,此模块将按照 IEEE 逻辑元素标准的规定执行加法双模运算。

端口

输入

全部展开

第一个输入信号,指定为标量、向量或矩阵。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

第二个输入信号,指定为标量、向量或矩阵。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

第 N 个输入信号,指定为标量、向量或矩阵。

依存关系

要启用其他输入端口,请使用输入端口数目参数。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

输出信号,由 0 和 1 组成,具有与输入相同的维度。您可以使用要求所有输入和输出具有相同的数据类型输出数据类型参数控制输出数据类型。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

常设

选择要应用于模块输入的逻辑运算符。

  • AND - 如果所有输入均为 TRUE,则为 TRUE

  • OR - 如果至少有一个输入为 TRUE,则为 TRUE

  • nand - 如果至少有一个输入为 FALSE,则为 TRUE

  • NOR - 如果所有输入均不为 TRUE,则为 TRUE

  • XOR - 如果有奇数个输入为 TRUE,则为 TRUE

  • NXOR - 如果有偶数个输入为 TRUE,则为 TRUE

  • NOT - 如果输入为 FALSE,则为 TRUE

编程用法

模块参数Operator
类型:字符向量
值:'AND' | 'OR' | 'NAND' | 'NOR' | 'XOR' | 'NXOR' | 'NOT'
默认值:'AND'

将模块输入的个数指定为正整数。

编程用法

模块参数Inputs
类型:字符向量
值:正整数
默认值:'2'

依存关系

运算符设置为 NOT 时,此参数不可用。

指定模块图标的形状。

  • 矩形 - 生成显示所选运算符名称的矩形模块。

  • 不同 - 按照 IEEE 标准针对所选运算符使用图形符号。

编程用法

模块参数IconShape
类型:字符向量
'rectangular' | 'distinctive'
默认值:'rectangular'

指定采样时间间隔。要继承采样时间,请将此参数设置为 -1。有关详细信息,请参阅指定采样时间

依存关系

仅当您将此参数设置为 -1 以外的值时才可见。要了解详细信息,请参阅不建议设置采样时间的模块

编程用法

模块参数:SampleTime
类型:字符串标量或字符向量
默认值:"-1"

数据类型

若要求所有模块输入和输出具有相同的数据类型,请选中此复选框。清除此复选框后,输入和输出可以具有不同数据类型。

编程用法

模块参数AllPortsSameDT
类型:字符向量
值:'off' | 'on
默认值:'off'

指定输出数据类型。各选项的意义如下:

  • boolean - 模块输出的数据类型为 boolean

  • 继承: Logical(请参阅配置参数:优化) - 模块使用将逻辑信号实现为布尔数据配置参数指定输出数据类型(请参阅将逻辑信号实现为布尔数据(而不是双精度数据))。

    注意

    此选项支持在 boolean 选项可用之前创建的模型。对于新模型,请使用其他选项之一,首选 boolean

  • fixdt(1,16) - 模块输出具有指定的定点数据类型 fixdt(1,16)

    提示

    数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 the Show data type assistant button。有关详细信息,请参阅使用数据类型助手指定数据类型

  • <data type expression> - 模块输出具有您指定为数据类型表达式的数据类型,例如 Simulink.NumericType

    提示

    要输入内置数据类型(doublesingleint8uint8int16uint16int32uint32),请将表达式用单引号引起来。例如,输入 'double' 而不是 double

编程用法

模块参数OutDataTypeStr
类型:字符向量
值:'Inherit: Logical (see Configuration Parameters: Optimization)' | 'boolean' | 'fixdt(1,16)' | '<data type expression>'
默认值:'boolean'

选择要指定的数据类别。

  • 内置 - 指定内置数据类型。选择内置将启用 boolean

  • 继承 - 指定数据类型的继承规则。选择 inherit 将启用逻辑(请参阅 "配置参数":优化)

  • 定点 - 指定定点数据类型。

  • 表达式 - 指定计算结果为数据类型的表达式。

依存关系

要启用此参数,请点击显示数据类型助手按钮。

为此信号选择数据类型覆盖模式。

  • 当您选择 inherit 时,Simulink 从信号的上下文(即:从 Simulink 中使用该信号的模块、Simulink.Signal 对象或 Stateflow® 图)中继承数据类型覆盖设置。

  • 当您选择 off 时,Simulink 忽略信号上下文的数据类型覆盖设置,并使用为信号指定的定点数据类型。

有关详细信息,请参阅 Simulink 文档中的使用数据类型助手指定数据类型

依存关系

要启用此参数,请将模式设置为内置定点

提示

由于能够关闭单个数据类型的数据类型覆盖,您可以在应用数据类型覆盖时更好地控制模型中的数据类型。例如,您可以使用此选项确保数据类型满足下游模块的要求,而忽略数据类型覆盖设置。

指定您希望定点数据为有符号还是无符号数据。有符号数据可以表示正值和负值,无符号数据只表示正值。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将模式设置为定点

指定存储量化整数的字的位大小。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将模式设置为定点

指定定点数据的定标方法,以避免发生溢出情况并最大限度地减少量化错误。指定整数等效于指定二进制小数点位置并将小数长度设置为 0

依存关系

要启用此参数,请点击显示数据类型助手按钮并将模式设置为定点

模块特性

数据类型

Boolean | double | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出