Умножение-добавление комбинированной операции
Операции HDL-кодера/HDL
Блок Multiply-Add вычисляет продукт первых двух входов, a и b, и добавляет результат к третьему входу, c. Входами могут быть векторы или скаляры.
Операция умножения является полной точностью, независимо от типа выхода. Настройки Integer rounding mode, Output data type и Saturate on integer overflow применяются только к операции сложения.
Используйте блок Multiply-Add, чтобы сопоставить комбинированную операцию умножения-сложения или умножения-вычитания с модулем DSP в вашем целевом компьютере. Можно выбрать настройку Function в диалоговом окне Параметров блоков для блока Multiply-Add.
Чтобы сопоставить с модулем DSP, задайте SynthesisTool
свойство для вашей модели. Когда вы генерируете HDL-код для вашей модели, HDL- Coder™ конфигурирует операцию multiply-add, чтобы инструмент синтеза мог сопоставить с модулем DSP.
Примечание
Некоторые модули DSP не имеют возможности умножения-добавления. Чтобы увидеть, имеет ли ваше оборудование возможность multiply-add, обратитесь к документации по оборудованию.
Блок Multiply-Add принимает и выводит сигналы типа числовых данных, которые Simulink® поддерживает, включая типы данных с фиксированной точкой.
Можно использовать матричные типы данных с блоком Multiply-Add. Когда вы используете эти типы, размерности портов входов a
и b
должен совпадать. Для примера в MATLAB®можно выполнить следующие матричные операции:
a = [1 2; 3 4]; b = [5; 6]; c = 7; c + (a.*b)
ans = 12 17 25 31
Error in port widths or dimensions
.Смотрите типы данных, поддерживаемые Simulink.
Задайте функцию для выполнения комбинированного умножения и сложения или операции умножения и вычитания.
По умолчанию:
c+(a.*b)
Можно задать функцию на:
c+(a.*b)
c-(a.*b)
(a.*b)-c
Задайте тип выходных данных.
По умолчанию:
Inherit: Inherit via internal rule
Установите тип выходных данных:
Правило, которое наследует тип данных, например Inherit: Same as input
Выражение, которое вычисляет допустимый тип данных, например fixdt([],16,0)
Нажмите кнопку Show data type assistant, чтобы открыть диалоговое окно Data Type Assistant, которое помогает вам задать параметр Output data type.
Для получения дополнительной информации см. «Типы данных сигналов управления».
Задайте режим округления для операций с фиксированной точкой.
По умолчанию:
Floor
Ceiling
Округлает положительные и отрицательные числа к положительной бесконечности. Эквивалентно MATLAB ceil
функция.
Convergent
Округлить число до ближайшего представимого значения. Если происходит связывание, округляет до ближайшего четного целого числа. Эквивалентно Fixed-Point Designer™ convergent
функция.
Floor
Округлает положительные и отрицательные числа к отрицательной бесконечности. Эквивалентно MATLAB floor
функция.
Nearest
Округлить число до ближайшего представимого значения. Если происходит галстук, округляет к положительной бесконечности. Эквивалентен Fixed-Point Designer nearest
функция.
Round
Округлить число до ближайшего представимого значения. Если происходит связывание, округляет положительные числа к положительной бесконечности и округляет отрицательные числа к отрицательной бесконечности. Эквивалентен Fixed-Point Designer round
функция.
Simplest
Выбирает между округлением к полу и округлением к нулю, чтобы сгенерировать код округления, который максимально эффективен.
Zero
Число округлений к нулю. Эквивалентно MATLAB fix
функция.
Информацию о командной строке см. в разделе Параметры.
Для получения дополнительной информации см. Раздел Округление.
Укажите, насыщаются ли переполнения.
По умолчанию: Off
Переполнения достигает минимального или максимального значения, которое может представлять тип данных.
Для примера переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщаться до -128 или 127.
Переполнения переходят к соответствующему значению, которое может представлять тип данных.
Для примера число 130 не помещается в 8-разрядное целое число со знаком и переносами к -126.
Рассмотрите выбор этого флажка, когда ваша модель имеет возможное переполнение, и вы хотите явную защиту от насыщения в сгенерированном коде.
Рассмотрите снятие этого флажка, когда вы хотите оптимизировать эффективность вашего сгенерированного кода.
Снятие этого флажка также помогает вам избежать переопределения того, как блок обрабатывает сигналы вне области допустимого. Для получения дополнительной информации смотрите Поиск и устранение ошибок диапазона сигнала.
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, а не только к выходу или результату.
В целом процесс генерации кода может обнаружить, когда переполнение невозможно. В этом случае генератор кода не производит код насыщения.
Параметр: SaturateOnIntegerOverflow |
Тип: Вектор символов |
Значение:
'off' | 'on' |
По умолчанию:
'off'
|