Блочное сокращение

Описание

Сократите время выполнения, свернув или удалив группы блоков.

Category: цель симуляции

Настройки

По умолчанию: On

На

Simulink® программа ищет и уменьшает следующие шаблоны блоков:

  • Избыточные преобразования типов - ненужные блоки преобразования типов, такие как int тип блока преобразования с входом и выходом типа int.

  • Мертвый код - Блоки или сигналы в неиспользованном пути кода.

  • Быстрый к медленному Переходу Скорости в однозадачной системе - Переход Скорости блоков с частотой входа быстрее, чем его выход частота.

Прочь

Программное обеспечение Simulink не ищет шаблоны блоков, которые можно оптимизировать. Симуляция и сгенерированный код не оптимизированы.

Совет

  • Когда вы выбираете Block reduction, программное обеспечение Simulink сворачивает определенные группы блоков в один, более эффективный блок или полностью удаляет их. Это приводит к более быстрому выполнению во время симуляции модели и в сгенерированном коде.

  • Сокращение блока не изменяет внешний вид исходной модели.

  • Настраиваемые параметры не препятствуют уменьшению блока за счет устранения мертвого кода.

  • Когда происходит сокращение блоков, программное обеспечение Simulink не отображает отсортированный порядок для блоков, которые были удалены.

  • Если у вас есть лицензия Simulink Coder™, сокращение блоков предназначено для удаления только сгенерированного кода, который представляет выполнение блока. Другие вспомогательные данные, такие как определения для шага расчета и типов данных, могут остаться в сгенерированном коде.

Устранение мертвого кода

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

  • Для того чтобы блок считался частью неиспользованного пути кода, необходимо выполнить следующие условия:

    • Все сигнальные пути для конца блока с блоком, который не выполняется. Примеры блоков, которые не выполняются, включают блоки Terminator, отключенные блоки Assertion, блоки S-Function, настроенные для сокращения блоков, и блоки To Workspace, когда логгирование MAT-файлов отключено для генерации кода.

    • Никакие сигнальные пути для блока не включают в себя глобальное хранилище сигналов после блока.

  • Настраиваемые параметры не препятствуют уменьшению блока за счет устранения мертвого кода.

  • Рассмотрите пути сигнала в следующем блоке.

    Если вы проверяете Block reduction, программное обеспечение Simulink Coder реагирует на каждый путь сигнала следующим образом:

    Для пути сигнала...Программное обеспечение Simulink Coder...
    In1 с Out1Генерирует код, потому что условия устранения мертвого кода не выполняются.
    In2 к терминаторуНе генерирует код, потому что выполняются условия устранения мертвого кода.
    In3 к области видимостиГенерирует код, если включено ведение журнала MAT-файлов, и устраняет код, если отключено логгирование MAT-файлов.

Информация о командной строке

Параметр: BlockReduction
Значение: 'on' | 'off'
По умолчанию: 'on'

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаOff для симуляции или во время разработки
Нет влияния на генерацию производственного кода
ТрассируемостьПрочь
ЭффективностьНа
Меры безопасности

Никакого влияния

Похожие темы