Bitwise Operator

Заданная битовая операция на входных параметрах

  • Библиотека:
  • Simulink / Логика и Битовые операции

    HDL Coder / Логика и Битовые операции

Описание

Блок Bitwise Operator выполняет битовую операцию, которую вы задаете на одном или нескольких операндах. В отличие от логических операций блока Logical Operator, битовые операции обрабатывают операнды как вектор битов, а не одного значения.

Ограничения на блочные операции

Блок Bitwise Operator не поддерживает операции сдвига. Для операций сдвига используйте блок Shift Arithmetic.

Когда сконфигурировано как логический элемент мультивхода XOR, этот блок выполняет по модулю 2 сложения согласно Стандарту IEEE® для Логических Элементов.

Порты

Входной параметр

развернуть все

Входной сигнал в виде скаляра или вектора.

  • НЕ оператор принимает только один вход, который может быть скаляром или вектором. Если вход является вектором, выход является вектором, одного размера содержащий поразрядные логические дополнения элементов входного вектора.

  • Для одного векторного входа блок применяет операцию (кроме НЕ оператора) ко всем элементам вектора.

  • Для двух или больше входных параметров блок выполняет операцию между всеми входными параметрами. Если входные параметры являются векторами, блок выполняет операцию между соответствующими элементами векторов, чтобы произвести векторный выход.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Вывод

развернуть все

Выходной сигнал, заданный как выходные данные, вводит, который блок наследовал от ведущего блока, должен представлять нуль точно. Типы данных, которые удовлетворяют этому условию, включают типы данных беззнаковых целых чисел и целое число со знаком.

Размер блока выход зависит от количества входных параметров, размера вектора и оператора, который вы выбираете. Если вы не задаете немного маски, выход является скаляром. Если вы действительно задаете немного маски, выход является вектором.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Параметры

развернуть все

Задайте побитовый логический оператор для операндов блока.

Можно выбрать одну из этих битовых операций:

Битовая операцияОписание

И

TRUE, если соответствующие биты являются всем TRUE

ИЛИ

TRUE, если по крайней мере один из соответствующих битов является TRUE

NAND

TRUE, если по крайней мере один из соответствующих битов является FALSE

NOR

TRUE, если никакие соответствующие биты не являются TRUE

Xor

TRUE, если нечетное число соответствующих битов является TRUE

НЕТ

TRUE, если вход является FALSE (доступный только для одного входа)

Программируемое использование

Параметры блоков: logicop
Ввод: символьный вектор
Значения: 'AND'|'OR' |'NAND'|'NOR' |'XOR' | 'NOT'
Значение по умолчанию: 'AND'

Выберите, чтобы использовать битовую маску. Снятие этого флажка включает Количество входных портов и отключает маску Битовой маски и Обработки как.

Программируемое использование

Параметры блоков: UseBitMask
Ввод: символьный вектор
Значения: 'off'|'on'
Значение по умолчанию: 'on'

Задайте количество входных параметров. У вас может быть больше чем один входной порт.

Зависимость

Снятие флажка Use bit mask включает Количество входных портов и отключает маску Битовой маски и Обработки как.

Программируемое использование

Параметры блоков: NumInputPorts
Ввод: символьный вектор
Значения: положительное целое число
Значение по умолчанию: '1'

Задайте битовую маску, чтобы сопоставить с одним входом.

Можно использовать битовую маску, чтобы установить, добраться, или очиститься немного на входе.

Выполнять...Установите параметр Оператора на...И создайте немного маски с...
BitsetИЛИ1 для каждого соответствующего входного бита, который вы хотите установить на 1
Ясный битИ0 для каждого соответствующего входного бита, который вы хотите установить на 0
BitgetИ1 для каждого соответствующего входного бита, который вы хотите получить

Предположим, что вы хотите установить четвертый бит 8-битного входного вектора. Битовая маска была бы 00010000, который можно задать как 2^4 для параметра Bit Mask. Чтобы очистить бит, битовая маска была бы 11101111, который можно задать как 2^7+2^6+2^5+2^3+2^2+2^1+2^0 для параметра Bit Mask.

Совет

Не используйте маску, больше, чем 53 бита. В противном случае сообщение об ошибке появляется в процессе моделирования.

Зависимость

Этот параметр доступен только, когда вы выбираете Use bit mask.

Программируемое использование

Параметры блоков: BitMask
Ввод: символьный вектор
Значения: положительное целое число
Значение по умолчанию: 'bin2dec('11011001')'

Задайте, обработать ли маску как реальное значение или сохраненное целое число.

Схемой кодирования является V = SQ + B, как описано в Масштабирующемся (Fixed-Point Designer) в документации Fixed-Point Designer™. Real World Value обрабатывает маску как V. Stored Integer обрабатывает маску как Q.

Зависимость

Этот параметр доступен только, когда вы выбираете Use bit mask.

Программируемое использование

Параметры блоков: BitMaskRealWorld
Ввод: символьный вектор
Значения: 'Real World Value' | 'Stored Integer'
Значение по умолчанию: 'Stored Integer'

Характеристики блока

Типы данных

Boolean[a] | fixed point | integer

Прямое сквозное соединение

no

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

[a]  Битовые операции не рекомендуются для использования с булевыми сигналами.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Представлено до R2006a