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

Категория Code Generation > Optimization включает параметры для улучшения скорости симуляции ваших моделей и улучшения эффективности сгенерированного кода. Моделируйте параметры конфигурации, чтобы улучшить сгенерированный код, требуйте Simulink® Coder™ или Embedded Coder®.

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

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

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

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

Задайте, как переиспользуемая подсистема передает выходы.

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

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

Удалите внутренние данные нулевой инициализации (Embedded Coder)

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

Уровень (Embedded Coder)

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

Приоритет (Embedded Coder)

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

Задайте пользовательскую оптимизацию (Embedded Coder)

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

Используйте memcpy для назначения векторов

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

Порог Memcpy (байт)

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

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

Задайте, объявлены ли сигналы блоков локально или глобально.

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

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

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

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

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

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

Выполните обновления на месте для блоков назначения и назначения шины (Embedded Coder)

При возможности повторно используйте входную и выходную переменные блоков Bus Assignment и Assignment.

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

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

Упрощение индексации массива (Embedded Coder)

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

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

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

Спецификатор типа декларатора битового поля (Embedded Coder)

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

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

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

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

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

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

Переупорядочьте операции блока в сгенерированном коде для улучшенного кода скорости выполнения.

Используйте битсеты для хранения строения состояния

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

Используйте битсеты для хранения логических данных

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

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

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

Циклический порог разворачивания

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

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

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

Maximum number of arguments for subsystem outputs

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

Встроенные инвариантные сигналы

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

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

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

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

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

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

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

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

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

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

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

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

Disable incompatible optimizations

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

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте