Категория Создание кода (Code Generation) > Оптимизация (Optimization) включает параметры для повышения скорости моделирования моделей и повышения производительности генерируемого кода. Параметры конфигурации модели для улучшения генерируемого кода требуют Simulink ® Coder™ или Embedded Coder ®.
| Параметр | Описание |
|---|---|
Поведение параметров по умолчанию (Simulink Coder) | Преобразование числовых параметров блока в постоянные встроенные значения в созданном коде. |
Пропускать многократно используемые выходы подсистемы как (встроенный кодер) | Укажите способ передачи выходных данных повторно используемой подсистемой. |
Удаление инициализации нуля ввода-вывода на корневом уровне (встроенный кодер) | Укажите, следует ли создавать код инициализации для входов и выходов корневого уровня, имеющих нулевое значение. |
Удаление инициализации внутреннего нуля данных (встроенный кодер) | Укажите, следует ли создавать код инициализации для внутренних рабочих структур, таких как состояния блоков и выходы блоков, равным нулю. |
| Уровень (встроенный кодер) | Выберите уровень оптимизации, который требуется применить к сгенерированному коду. |
| Приоритет (встроенный кодер) | Оптимизируйте созданный код для повышения эффективности выполнения, уменьшения потребления ОЗУ или баланса между ними. |
| Укажите пользовательские оптимизации (встроенный кодер) | Вместо применения уровня оптимизации выберите этот параметр, чтобы выбрать параметры оптимизации в разделе Подробно. |
Использовать memcpy для назначения вектора (Simulink Coder) | Оптимизация кода, созданного для назначения вектора, путем замены |
Пороговое значение Memcpy (байт) (кодер Simulink) | Укажите минимальный размер массива в байтах, для которого |
Включить локальные блочные выходы (Simulink Coder) | Укажите, объявляются ли сигналы блоков локально или глобально. |
Повторное использование локальных блочных выходов (Simulink Coder) | Укажите, будет ли программное обеспечение Simulink Coder повторно использовать память сигналов. |
Устранение лишних локальных переменных (сворачивание выражений) (Simulink Coder) | Сверните вычисления блоков в отдельные выражения. |
Повторное использование глобальных блочных выходов (встроенный кодер) | Повторное использование глобальной памяти для блочных выходов. |
Обновление по месту для блоков назначения и назначения шины (встроенный кодер) | По возможности повторно используйте входные и выходные переменные блоков «Назначение шины» и «Назначение». |
Повторно использовать буферы для блоков чтения и записи хранилища данных (встроенный кодер) | Удаление временных буферов для блоков чтения и записи хранилища данных. По возможности используйте непосредственно блок памяти хранилища данных. |
Упрощение индексации массивов (встроенный кодер) | Замена операций умножения в индексах массива при доступе к массивам в цикле. |
Упакуйте логические данные в битовые поля (встроенный кодер) | Укажите, хранятся ли логические сигналы как однобитовые битовые поля или как логический тип данных. |
Спецификатор типа декларатора битфайла (встроенный кодер) | Укажите тип битового поля при выборе параметра конфигурации Pack Boolean data to bitfields (Embedded Coder). |
Повторно использовать буферы различных размеров и размеров (встроенный кодер) | Уменьшите потребление памяти за счет повторного использования буферов для хранения данных различных размеров и размеров. |
Оптимизация глобального доступа к данным (встроенный кодер) | Выберите глобальную оптимизацию переменных. |
Оптимизация порядка работы блока в сгенерированном коде (встроенный кодер) | Изменение порядка операций блока в сгенерированном коде для повышения скорости выполнения кода. |
Использовать битсеты для сохранения конфигурации состояния (Simulink Coder) | Используйте битовые наборы, чтобы уменьшить объем памяти, необходимый для хранения переменных конфигурации состояния. |
| Использовать битовые наборы для хранения логических данных (Simulink Coder) | Используйте битовые наборы, чтобы уменьшить объем памяти, необходимый для хранения логических данных. |
Максимальный размер стека (байт) (Simulink Coder) | Укажите максимальный размер стека в байтах для модели. |
Пороговое значение разгрузки шлейфа (Simulink Coder) | Укажите минимальный сигнал или ширину параметра, для которого |
Оптимизация с использованием указанных минимального и максимального значений (Embedded Coder) | Оптимизируйте сгенерированный код, используя указанные минимальное и максимальное значения для сигналов и параметров в модели. |
Максимальное количество аргументов для выходных данных подсистемы | Установите максимальное количество выходов подсистемы для индивидуальной передачи. |
Встроенные инвариантные сигналы (Simulink Coder) | Преобразование символьных имен инвариантных сигналов в постоянные значения. |
Удаление кода из преобразования с плавающей запятой в целое с насыщением, которое отображает NaN в ноль (Simulink Coder) | Удалить код, обрабатывающий результаты преобразования с плавающей запятой в целое число для |
Используйте memset для инициализации поплавков и двойников до 0.0 (Simulink Coder) | Укажите, нужно ли создавать код, который явно инициализирует данные с плавающей запятой до 0.0. |
Удаление кода из преобразования с плавающей запятой в целое число, которое переносит значения за пределы диапазона (Simulink Coder) | Удалите код обтекания, который обрабатывает результаты преобразования с плавающей запятой в целое значение вне диапазона. |
Удалить код из настраиваемых выражений параметров, насыщающих значения вне диапазона (встроенный кодер) | Удалите код упаковки настраиваемых параметров. |
Удаление кода, защищающего от арифметических исключений разделения (встроенный кодер) | Укажите, следует ли создавать код, защищающий от деления на ноль, и |
| Буфер для повторно используемых подсистем (Simulink Coder) | Улучшите повторное использование путем вставки буферов на границах повторно используемых подсистем. |
Отключить несовместимые оптимизации | Укажите, следует ли отключить оптимизации, несовместимые с инспектором кода Simulink. |
| Базовый тип склада для автоматически создаваемых перечислений (Simulink Coder) | Задайте тип и размер хранилища для перечислений, созданных с выводом активного состояния. |
| Использование сигнальных меток для управления повторным использованием буфера (встроенный кодер) | Для сигналов с той же меткой генератор кода пытается использовать ту же память сигналов. |
| Создание параллельных циклов для (встроенный кодер) | Укажите, должны ли for-loops в сгенерированном коде реализовываться параллельно для Matlab Function, Matlab System или блока For Each. |
| Повторное использование памяти сигналов (Simulink Coder) | Укажите повторное использование буферов памяти, выделенных для хранения входных и выходных сигналов блоков, тем самым уменьшая требования к памяти программы реального времени |
| Оператор для представления блоков Bitwise и Logical Operator (встроенный кодер) | Укажите, содержит ли созданный код побитовые или логические операторы или и то и другое. |