Задайте целевую архитектуру

Для моделей, сконфигурированных для параллельного выполнения, можно выбрать архитектуру, в которую вы хотите развернуть свою модель. Выберите из набора предопределенной архитектуры в Simulink®, или можно создать интерфейс для пользовательской архитектуры. После выбора вашей архитектуры можно использовать явное разделение, чтобы задать, какие задачи работают на нем. Для получения дополнительной информации смотрите Раздел Ваша Модель Используя Явное Разделение.

Выберите из предопределенной архитектуры

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

  1. В диалоговом окне Concurrent Execution, в панели Concurrent Execution, нажимают Select. Селектор целевой архитектуры параллельного выполнения появляется.

  2. Выберите свою цель.

    СвойствоОписание

    Multicore

    Один центральный процессор с несколькими ядрами.

    Sample Architecture

    Один центральный процессор с несколькими ядрами и двумя FPGAs.

    Simulink Real-Time

    Цель Simulink Real-Time™.

    Get more ...

    Нажмите OK, чтобы запустить Инсталлятор Пакета Поддержки. Из списка выберите цель и следуйте инструкциям.

  3. В окне Целевой архитектуры снимите флажок Preserve compatible properties, чтобы сбросить существующие целевые настройки свойства к их значению по умолчанию. В качестве альтернативы установите флажок Preserve compatible properties, чтобы сохранить существующие целевые настройки свойства.

  4. Нажмите OK.

    Simulink добавляет соответствующие узлы программного и аппаратного обеспечения в иерархию дерева настройки. Например, следующее иллюстрирует один узел программного обеспечения и два аппаратных узла, добавленные к дереву настройки, когда вы выбираете Sample architecture как целевая архитектура.

Задайте пользовательский файл архитектуры

Пользовательский файл архитектуры является XML-файлом, который позволяет вам задавать пользовательские целевые свойства для задач и триггеров. Например, можно хотеть задать пользовательские свойства представлять API поточной обработки. Распараллеливающие API необходимы, чтобы использовать в своих интересах параллелизм на вашем целевом процессоре.

Следующее является примером пользовательский файл архитектуры:

<architecture brief="Multicore with custom threading API"
              format="1.1"  revision="1.1"
              uuid="MulticoreCustomAPI"  name="MulticoreCustomAPI">
<configurationSet> 
     <parameter name="SystemTargetFile" value="ert.tlc"/> 
     <parameter name="SystemTargetFile" value="grt.tlc"/> 
</configurationSet>          
<node name="MulticoreProcessor" type="SoftwareNode" uuid="MulticoreProcessor"/>
<template name="CustomTask" type="Task" uuid="CustomTask">
     <property name="affinity" prompt="Affinity:" value="1" evaluate="true"/>
     <property name="schedulingPolicy" prompt="Scheduling policy:" value="Rate-monotonic">
           <allowedValue>Rate-monotonic</allowedValue>
           <allowedValue>Round-robin</allowedValue>
        </property>
   </template>
</architecture>

Файл архитектуры должен содержать:

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

  • configurationSet элемент, который перечисляет системные конечные файлы, для которых эта архитектура допустима.

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

    Примечание

    Архитектура должна содержать точно один элемент узла, который идентифицирует многожильный элемент обработки. Вы не можете создать несколько узлов, идентифицирующих несколько элементов обработки или архитектуру без многожильного элемента обработки.

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

    • Атрибутом type может быть Task, PeriodicTrigger, или AperiodicTrigger.

    • Каждое свойство доступно для редактирования и задало значение по умолчанию в value атрибут.

    • Каждое свойство может быть текстовым полем, флажком или полем комбинированного списка. Флажок является тем, где можно установить value припишите on или off. Поле комбинированного списка является тем, где можно опционально перечислить allowedValue элементы как часть свойства.

    • Каждое свойство текстового поля может также опционально задать evaluate атрибут. Это позволяет вам поместить имена переменных MATLAB® как значение свойства.

    Предположение, что вы сохранили пользовательский файл целевой архитектуры в C:\custom_arch.xml, зарегистрируйте этот файл с Simulink с помощью Simulink.architecture.register функция.

Например:

  1. Сохраните содержимое перечисленного XML-файла в custom_arch.xml.

  2. В Командном Окне MATLAB введите:

    Simulink.architecture.register('custom_arch.xml') 
  3. В Командном Окне MATLAB введите:

    slexMulticoreSolverExample
  4. В редакторе Simulink откройте Configuration Parameters> панель Solver и нажмите Configure Tasks. Отображения диалогового окна Concurrent Execution.

  5. В панели Concurrent Execution нажмите Select... под Target Architecture. Отображения окна Целевой архитектуры.

  6. Выберите MulticoreCustomAPI и нажмите OK.

Ваше диалоговое окно Concurrent Execution обновляется, чтобы содержать свойства Code Generation для задач как показано. Это свойства, заданные в XML-файле.

Похожие темы