exponenta event banner

Параметры конфигурации модели: оптимизация генерации кода

Категория Создание кода (Code Generation) > Оптимизация (Optimization) включает параметры для повышения скорости моделирования моделей и повышения производительности генерируемого кода. Параметры конфигурации модели для улучшения генерируемого кода требуют Simulink ® Coder™ или Embedded Coder ®.

ПараметрОписание

Поведение параметров по умолчанию (Simulink Coder)

Преобразование числовых параметров блока в постоянные встроенные значения в созданном коде.

Пропускать многократно используемые выходы подсистемы как (встроенный кодер)

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

Удаление инициализации нуля ввода-вывода на корневом уровне (встроенный кодер)

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

Удаление инициализации внутреннего нуля данных (встроенный кодер)

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

Уровень (встроенный кодер)

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

Приоритет (встроенный кодер)

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

Укажите пользовательские оптимизации (встроенный кодер)

Вместо применения уровня оптимизации выберите этот параметр, чтобы выбрать параметры оптимизации в разделе Подробно.

Использовать memcpy для назначения вектора (Simulink Coder)

Оптимизация кода, созданного для назначения вектора, путем замены for петли с memcpy.

Пороговое значение Memcpy (байт) (кодер Simulink)

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

Включить локальные блочные выходы (Simulink Coder)

Укажите, объявляются ли сигналы блоков локально или глобально.

Повторное использование локальных блочных выходов (Simulink Coder)

Укажите, будет ли программное обеспечение Simulink Coder повторно использовать память сигналов.

Устранение лишних локальных переменных (сворачивание выражений) (Simulink Coder)

Сверните вычисления блоков в отдельные выражения.

Повторное использование глобальных блочных выходов (встроенный кодер)

Повторное использование глобальной памяти для блочных выходов.

Обновление по месту для блоков назначения и назначения шины (встроенный кодер)

По возможности повторно используйте входные и выходные переменные блоков «Назначение шины» и «Назначение».

Повторно использовать буферы для блоков чтения и записи хранилища данных (встроенный кодер)

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

Упрощение индексации массивов (встроенный кодер)

Замена операций умножения в индексах массива при доступе к массивам в цикле.

Упакуйте логические данные в битовые поля (встроенный кодер)

Укажите, хранятся ли логические сигналы как однобитовые битовые поля или как логический тип данных.

Спецификатор типа декларатора битфайла (встроенный кодер)

Укажите тип битового поля при выборе параметра конфигурации Pack Boolean data to bitfields (Embedded Coder).

Повторно использовать буферы различных размеров и размеров (встроенный кодер)

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

Оптимизация глобального доступа к данным (встроенный кодер)

Выберите глобальную оптимизацию переменных.

Оптимизация порядка работы блока в сгенерированном коде (встроенный кодер)

Изменение порядка операций блока в сгенерированном коде для повышения скорости выполнения кода.

Использовать битсеты для сохранения конфигурации состояния (Simulink Coder)

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

Использовать битовые наборы для хранения логических данных (Simulink Coder)

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

Максимальный размер стека (байт) (Simulink Coder)

Укажите максимальный размер стека в байтах для модели.

Пороговое значение разгрузки шлейфа (Simulink Coder)

Укажите минимальный сигнал или ширину параметра, для которого for генерируют цикл.

Оптимизация с использованием указанных минимального и максимального значений (Embedded Coder)

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

Максимальное количество аргументов для выходных данных подсистемы

Установите максимальное количество выходов подсистемы для индивидуальной передачи.

Встроенные инвариантные сигналы (Simulink Coder)

Преобразование символьных имен инвариантных сигналов в постоянные значения.

Удаление кода из преобразования с плавающей запятой в целое с насыщением, которое отображает NaN в ноль (Simulink Coder)

Удалить код, обрабатывающий результаты преобразования с плавающей запятой в целое число для NaN значения.

Используйте memset для инициализации поплавков и двойников до 0.0 (Simulink Coder)

Укажите, нужно ли создавать код, который явно инициализирует данные с плавающей запятой до 0.0.

Удаление кода из преобразования с плавающей запятой в целое число, которое переносит значения за пределы диапазона (Simulink Coder)

Удалите код обтекания, который обрабатывает результаты преобразования с плавающей запятой в целое значение вне диапазона.

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

Удалите код упаковки настраиваемых параметров.

Удаление кода, защищающего от арифметических исключений разделения (встроенный кодер)

Укажите, следует ли создавать код, защищающий от деления на ноль, и INT_MIN/-1 операции для целых чисел и данных с фиксированной точкой.

Буфер для повторно используемых подсистем (Simulink Coder)Улучшите повторное использование путем вставки буферов на границах повторно используемых подсистем.

Отключить несовместимые оптимизации

Укажите, следует ли отключить оптимизации, несовместимые с инспектором кода Simulink.

Базовый тип склада для автоматически создаваемых перечислений (Simulink Coder)Задайте тип и размер хранилища для перечислений, созданных с выводом активного состояния.
Использование сигнальных меток для управления повторным использованием буфера (встроенный кодер)Для сигналов с той же меткой генератор кода пытается использовать ту же память сигналов.
Создание параллельных циклов для (встроенный кодер)Укажите, должны ли for-loops в сгенерированном коде реализовываться параллельно для Matlab Function, Matlab System или блока For Each.
Повторное использование памяти сигналов (Simulink Coder)Укажите повторное использование буферов памяти, выделенных для хранения входных и выходных сигналов блоков, тем самым уменьшая требования к памяти программы реального времени
Оператор для представления блоков Bitwise и Logical Operator (встроенный кодер)Укажите, содержит ли созданный код побитовые или логические операторы или и то и другое.

Связанные темы