Документация Engee

Bitwise Operator

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

bitwise operator

Описание

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

Значок блока меняется в зависимости от выбранной в параметре Operator операции.

Количество входных портов блока задается параметром Number of input ports.

Ограничения операций с блоком

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

Порты

Вход

Port_N — входной сигнал
скаляр | вектор | матрица

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

Количество входных портов блока задается параметром Number of input ports.

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

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

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

Типы данных: Integer

Выход

Port_1 — выходной сигнал
скаляр | вектор | матрица

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

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

Типы данных: Integer

Параметры

Operator — побитовый логический оператор
AND (по умолчанию) | OR | NOR | NAND | XOR | NOT

Побитовый логический оператор для блочных операндов. Доступны следующие побитовые операции:

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

AND

true, если все соответствующие биты true

OR

true, если хотя бы один из соответствующих битов true

NAND

true, если хотя бы один из соответствующих битов false

NOR

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

XOR

true, если нечетное количество соответствующих битов true

NOT

true, если вход false (доступно только для одного входа)

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

Параметр блока

logicop

Значения

AND | OR | NOR | NAND | XOR | NOT

По умолчанию

AND

Use bit mask — флажок для использования битовой маски
включено (по умолчанию) | выключено

Установите флажок, чтобы использовать битовую маску.

Установка этого флажка ведет к тому, что параметр Number of input ports отключается.

Снятие флажка приводит к отключению параметра Bit Mask.

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

Параметр блока

UseBitMask

Значения

выключено | включено

По умолчанию

включено

Number of input ports — количество входных сигналов
1 (по умолчанию) | целое число

Количество входов. Может быть более одного входного порта.

Зависимости

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

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

Параметр блока

NumInputPorts

Значения

целое число

По умолчанию

1

Bit Mask — битовая маска для связи с одним входом
0b11011001 (по умолчанию)

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

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

Чтобы выполнить…​ Установите для параметра Оператор значение…​ И создайте битовую маску с…​

Bit set

OR

1 для каждого соответствующего входного бита, который вы хотите установить в 1

Bit clear

AND

0 для каждого соответствующего входного бита, который вы хотите установить в 0

Bit get

AND

1 для каждого соответствующего входного бита, который вы хотите получить

Предположим, вы хотите установить четвертый бит 8-битного входного вектора. Битовая маска будет 00010000, которую вы можете указать как 2^4 для параметра Bit Mask. Чтобы очистить бит, используйте битовую маску 11101111, которую вы можете указать как 27+26+25+23+22+21+2^0 для параметра Bit Mask.

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

Параметр блока

BitMask

Значения

целое число

По умолчанию

0b11011001

Дополнительные возможности

Генерация Си кода: Да