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

Извлечение битов

Вывод выборки последовательных битов из входного сигнала.

Тип: Extract Bits

Путь в библиотеке:

/Basic/Logic and Bit Operations/Extract Bits

Описание

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

Значения для выбора в параметре Извлекаемые биты:

  • Верхняя половина — вывод половины входных битов, содержащих старший бит.

  • Нижняя половина — вывод половины входных битов, содержащих наименьший значащий бит.

  • Диапазон начинается со старшего бита — вывод определенного количества старших битов входного сигнала, количество битов задается в параметре Количество битов.

  • Диапазон заканчивается на младшем бите — вывод определенного количества младших значащих битов входного сигнала, количество битов задается в параметре Количество битов.

  • Диапазон битов — при выборе этого значения необходимо указать диапазон последовательных битов входного сигнала для вывода. Диапазон значений задается в параметре Индексы битов в формате [start, end], и индексы входных битов маркируются последовательно, начиная с 0 для наименее значимого бита.

Порты

Вход

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

Details

Входной сигнал, заданный в виде скаляра, вектора, матрицы или -мерного массива. Входные данные с плавающей точкой проходят через блок без изменений. Входные данные типа Bool рассматриваются как данные типа UInt8.

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

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Выход

# OUT_1 — извлеченные биты
скаляр | вектор | матрица | N-мерный массив

Details

Последовательная выборка извлеченных битов, заданная в виде скаляра, вектора, матрицы или N-мерного массива. Входные данные с плавающей точкой проходят через блок без изменений.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Параметры

Основные

# Извлекаемые биты — метод извлечения битов
Верхняя половина | Нижняя половина | Диапазон начинается со старшего бита | Диапазон заканчивается на младшем бите | Диапазон битов

Details

Выберите метод извлечения битов из входного сигнала.

Рассмотрим входной сигнал, который в двоичном виде представлен 110111001:

  • Если выбрано значение Верхняя половина — вывод половины входных битов, содержащих старший бит, то на выходе будет 11011 в двоичном виде.

  • Если выбрано значение Нижняя половина — вывод половины входных битов, содержащих наименьший значащий бит, то на выходе будет 11001 в двоичном виде.

  • Если выбрано значение Диапазон начинается со старшего бита — вывод определенного количества старших битов входного сигнала, а количество битов в параметре Количество битов задано 3, то на выходе будет 110 в двоичном виде.

  • Если выбрано значение Диапазон заканчивается на младшем бите — вывод определенного количества младших значащих битов входного сигнала, а количество битов в параметре Количество битов задано 8, то на выходе будет 10111001 в двоичном виде.

  • Если выбрано значение Диапазон битов и указан ряд [4, 7] смежных битов входного сигнала для вывода в параметре Индексы битов, то на выходе получится 1011 в двоичном виде.

Значения

Upper half | Lower half | Range starting with most significant bit | Range ending with least significant bit | Range of bits

Значение по умолчанию

Upper half

Имя для программного использования

bitsToExtract

Настраиваемый

Нет

Вычисляемый

Нет

# Количество битов — количество битов для вывода
Целое число типа Int64

Details

Выберите количество битов для вывода из входного сигнала. Целые числа со знаком должны иметь не менее двух битов. Целые числа без знака могут иметь не более одного бита.

Зависимости

Чтобы использовать этот параметр, установите для параметра Извлекаемые биты значение Диапазон начинается со старшего бита или Диапазон заканчивается на младшем бите.

Значение по умолчанию

8

Имя для программного использования

numBits

Настраиваемый

Нет

Вычисляемый

Да

# Индексы битов — диапазон последовательных битов для вывода

Details

Укажите диапазон битов входного сигнала для вывода в формате [start, end]. Индексы присваиваются входным битам, начиная с 0 в наименее значимом бите.

Зависимости

Чтобы использовать этот параметр, установите для параметра Извлекаемые биты значение Диапазон битов.

Значение по умолчанию

[0, 7]

Имя для программного использования

bitIdxRange

Настраиваемый

Нет

Вычисляемый

Да

# Режим масштабирования выходных данных — режим масштабирования выходных данных
Масштабирование входных данных в виде фиксированной точки | Обрабатывать биты как целые числа

Details

Выберите режим масштабирования, который будет использоваться для выбора выходных битов:

  • Масштабирование входных данных в виде фиксированной точки — масштабирование входных данных с фиксированной точкой используется для определения масштабирования на выходе во время преобразования типа данных.

  • Обрабатывать биты как целые числа — масштабирование входных данных с фиксированной точкой игнорируется, а для вычисления типа выходных данных используется только сохраненное целое число.

Значения

Preserve fixed-point scaling | Treat bit field as an integer

Значение по умолчанию

Preserve fixed-point scaling

Имя для программного использования

outScalingMode

Настраиваемый

Нет

Вычисляемый

Нет