Умножьтесь - добавляет объединенная операция
HDL Coder / Операции HDL
Блок Multiply-Add вычисляет продукт первых двух входных параметров, a и b, и добавляет результат в третий вход, c. Входные параметры могут быть векторами или скалярами.
Операция умножения является полной точностью, независимо от выходного типа. Integer rounding mode, Output data type и настройки Saturate on integer overflow применяются только к операции сложения.
Использование, которое блок Multiply-Add, чтобы сопоставить объединенное умножает - добавляет, или умножение - вычитают операцию к модулю DSP в вашем целевом компьютере. Можно выбрать установку Function в диалоговом окне Block Parameters для блока Multiply-Add.
Чтобы сопоставить с модулем DSP, задайте SynthesisTool
свойство для вашей модели. Когда вы генерируете HDL-код для своей модели, HDL Coder™ конфигурирует умножение - добавляет операция так, чтобы ваш инструмент синтеза мог сопоставить с модулем DSP.
Некоторые модули DSP не имеют умножения - добавляет возможность. Чтобы видеть, имеет ли ваше оборудование умножение - добавляют возможность, обращаются к документации для оборудования.
Блок 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 (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.
Для получения дополнительной информации смотрите Типы данных Управляющего сигнала (Simulink).
Задайте округляющийся режим для операций фиксированной точки.
Значение по умолчанию:
Floor
Ceiling
Округляет положительные и отрицательные числа к положительной бесконечности. Эквивалентный ceil
MATLAB функция.
Convergent
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к самому близкому даже целое число. Эквивалентный convergent
Fixed-Point Designer™ функция.
Floor
Округляет положительные и отрицательные числа к отрицательной бесконечности. Эквивалентный floor
MATLAB функция.
Nearest
Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к положительной бесконечности. Эквивалентный Fixed-Point Designer nearest
функция.
Round
Номер раундов к самому близкому представимому значению. Если связь происходит, округляет положительные числа к положительной бесконечности и округляет отрицательные числа к отрицательной бесконечности. Эквивалентный Fixed-Point Designer round
функция.
Simplest
Принимает решение между округлением к полу и округлением к нулю сгенерировать округление кода, который максимально эффективен.
Zero
Номер раундов к нулю. Эквивалентный fix
MATLAB функция.
Смотрите Специфичные для блока Параметры (Simulink) для получения информации о командной строке.
Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Задайте, насыщает ли переполнение.
Значение по умолчанию: 'off'
Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных.
Например, переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщать к-128 или 127.
Переполнение переносится к соответствующему значению, которое может представлять тип данных.
Например, номер 130 не помещается в 8-битное целое число со знаком и переносится к-126.
Рассмотрите установку этого флажка, когда ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде.
Полагайте, что снятие этого флажка, когда это необходимо, оптимизирует КПД вашего сгенерированного кода.
Снятие этого флажка также помогает вам постараться не чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Ошибки Диапазона сигнала Поиска и устранения неисправностей (Simulink).
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, не только выходу или результату.
В общем случае процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщения.
Параметр: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значение:
'off' | 'on' |
Значение по умолчанию:
'off' |