Категория 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) | Оптимизируйте код, сгенерированный для назначения векторов, путем замены |
Порог Memcpy (байты) (Simulink Coder) | Укажите минимальный размер массива в байтах, для которого |
Включите выходные выходы локальных блоков (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 |
Оптимизируйте с использованием заданных минимального и максимального значений (Embedded Coder) | Оптимизируйте сгенерированный код, используя заданные минимальное и максимальное значения для сигналов и параметров в модели. |
Maximum number of arguments for subsystem outputs | Установите максимальное количество выходов подсистемы для индивидуального прохождения. |
Встроенные инвариантные сигналы (Simulink Coder) | Преобразуйте символьные имена инвариантных сигналов в постоянные значения. |
Удалите код из числа с плавающей точкой в целое число с насыщением, которое преобразует NaN в нуль (Simulink Coder) | Удалите код, который обрабатывает результаты преобразования с плавающей точкой в целое число для |
Используйте memset, чтобы инициализировать floats и удвоиться до 0,0 (Simulink Coder) | Укажите, нужно ли генерировать код, который явно инициализирует данные с плавающей точкой до 0,0. |
Удалите код из преобразования с плавающей точкой в целое число, которое преобразует значения вне области допустимого (Simulink Coder) | Удалите код переноса, который обрабатывает результаты преобразования с плавающей точкой вне области допустимого значения в целое число. |
Удалите код из настраиваемых выражений параметров, которые насыщают значения вне области допустимого значения (Embedded Coder) | Удалите перенос настраиваемых параметров. |
Удалите код, который защищает от исключений из арифметики деления (Embedded Coder) | Укажите, генерировать ли код, который защищает от деления на нули и |
Буфер для переиспользуемых подсистем (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) | Укажите, содержит ли сгенерированный код побитовые или логические операторы или то и другое одновременно. |