Bitwise Operator
对输入执行指定的按位运算

库:
Simulink /
Logic and Bit Operations
HDL Coder /
Logic and Bit Operations
描述
Bitwise Operator 模块执行您为一个或多个操作数指定的按位运算。与 Logical Operator 模块的逻辑运算不同的是,按位运算将操作数视为位向量,而不是单个值。
对模块运算的限制
Bitwise Operator 模块不支持移位运算。对于移位运算,请使用 Shift Arithmetic 模块。
当配置为多输入 XOR 门时,此模块将按照 IEEE® 逻辑元素标准的规定执行模 2 加法。
示例
端口
输入
Port_1 — 输入信号
标量 | 向量
输入信号,指定为标量或向量。
NOT 运算符仅接受一个输入,该输入可以是标量也可以是向量。如果输入为向量,则输出为相同大小的向量,其中包含输入向量元素的按位逻辑补码。
对于单个向量输入,模块会将运算(除 NOT 运算符外)应用于向量的所有元素。
对于两个或更多输入,模块将在所有输入之间执行运算。如果输入为向量,模块将在对应的向量元素之间执行运算以生成向量输出。
数据类型: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
输出
Port_1 — 输出信号
标量 | 向量
指定为输出数据类型的输出信号,模块从驱动模块继承该输出数据类型,且该数据类型必须准确表示零。满足此条件的数据类型包括有符号整数和无符号整数数据类型。
模块输出的大小取决于输入的数量、向量大小以及您选择的运算符。如果您不指定位掩码,则输出为标量。如果您指定位掩码,则输出为向量。
数据类型: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
参数
运算符 — 按位逻辑运算符
AND (默认) | OR | NOR | NAND | XOR | NOT
为模块操作数指定按位逻辑运算符。
您可以选择以下按位运算之一:
按位运算 | 描述 |
---|---|
AND | 如果对应的位全部为 TRUE,则为 TRUE |
OR | 如果至少一个对应的位为 TRUE,则为 TRUE |
NAND | 如果至少一个对应的位为 FALSE,则为 TRUE |
NOR | 如果没有对应的位为 TRUE,则为 TRUE |
XOR | 如果有奇数个对应位为 TRUE,则为 TRUE |
NOT | 如果输入为 FALSE,则为 TRUE(仅适用于单个输入) |
编程用法
模块参数:logicop |
类型:字符向量 |
值:'AND' |'OR' |'NAND' |'NOR' |'XOR' | 'NOT' |
默认值:'AND' |
使用位掩码 — 选择使用位掩码
选中 (默认) | 未选中
选择要使用位掩码。清除此复选框将启用输入端口数目并禁用位掩码和将掩码视为。
编程用法
模块参数:UseBitMask |
类型:字符向量 |
值:'off' |'on' |
默认值:'on' |
输入端口数目 — 输入信号的数量
1 (默认) | 整数
指定输入的数量。您可以有多个输入端口。
依存关系
清除使用位掩码复选框将启用输入端口数目并禁用位掩码和将掩码视为。
编程用法
模块参数:NumInputPorts |
类型:字符向量 |
值:正整数 |
默认值:'1' |
位掩码 — 要与单个输入关联的位掩码
bin2dec (默认)
指定要与单个输入关联的位掩码。此参数将值读取为十六进制值。
您可以使用位掩码设置、获取或清除输入位。
要执行... | 将 Operator 参数设置为... | 并按此方式创建位掩码... |
---|---|---|
位设置 | OR | 对您要设置为 1 的每个对应的输入位使用 1 |
位清除 | AND | 对您要设置为 0 的每个对应的输入位使用 0 |
位获取 | AND | 对您要获取的每个对应的输入位使用 1 |
假设您要设置 8 位输入向量的第四位。位掩码将为 00010000,对于位掩码参数,您可以将其指定为 2^4
。要清除该位,位掩码将为 11101111,对于位掩码参数,您可以将其指定为 2^7+2^6+2^5+2^3+2^2+2^1+2^0
。
提示
不要使用大于 53 位的掩码。否则,仿真过程中将出现错误消息。
依存关系
仅当您选择使用位掩码时,此参数才可用。
编程用法
模块参数:BitMask |
类型:字符向量 |
值:正整数 |
默认值:'bin2dec('11011001')' |
将掩码视为 — 将掩码视为真实值还是存储的整数
“存储的整数
” (默认) | “真实值
”
指定将掩码视为真实值还是存储的整数。
编码方案是 V
= SQ
+ B
,如 Fixed-Point Designer™ 文档中的定标 (Fixed-Point Designer)部分所述。“真实值
”将掩码视为 V
。“存储的整数
”将掩码视为 Q
。
依存关系
仅当您选择使用位掩码时,此参数才可用。
编程用法
模块参数:BitMaskRealWorld |
类型:字符向量 |
值:'Real World Value' | 'Stored Integer' |
默认值:'Stored Integer' |
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 Verilog 代码和 VHDL 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
此模块具有一个默认 HDL 架构。
ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线处理不会重新分发这些寄存器。默认值为 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线处理和受限输出流水线处理可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线处理和受限输出流水线处理可以移动这些寄存器。默认值为 |
PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)