Заданная битовая операция на входных параметрах
Simulink / Логика и Битовые операции
HDL Coder / Логика и Битовые операции
Блок Bitwise Operator выполняет битовую операцию, которую вы задаете на одном или нескольких операндах. В отличие от логических операций блока Logical Operator, битовые операции обрабатывают операнды как вектор битов, а не одного значения.
Блок Bitwise Operator не поддерживает операции сдвига. Для операций сдвига используйте блок Shift Arithmetic.
Когда сконфигурировано как логический элемент мультивхода XOR, этот блок выполняет по модулю 2 сложения согласно Стандарту IEEE® для Логических Элементов.
Port_1
— Входной сигналВходной сигнал в виде скаляра или вектора.
НЕ оператор принимает только один вход, который может быть скаляром или вектором. Если вход является вектором, выход является вектором, одного размера содержащий поразрядные логические дополнения элементов входного вектора.
Для одного векторного входа блок применяет операцию (кроме НЕ оператора) ко всем элементам вектора.
Для двух или больше входных параметров блок выполняет операцию между всеми входными параметрами. Если входные параметры являются векторами, блок выполняет операцию между соответствующими элементами векторов, чтобы произвести векторный выход.
Типы данных: 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 |
NOR | 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
— Битовая маска, чтобы сопоставить с одним входомЗадайте битовую маску, чтобы сопоставить с одним входом. Этот параметр читает значения как шестнадцатеричные значения.
Можно использовать битовую маску, чтобы установить, добраться, или очиститься немного на входе.
Выполнять... | Установите параметр Оператора на... | И создайте немного маски с... |
---|---|---|
Bitset | ИЛИ | 1 для каждого соответствующего входного бита, который вы хотите установить на 1 |
Ясный бит | И | 0 для каждого соответствующего входного бита, который вы хотите установить на 0 |
Bitget | И | 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
, как описано в Масштабирующемся (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
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.