Code Generation> категория Optimization включает параметры для улучшения скорости симуляции ваших моделей и улучшания производительности сгенерированного кода. Параметры конфигурации модели, чтобы улучшить сгенерированный код требуют Simulink® Coder™ или Embedded Coder®.
Параметр | Описание |
---|---|
Поведение параметра по умолчанию (Simulink Coder) | Преобразуйте числовые параметры блоков в постоянные встроенные значения в сгенерированном коде. |
Передайте допускающую повторное использование подсистему выходные параметры как | Задайте, как допускающая повторное использование подсистема передает выходные параметры. |
Задайте, сгенерировать ли код инициализации для импорта корневого уровня и обнуленных выходных портов. | |
Задайте, сгенерировать ли код инициализации для внутренних структур работы, таких как состояния блока и блокировать выходные параметры, чтобы обнулить. | |
Уровень | Выберите уровень оптимизации, что вы хотите обратиться к сгенерированному коду. |
Приоритет | Оптимизируйте сгенерированный код для увеличенного КПД выполнения, уменьшил потребление RAM или баланс между двумя. |
Задайте пользовательскую оптимизацию | Вместо того, чтобы применить уровень оптимизации, выберите этот параметр, чтобы выбрать параметры оптимизации в разделе Details. |
Используйте memcpy в векторном присвоении (Simulink Coder) | Оптимизируйте код, сгенерированный для векторного присвоения, заменив |
Порог Memcpy (байты) (Simulink Coder) | Задайте минимальный размер массивов в байтах для который |
Включите локальному блоку выходные параметры (Simulink Coder) | Задайте, объявляются ли блоки-сигналы локально или глобально. |
Повторное использование локальный блок выходные параметры (Simulink Coder) | Задайте, сигнализируют ли повторные использования программного обеспечения Simulink Coder о памяти. |
Устраните лишние локальные переменные (Сворачивание выражения) (Simulink Coder) | Сверните расчеты блока в отдельные выражения. |
Глобальная переменная повторного использования блокирует выходные параметры | Глобальная память повторного использования для блока выходные параметры. |
Выполните оперативные обновления для блоков Присвоения Присвоения и Шины | Снова используйте переменные ввода и вывода блоков Присвоения и Присвоения Шины, если это возможно. |
Повторное использование буферизует для блоков Записи Чтения и Хранилища данных Хранилища данных | Демонтируйте временные буферы для блоков Записи Чтения и Хранилища данных Хранилища данных. Используйте Блок памяти Хранилища данных непосредственно, если это возможно. |
Замена умножает операции в индексах массива при доступе к массивам в цикле. | |
Задайте, хранятся ли булевы сигналы как однобитные битовые поля или как булев тип данных. | |
Задайте тип битового поля при выборе булевых данных Пакета параметра конфигурации в битовые поля. | |
Буферы повторного использования различных размеров и размерностей | Уменьшайте потребление памяти путем многократного использования буферов, чтобы хранить данные различных размеров и размерностей. |
Выберите оптимизацию глобальной переменной. | |
Оптимизируйте порядок блочной операции в сгенерированном коде | Переупорядочьте блочные операции в сгенерированном коде для скорости выполнения улучшенного кода. |
Используйте bitsets в хранении настройки состояния (Simulink Coder) | Используйте bitsets, чтобы уменьшать объем памяти, требуемый сохранить переменные настройки состояния. |
Используйте bitsets в хранении булевых данных (Simulink Coder) | Используйте bitsets, чтобы уменьшать объем памяти, требуемый хранить булевы данные. |
Максимальный размер стека (байты) (Simulink Coder) | Задайте максимальный размер стека в байтах для вашей модели. |
Порог развертывания цикла (Simulink Coder) | Задайте минимальный сигнал или ширину параметра для который |
Оптимизируйте использование заданных минимальных и максимальных значений | Оптимизируйте сгенерированный код с помощью заданных минимальных и максимальных значений в сигналах и параметрах в модели. |
Maximum number of arguments for subsystem outputs | Определите максимальный номер подсистемы выходные параметры, чтобы передать индивидуально. |
Встройте инвариантные сигналы (Simulink Coder) | Преобразуйте символьные имена инвариантных сигналов в постоянные значения. |
Удалите код от с плавающей точкой до целочисленных преобразований с насыщением, которое сопоставляет NaN, чтобы обнулить (Simulink Coder) | Удалите код, который обрабатывает с плавающей точкой к целочисленным результатам преобразования для |
Используйте memset, чтобы инициализировать плавания, и удваивается до 0,0 (Simulink Coder) | Задайте, сгенерировать ли код, который явным образом инициализирует данные с плавающей точкой к 0,0. |
Удалите код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значений (Simulink Coder) | Удалите переносящийся код, который обрабатывает из области значений с плавающей точкой к целочисленным результатам преобразования. |
Удалите код из выражений настраиваемого параметра, которые насыщают значения из области значений | Удалите переносящийся код настраиваемых параметров. |
Удалите код, который защищает от арифметических исключений деления | Задайте, сгенерировать ли код, который принимает меры против деления на нуль и |
Буфер для допускающих повторное использование подсистем (Simulink Coder) | Улучшите повторное использование путем вставки буферов на допускающих повторное использование контурах подсистемы. |
Disable incompatible optimizations | Задайте, запретить ли оптимизацию, которая несовместима с Simulink Code Inspector. |
Основной тип хранения для автоматически созданных перечислений (Simulink Coder) | Установите тип хранения и размер для перечислений, созданных с активным выходом состояния. |
Основной тип хранения для автоматически созданных перечислений (Simulink Coder) | Для сигналов с той же меткой генератор кода пытается использовать ту же память сигнала. |
Сгенерируйте параллельные циклы for | Задайте, должны ли циклы for в сгенерированном коде быть реализацией параллельно для Matlab Function, Matlab System или блока For Each. |
Повторное использование памяти (Simulink Coder) | Задайте повторное использование буферов памяти, выделенных, чтобы сохранить сигналы ввода и вывода блока, таким образом, уменьшающие требования к памяти программы в реальном времени |
Оператор, чтобы представлять блоки Побитового и Логического оператора | Задайте, содержит ли сгенерированный код побитовые или логические операторы или обоих. |