Extract Bits

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

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

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

  • Extract Bits block

Описание

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

  • Выберите Upper half для вывода половины входных битов, содержащих самый значительный бит. Если во входном сигнале есть нечетное число бит, количество выхода бит задается уравнением

    number of output bits = ceil(number of input bits/2)
  • Выберите Lower half для вывода половины входных битов, содержащих наименьший значащий бит. Если во входном сигнале есть нечетное число бит, количество выхода бит задается уравнением

    number of output bits = ceil(number of input bits/2)
  • Выберите Range starting with most significant bit для вывода определенного количества наиболее значимых битов входного сигнала. Укажите количество самых значащих битов для вывода в параметре Number of bits.

  • Выберите Range ending with least significant bit для вывода определенного количества наименее значимых битов входного сигнала. Задайте количество наименее значимых битов для вывода в параметре Number of bits.

  • Выберите Range of bits для указания последовательности смежных бит входа для вывода в параметре Bit indices. Вы указываете область значений в [start end] формат, и индексы входных бит маркируются непрерывно, начиная с 0 для наименее значимого бита.

Этот блок не сообщает о переносе предупреждений о переполнении во время симуляции. Чтобы сообщить об этих предупреждениях, смотрите Simulink.restoreDiagnostic страница с описанием. Блок сообщает об ошибках из-за переноса при переполнении.

Порты

Вход

расширить все

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

Примечание

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Выход

расширить все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

расширить все

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

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

  • Если вы выбираете Upper half для параметра Bits to extract выход следующий 11011 в двоичном формате.

  • Если вы выбираете Lower half для параметра Bits to extract выход следующий 11001 в двоичном формате.

  • Если вы выбираете Range starting with most significant bit для параметра Bits to extract и задайте 3 для параметра Number of bits выход следующий 110 в двоичном формате.

  • Если вы выбираете Range ending with least significant bit для параметра Bits to extract и задайте 8 для параметра Number of bits выход следующий 10111001 в двоичном формате.

  • Если вы выбираете Range of bits для параметра Bits to extract и задайте  [4 7] для параметра Bit indices выход следующий 1011 в двоичном формате.

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

Параметры блоков: bitsToExtract
Тип: Вектор символов
Значения: 'Upper half' | 'Lower half' | 'Range starting with most significant bit' | 'Range ending with least significant bit' | 'Range of bits'
По умолчанию: 'Upper half'

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

Зависимости

Чтобы включить этот параметр, установите Bits to extract равным Range starting with most significant bit или Range ending with least significant bit.

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

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

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

Зависимости

Чтобы включить этот параметр, установите Bits to extract равным Range of bits.

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

Параметры блоков: bitIdxRange
Тип: Вектор символов
Значения: смежная область значений
По умолчанию: '[0 7]'

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

  • Когда вы выбираете Preserve fixed-point scalingмасштабирование с фиксированной точкой входа используется для определения масштабирования выхода во время преобразования типа данных.

  • Когда вы выбираете Treat bit field as an integerмасштабирование входных входов с фиксированной точкой игнорируется, и для вычисления типа выходных данных используется только сохраненное целое число.

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

Параметры блоков: outScalingMode
Тип: Вектор символов
Значения: 'Preserve fixed-point scaling' | 'Treat bit field as an integer'
По умолчанию: 'Preserve fixed-point scaling'

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

Типы данных

Boolean | double | fixed point | integer | single

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

yes

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

yes

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

no

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

no

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

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

.

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

.

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

См. также

| |

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