exponenta event banner

Побитовый оператор

Указанная побитовая операция на входах

  • Библиотека:
  • Операции Simulink/Logic и Bit

    Кодер HDL/логические и битовые операции

  • Bitwise Operator block

Описание

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

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

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

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

Порты

Вход

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

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

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

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

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

Типы данных: 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

НИ

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

XOR

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

НЕТ

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

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

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

Выберите для использования битовой маски. Снятие этого флажка включает параметр Number of input ports и отключает Bit Mask и Treat mask as.

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

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

Укажите количество входов. Имеется несколько портов ввода.

Зависимость

Снятие флажка Use bit mask включает параметр Number of input ports и отключает Bit Mask и Treat mask as.

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

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

Укажите битовую маску, которая будет связана с одним входом. Этот параметр считывает значения как шестнадцатеричные значения.

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

Чтобы выполнить...Установите для параметра Operator значение...И создать маску с...
Битовый наборИЛИ1 для каждого соответствующего входного бита, которому необходимо присвоить значение 1;
Бит чистыйИ0 для каждого соответствующего входного бита, для которого необходимо установить значение 0;
Бит получитьИA 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, как описано в разделе Масштабирование (Конструктор фиксированных точек) в документации по 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™

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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