Комбинированная операция умножения-сложения
Кодер ЛПВП/операции ЛПВП

Блок умножения-сложения вычисляет произведение первых двух входов, a и b, и добавляет результат к третьему входу, c. Входами могут быть векторы или скаляры.
Операция умножения имеет полную точность независимо от типа вывода. Параметры Режим округления целых чисел, Тип выходных данных и Насыщение при переполнении целых чисел применяются только к операции сложения.
Блок Multiply-Add используется для отображения комбинированной операции умножения-сложения или умножения-вычитания на блок DSP в целевом оборудовании. Можно выбрать параметр «Функция» в диалоговом окне «Параметры блока» для блока «Умножение-Добавление».
Для сопоставления с блоком DSP укажите SynthesisTool свойство для модели. При создании кода HDL для модели HDL Coder™ настраивает операцию умножения-сложения таким образом, чтобы инструмент синтеза мог сопоставляться с блоком DSP.
Примечание
Некоторые блоки DSP не имеют возможности многократного добавления. Информацию о том, имеет ли аппаратное обеспечение возможность многократного добавления, см. в документации по аппаратному обеспечению.
Блок Multiply-Add принимает и выводит сигналы числового типа, поддерживаемого Simulink ®, включая типы данных с фиксированной точкой.
С блоком «Умножение-Добавление» можно использовать матричные типы данных. При использовании этих типов размеры портов входных данных 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Округляет число до ближайшего представимого значения. Если возникает связь, округляется до ближайшего чётного целого числа. Эквивалентно Designer™ фиксированной точки convergent функция.
FloorОкругляет положительные и отрицательные числа в сторону отрицательной бесконечности. Эквивалентно MATLAB floor функция.
NearestОкругляет число до ближайшего представимого значения. Если возникает галстук, округляется до положительной бесконечности. Эквивалентно конструктору фиксированных точек nearest функция.
RoundОкругляет число до ближайшего представимого значения. Если возникает связь, округляет положительные числа в сторону положительной бесконечности и округляет отрицательные числа в сторону отрицательной бесконечности. Эквивалентно конструктору фиксированных точек round функция.
SimplestВыбор между округлением в сторону пола и округлением в сторону нуля для создания кода округления, который является максимально эффективным.
ZeroОкругляет число до нуля. Эквивалентно MATLAB fix функция.
Дополнительные сведения см. в разделе Округление.
Укажите, будут ли переполнения насыщаться.
По умолчанию: Откл.
Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных.
Например, переполнение, связанное со значащим 8-битным целым числом, может насытиться до -128 или 127.
Переполнение до соответствующего значения, которое может представлять тип данных.
Например, число 130 не помещается в знаковое 8-битовое целое число и переносится в -126.
Рекомендуется установить этот флажок, если модель имеет возможное переполнение и требуется явная защита от насыщения в сгенерированном коде.
Рекомендуется снять этот флажок, если требуется оптимизировать эффективность созданного кода.
Снятие этого флажка также позволяет избежать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов.
Если этот флажок установлен, насыщение применяется ко всем внутренним операциям блока, а не только к выводу или результату.
В общем, процесс генерации кода может обнаруживать, когда переполнение невозможно. В этом случае генератор кода не создает код насыщения.
Параметр: SaturateOnIntegerOverflow |
| Текст: символьный вектор |
Значение:
'off' | 'on' |
По умолчанию:
'off' |