Заданная побитовая операция на входах
Simulink/Логические и битовые операции
HDL-кодер/логика и битовые операции
Блок Bitwise Operator выполняет побитовую операцию, которую вы задаете на одном или нескольких операндах. В отличие от логических операций блока Logical Operator, побитовые операции обрабатывают операнды как вектор бит, а не как одно значение.
Блок Bitwise Operator не поддерживает операции сдвига. Для операций сдвига используйте блок Shift Arithmetic.
При конфигурировании как логического элемента XOR с мультивходами этот блок выполняет сложение по модулю 2 в соответствии с IEEE® Стандарт для логических элементов.
Port_1
- Входной сигналВходной сигнал, заданный как скаляр или вектор.
Оператор NOT принимает только один вход, который может быть скаляром или вектором. Если вход является вектором, выход является вектором того же размера, содержащим побитовые логические дополнения входных векторных элементов.
Для входных входов одного вектора блок применяет операцию (кроме оператора NOT) ко всем элементам вектора.
Для двух или более входов блок выполняет операцию между всеми входами. Если входы являются векторами, блок выполняет операцию между соответствующими элементами векторов, чтобы создать векторный выход.
Типы данных: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Port_1
- Выходной сигналСигнал выхода, заданный как тип данных выходов, который блок наследует от ведущего блока, должен точно нуль представлять. Типы данных, которые удовлетворяют этому условию, включают подписанные и беззнаковые целочисленные типы данных.
Размер выхода блока зависит от количества входов, размера вектора и выбранного оператора. Если вы не задаете битовую маску, выводится скаляр. Если вы задаете битовую маску, выводится вектор.
Типы данных: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Operator
- Побитовый логический оператор Задайте побитовый логический оператор для блочных операндов.
Можно выбрать одну из следующих побитовых операций:
Побитовая операция | Описание |
---|---|
И | TRUE, если все соответствующие биты TRUE |
ИЛИ | TRUE, если хотя бы один из соответствующих бит TRUE |
NAND | TRUE, если хотя бы один из соответствующих бит является FALSE |
НИ | TRUE, если никакие соответствующие биты не TRUE |
XOR | TRUE, если нечетное число соответствующих бит TRUE |
НЕТ | TRUE, если вход FALSE (доступен только для одинарного входа) |
Параметры блоков: logicop |
Тип: Вектор символов |
Значения: 'AND' | 'OR' | 'NAND' | 'NOR' | 'XOR' | 'NOT' |
По умолчанию: 'AND' |
Use bit mask
- Выберите, чтобы использовать битовую маскуВыберите, чтобы использовать битовую маску. Снятие этого флажка включает Количество входа портов и отключает Бит Маска и Обработку маска как.
Параметры блоков: UseBitMask |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'on' |
Number of input ports
- Количество входных сигналовЗадайте количество входов. Можно иметь несколько входных портов.
Снятие флажка Use bit mask включает Количество портов входа и отключает Бит Маска и Обработку маска как.
Параметры блоков: NumInputPorts |
Тип: Вектор символов |
Значения: положительное целое число |
По умолчанию: '1' |
Bit Mask
- Битовая маска для связи с одним входомЗадайте битовую маску для связи с одним входом. Этот параметр читает значения как шестнадцатеричные значения.
Можно использовать битовую маску, чтобы задать, получить или удалить бит на входе.
Чтобы выполнить... | Установите параметр 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')' |
Treat mask as
- Обрабатывайте маску как значение реального мира или сохраненное целое числоStored Integer
(по умолчанию) | Real World Value
Укажите, обрабатывать ли маску как значение реального мира или как сохраненное целое число.
Схема кодирования 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' |
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
Compare To Constant | Compare To Zero | Logical Operator | Shift Arithmetic
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.