exponenta event banner

Разделиться

Делить один вход на другой

  • Библиотека:
  • Операции с симуляцией/математикой

    Кодер HDL/Операции с плавающей точкой HDL

    Кодер HDL/Математические операции

  • Divide block

Описание

Блок «Разделить» выдает результат деления своего первого входа на второй. Входами могут быть скаляры, скаляр и нескаляр, или два нескаляра, имеющие одинаковые размеры. Этот блок поддерживает только сложные входные значения в портах разделения, когда все порты имеют один или два типа данных.

Блок разделения функционально является блоком продукта, который имеет два предварительно заданных значения параметров блока:

  • Умножение - Element-wise(.*)

  • Количество входов - */

Установка значений по умолчанию для любого из этих параметров может изменить блок разделения на функциональный эквивалент блоку изделия или блоку изделия элементов.

Порты

Вход

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

Входной сигнал, умножаемый на другие входы.

Зависимости

Чтобы включить один или несколько портов X, укажите один или несколько * символы параметра Number of inputs.

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

Входной сигнал для операций деления или инверсии.

Зависимости

Чтобы включить один или несколько, укажите один или несколько / символы параметра Number of inputs.

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

Первый вход для умножения или деления, предоставляемый в виде скаляра, вектора, матрицы или N-D массива.

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

N-ый вход для умножения или деления, предоставляемый в виде скаляра, вектора, матрицы или N-D массива.

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

Продукция

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

Выходные данные вычисляются путем умножения, деления или инвертирования входных данных.

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

Параметры

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

Главный

Управление двумя свойствами блока:

  • Количество входных портов в блоке

  • Умножается ли каждый вход или делится на выход

При указании:

  • 1 или * или /

    Блок имеет один входной порт. В элементном режиме блок обрабатывает входные данные, как описано для блока «Изделие элементов». В матричном режиме, если значение параметра равно 1 или *блок выводит входное значение. Если значение равно /, вход должен быть квадратной матрицей (включая скаляр как вырожденный случай), и блок выводит матрицу обратно. Дополнительные сведения см. в разделах Режим по элементам и Режим матрицы.

  • Целое значение > 1

    Блок имеет количество входов, задаваемое целочисленным значением. Входные данные умножаются вместе в элементном или матричном режиме, как определено параметром умножения. Дополнительные сведения см. в разделах Режим по элементам и Режим матрицы.

  • Строка без кавычек из двух или более * и / персонажи

    Блок имеет количество входов, задаваемое длиной символьного вектора. Каждый вход, который соответствует * символ умножается на вывод. Каждый вход, который соответствует / символ делится на выходные данные. Операции выполняются в режиме элементов или матричном режиме, как определено параметром Multiplication. Дополнительные сведения см. в разделах Режим по элементам и Режим матрицы.

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

Параметр блока: Inputs
Текст: символьный вектор
Значения: '2' | '*' | '**' | '*/' | '*/*' | ...
По умолчанию: '*/'

Укажите, выполняет ли блок Element-wise(.*) или Matrix(*) умножение.

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

Параметр блока: Multiplication
Текст: символьный вектор
Значения: 'Element-wise(.*)' | 'Matrix(*)'
По умолчанию: 'Element-wise(.*)'

Укажите размер для умножения как All dimensions, или Specified dimension. При выборе Specified dimension, можно указать размер как 1 или 2.

Зависимости

Чтобы включить этот параметр, задайте для параметра Количество входов значение * и умножение до Element-wise (.*).

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

Параметр блока: CollapseMode
Текст: символьный вектор
Значения: 'All dimensions' | 'Specified dimension'
По умолчанию: 'All dimensions'

Укажите размер для умножения как целое число, меньшее или равное числу размеров входного сигнала.

Зависимости

Чтобы включить этот параметр, установите:

  • Количество входов в *

  • Умножение до Element-wise (.*)

  • Умножить на Specified dimension

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

Параметр блока: CollapseDim
Текст: символьный вектор
Значения: '1' | '2' | ...
По умолчанию: '1'

Укажите время выборки в качестве значения, отличного от -1. Дополнительные сведения см. в разделе Указание времени образца.

Зависимости

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

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

Параметр блока: SampleTime
Текст: символьный вектор
Значения: скаляр или вектор
По умолчанию: '-1'

Атрибуты сигнала

Укажите, должны ли входные сигналы иметь одинаковый тип данных. Если этот параметр включен, то при моделировании возникает ошибка, если типы входных сигналов отличаются.

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

Параметр блока: InputSameDT
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Меньшее значение диапазона вывода, которое проверяет Simulink ®.

Simulink использует минимум для выполнения:

Примечание

Минимальный выходной сигнал не насыщает и не отсекает фактический выходной сигнал. Вместо этого используйте блок «Насыщенность».

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

Параметр блока: OutMin
Текст: символьный вектор
Значения: '[ ]'| скаляр
По умолчанию: '[ ]'

Верхнее значение диапазона вывода, которое проверяет Simulink.

Simulink использует максимальное значение для выполнения:

Примечание

Выходной максимум не насыщает и не отсекает фактический выходной сигнал. Вместо этого используйте блок «Насыщенность».

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

Параметр блока: OutMax
Текст: символьный вектор
Значения: '[ ]'| скаляр
По умолчанию: '[ ]'

Выберите тип данных для вывода. Тип может быть унаследован, указан непосредственно или выражен как объект типа данных, например Simulink.NumericType. Дополнительные сведения см. в разделе Типы данных управляющих сигналов.

При выборе унаследованной опции блок ведет себя следующим образом:

  • Inherit: Inherit via internal rule - Simulink выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, принимая во внимание свойства встроенного целевого оборудования. При изменении параметров встроенного целевого объекта тип данных, выбранный внутренним правилом, может измениться. Например, если блок умножает вход типа int8 на выигрыш в размере int16 и ASIC/FPGA указан как целевой тип аппаратных средств, тип выходных данных: sfix24. Если Unspecified (assume 32-bit Generic)другими словами, общий 32-разрядный микропроцессор, указывается в качестве целевого аппаратного обеспечения, тип выходных данных - int32. Если длина слов, обеспечиваемая целевым микропроцессором, не может соответствовать диапазону вывода, программное обеспечение Simulink отображает ошибку в средстве просмотра диагностики.

    Программное обеспечение не всегда может оптимизировать эффективность кода и числовую точность одновременно. Если внутреннее правило не соответствует конкретным требованиям к числовой точности или производительности, используйте один из следующих вариантов:

    • Явно укажите тип выходных данных.

    • Используйте простой выбор Inherit: Same as input.

    • Явно укажите тип данных по умолчанию, например fixdt(1,32,16) а затем с помощью инструмента «Фиксированная точка» предложите типы данных для модели. Дополнительные сведения см. в разделе fxptdlg (Конструктор фиксированных точек).

    • Чтобы указать собственное правило наследования, используйте Inherit: Inherit via back propagation а затем используйте блок распространения типа данных. Примеры использования этого блока доступны в блоке Примеры распространения типов данных библиотеки атрибутов сигнала.

  • Inherit: Inherit via back propagation - Использовать тип данных управляющего блока.

  • Inherit: Same as first input - Использовать тип данных первого входного сигнала.

Зависимости

Если входные данные имеют тип данных с плавающей запятой, меньший, чем единичная точность, Inherit: Inherit via internal rule тип выходных данных зависит от настройки выходного типа Inherit с плавающей запятой, меньшего, чем параметр конфигурации с одинарной точностью. Типы данных меньше, чем единичная точность, когда количество битов, необходимое для кодирования типа данных, меньше, чем 32 бита, необходимых для кодирования типа данных с одинарной точностью. Например, half и int16 меньше, чем единичная точность.

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

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Same as first input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли тип данных «Вывод», указанный в блоке. Дополнительные сведения см. в разделе Использование параметров типа выходных данных блокировки (конструктор фиксированных точек).

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

Параметр блока: LockScale
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

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

Ceiling

Округляет положительные и отрицательные числа в сторону положительной бесконечности. Эквивалентно MATLAB ® ceil функция.

Convergent

Округляет число до ближайшего представимого значения. Если возникает связь, округляется до ближайшего чётного целого числа. Эквивалентно Designer™ фиксированной точки convergent функция.

Floor

Округляет положительные и отрицательные числа в сторону отрицательной бесконечности. Эквивалентно MATLAB floor функция.

Nearest

Округляет число до ближайшего представимого значения. Если возникает галстук, округляется до положительной бесконечности. Эквивалентно конструктору фиксированных точек nearest функция.

Round

Округляет число до ближайшего представимого значения. Если возникает связь, округляет положительные числа в сторону положительной бесконечности и округляет отрицательные числа в сторону отрицательной бесконечности. Эквивалентно конструктору фиксированных точек round функция.

Simplest

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

Zero

Округляет число до нуля. Эквивалентно MATLAB fix функция.

Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB в поле маски.

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

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

Укажите, будут ли переполнения насыщаться или переноситься.

ДействиеОбъяснениеВлияние на переполнениеПример

Установите этот флажок (on).

Возможно переполнение модели, и требуется явная защита от насыщения в сгенерированном коде.

Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных.

Максимальное значение, int8 (со знаком, 8-разрядное целое число) может представлять тип данных 127. Любой результат операции блока, превышающий это максимальное значение, вызывает переполнение 8-разрядного целого числа. Если флажок установлен, выходной сигнал блока насыщается на уровне 127. Аналогично, блочный выход насыщается при минимальном выходном значении -128.

Не устанавливайте этот флажок (off).

Требуется оптимизировать эффективность созданного кода.

Необходимо избегать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов.

Переполнение до соответствующего значения, представляемого типом данных.

Максимальное значение, int8 (со знаком, 8-разрядное целое число) может представлять тип данных 127. Любой результат операции блока, превышающий это максимальное значение, вызывает переполнение 8-разрядного целого числа. Если флажок снят, программное обеспечение интерпретирует значение, вызывающее переполнение, как int8, что может привести к непреднамеренному результату. Например, результат блока 130 (двоичный 1000 0010), выраженный как int8, составляет -126.

Если этот флажок установлен, насыщение применяется ко всем внутренним операциям блока, а не только к выводу или результату. Обычно процесс генерации кода может обнаруживать, когда переполнение невозможно. В этом случае генератор кода не создает код насыщения.

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

Параметр блока: SaturateOnIntegerOverflow
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

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

Типы данных

Boolean | double | fixed point | half | integer | single

Прямой проход

yes

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

yes

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

yes

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

no

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

.

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

.

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

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