Реализуйте конвейеризацию в Simulink

В этом примере показано, как реализовать конвейеризацию для системы в Simulink® модель. Модель состоит из входа, функциональных компонентов, примененных к тому же входу, и конкатенированного выхода. Для получения дополнительной информации о конвейеризации см. «Типы параллелизма».

Настройте эту модель для параллельного выполнения. Чтобы увидеть завершенную модель, откройте ex_pipelining_top.

  1. Преобразуйте области в этой модели в модели-ссылки. Используйте ту же ссылку на модель, чтобы заменить каждый из функциональных компонентов, которые обрабатывают вход. Рисунок показывает образец строения.

  2. Откройте параметры конфигурации модели для модели верхнего уровня. Снимите флажок MAT-file logging.

  3. На панели Solver установите для Type значение Fixed-step и нажмите Apply. Кроме того, убедитесь, что для Periodic sample time constraint задано значение Unconstrained. В разделе Additional options выберите Allow tasks to execute concurrently on target и нажмите Configure Tasks.

  4. В диалоговом окне Параллельное выполнение на правой панели установите флажок Enable explicit model partitioning for concurrent behavior. При явном разбиении можно разделить модель вручную.

  5. На панели выбора выберите CPU. Щелкните Add task три раза, чтобы добавить три новые задачи.

  6. На панели выбора выберите Tasks and Mapping. На панели Map block to tasks:

    • В разделе Block: Input нажмите select task и выберите Periodic: Task.

    • В группе Block: Function 1 выберите Periodic: Task1.

    • В группе Block: Function 2 выберите Periodic: Task2.

    • В группе Block: Output выберите Periodic: Task.

    Это сопоставляет разделы с созданными задачами. Input и Output блоков модели находятся на одной задаче. Каждому функциональному компоненту присваивается отдельная задача.

  7. Закройте диалоговое окно Параллельное выполнение.

  8. Применить эти параметры конфигурации ко всем ссылочным моделям. Для получения дополнительной информации см. Раздел «Совместное использование строения с несколькими моделями».

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

Примечание

Заметьте, что задержки вводятся между различными задачами, обозначенными значком z-1. Введение этих задержек может вызвать различные выходы модели в Simulink. Убедитесь, что ваша модель имеет ожидаемый выход при симуляции параллельной модели.

Похожие примеры

Подробнее о