Bitwise Operator
Заданная побитовая операция над входными сигналами.
Описание
Блок Bitwise Operator выполняет заданную побитовую операцию для одного или нескольких операндов. В отличие от логических операций блока Logical Operator, побитовые операции обрабатывают операнды как вектор битов, а не как одно значение.
Значок блока меняется в зависимости от выбранной в параметре Operator операции.
Количество входных портов блока задается параметром Number of input ports.
Порты
Вход
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 (доступно только для одного входа) |
Параметр блока |
|
Значения |
|
По умолчанию |
|
Use bit mask — флажок для использования битовой маски
включено (по умолчанию)
| выключено
Установите флажок, чтобы использовать битовую маску.
Установка этого флажка ведет к тому, что параметр Number of input ports отключается.
Снятие флажка приводит к отключению параметра Bit Mask.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Number of input ports — количество входных сигналов
1 (по умолчанию)
| целое число
Количество входов. Может быть более одного входного порта.
Зависимости
Снятие флажка Use bit mask включает параметр Number of input ports и отключает параметр Bit Mask.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Bit Mask — битовая маска для связи с одним входом
0b11011001 (по умолчанию)
Задайте битовую маску для связи с одним входом. Этот параметр считывает значения как шестнадцатеричные значения.
Вы можете использовать битовую маску, чтобы установить, посчитать или очистить (обнулить) бит входного сигнала.
Чтобы выполнить… | Установите для параметра Оператор значение… | И создайте битовую маску с… |
---|---|---|
Bit set |
OR |
|
Bit clear |
AND |
|
Bit get |
AND |
|
Предположим, вы хотите установить четвертый бит 8-битного входного вектора. Битовая маска будет 00010000
, которую вы можете указать как 2^4
для параметра Bit Mask. Чтобы очистить бит, используйте битовую маску 11101111
, которую вы можете указать как 27+26+25+23+22+21+2^0
для параметра Bit Mask.
Параметр блока |
|
Значения |
|
По умолчанию |
|