Bitwise Operator

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

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

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

  • Bitwise Operator block

Описание

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

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

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

При конфигурировании как логического элемента 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'

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

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

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

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

Зависимость

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

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

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

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

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

Чтобы выполнить...Установите параметр Operator на...И создать немного маски с...
БитИЛИ1 для каждого соответствующего входного бита, который вы хотите задать равным 1
Битовая очисткаИ0 для каждого соответствующего входного бита, который вы хотите задать равным 0
Bit getИ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, как описано в Scaling (Fixed-Point Designer) в документации по Fixed-Point Designer™. Real World Value рассматривает маску как V. Stored Integer рассматривает маску как Q.

Зависимость

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

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

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

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

Типы данных

Булев[a] | fixed point | integer

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

no

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

yes

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

no

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

no

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

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

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

.

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

.

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

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