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

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

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

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

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

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

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

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

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

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

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

Уровень (Embedded Coder)

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

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

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

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

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

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

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

Порог Memcpy (байты) (Simulink Coder)

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

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

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

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

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

Устранение лишних локальных переменных (складывание выражения) (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)

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

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

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

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

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

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

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

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

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

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

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

Maximum number of arguments for subsystem outputs

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

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

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

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

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

Используйте memset, чтобы инициализировать floats и удвоиться до 0,0 (Simulink Coder)

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

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

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

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

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

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

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

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

Disable incompatible optimizations

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

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

Похожие темы