exponenta event banner

Разделение на постоянные оптимизированные ЛПВП

Деление ввода на константу и округление до целого числа и создание оптимизированного кода HDL

  • Библиотека:
  • Поддержка HDL/математические операции конструктора фиксированных точек

  • Divide by Constant HDL Optimized block

Описание

Блок Divide by Constant HDL Optimized выводит результат деления входного сигнала на константу и округляет результат до целого числа с использованием указанного метода округления с использованием архитектуры, оптимизированной для HDL, с запаздыванием «cycle-true».

В блоке «Деление на константу, оптимизированную для HDL» используется алгоритм, функционально аналогичный методу Гранлунда-Монтгомери-Уоррена. Операция деления вычисляется посредством умножения на обратное, что обычно приводит к лучшей производительности встроенных систем.

Порты

Вход

развернуть все

Деление, указанное как действительный скаляр.

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

Является ли ввод допустимым, указывается как логический скаляр. Этот управляющий сигнал указывает, когда данные из входного порта X являются действительными. Когда это значение равно 1 (true), блок захватывает значение на входном порту X. Когда это значение равно 0 (false), блок игнорирует входные выборки.

Типы данных: Boolean

Продукция

развернуть все

Результат операции деления и округления, возвращаемый как скаляр.

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

Являются ли выходные данные допустимыми, возвращается как логический скаляр. Если значение этого управляющего сигнала равно 1 (true), блок успешно рассчитал выходной сигнал Y. Если это значение равно 0 (false), выходные данные недопустимы.

Типы данных: Boolean

Параметры

развернуть все

Делитель, заданный как положительный действительный конечный скаляр.

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

Параметр блока: Denominator
Текст: символьный вектор
Значения: выражение MATLAB ®, которое вычисляет положительное, вещественное, конечное фиксированное или числовое значение
По умолчанию: '10'

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

Используемый метод округления, указанный как одно из следующих значений:

  • Floor - Округлить до ближайшего целого в направлении отрицательной бесконечности.

  • Ceiling - Округлить до ближайшего целого в направлении положительной бесконечности.

  • Nearest - Округлить до ближайшего целого числа. Галстуки округляются до ближайшего целого числа в направлении положительной бесконечности.

  • Zero - Округлить до ближайшего целого числа в направлении нуля.

  • Convergent - Округлить до ближайшего целого числа. Галстуки округляются до ближайшего чётного целого числа.

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

Параметр блока: RndMeth
Текст: символьный вектор
Значения: 'Floor' | 'Ceiling' | 'Nearest' | 'Zero' | 'Convergent'
По умолчанию: 'Floor'

Совет

Блоки Divide by Constant HDL Optimized, Real Divide HDL Optimized и Complex Divide HDL Optimized выполняют операцию разделения и генерируют оптимизированный код HDL.

  • Оптимизация реального разделения HDL и оптимизация комплексного разделения HDL основаны на алгоритме CORIDC. Эти блоки принимают широкий спектр входных данных, но приводят к большей задержке.

  • Деление на постоянный HDL Optimized принимает только вещественные входные данные и постоянный делитель. Использование этого блока потребляет фрагменты DSP, но завершит операцию разделения за меньшее количество циклов и с более высокой тактовой частотой.

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

.
Представлен в R2021a