Чтобы настроить интерфейс TLM компонента, который вы хотите сгенерировать, можно импортировать свои собственные XML- файл IP-XACT в генератор TLM.
Дополнительные сведения об импорте файла IP-XACT см. в разделе Выбор опций соответствия TLM.
Все XML- файлы IP-XACT должны содержать информацию, относящуюся к MathWorks®, заданный в элементах внутри компонента. Если эта информация отсутствует, генератор TLM не может проанализировать файл IP-XACT.
Следующие пары "имя-значение" параметра необходимы для <spirit:component>:
<spirit:parameter>
<spirit:name>MWVendor </spirit:name>
<spirit:value>Математические </spirit:value>
</spirit:parameter>
<spirit:parameter>
<spirit:name>MWVersion </spirit:name>
<spirit:value>1.0 </spirit:value>
</spirit:parameter>
<spirit:parameter>
<spirit:name>Модели MWModel </spirit:name>
<spirit:value>name_of_model</spirit:value>
</spirit:parameter>
<spirit:parameter>
<spirit:name>Блокировка MWBlock </spirit:name>
<spirit:value>name_of_block</spirit:value>
</spirit:parameter>
Это изображение показывает эти необходимые элементы в XML- файл IP-XACT.

Напишите определения шины для вашей модели в соответствии с IEEE® Стандарт для IP-XACT 1685-2009.
Если вы хотите использовать Simulink® mapping, все интерфейсы шины, которые содержат отображение Simulink, должны быть ведомыми интерфейсами.
Каждый интерфейс шины без карты памяти должен иметь одно из следующих расположений элементов для отображения Simulink:
Нет отображения в Simulink
Отображение на входы Simulink, выходные параметры Simulink или смесь входов и выходов
Соответствие настраиваемым параметрам Simulink
Хотя каждый интерфейс шины может иметь только одно расположение, файл IP-XACT может содержать несколько определений интерфейса шины, каждый из которых имеет разное расположение.
Каждый <spirit:busInterface> определение, содержащее отображение Simulink, сопоставлено с целевым сокетом TLM. В пределах <spirit:parameters> тег, добавление <spirit:parameter> пары "имя-значение", которые определяют отображение Simulink. Для примера:
<spirit:parameter>
<spirit:name>MWMapInput</spirit:name>
<spirit:value>input_1</spirit:value>
</spirit:parameter>На этом изображении показаны некоторые интерфейсы шины, которые сопоставлены с входами Simulink.

Входы отображаются вместе в одном определении интерфейса шины. Выходы указаны в отдельном интерфейсе шины. Коэффициенты фильтра находятся в другом, отдельном интерфейсе шины.
Кроме того, можно задать входы и выходы вместе в определении одного интерфейса шины. Однако коэффициенты фильтра должны оставаться в их собственном отдельном определении интерфейса шины.
Напишите определения шины для вашей модели в соответствии со стандартом IEEE для IP-XACT 1685-2009. Применяются следующие разрешения:
Входные регистры - только запись или чтение-запись
Выходные регистры - только для чтения или read-write
Регистр параметров - Только чтение, только запись или чтение-запись, в зависимости от ваших требований
Сделайте размер духа каждого регистра, в битах, больше или равным размеру этого входного, выходного или параметра Simulink.
Если необходимо использовать отображение Simulink, все интерфейсы шины, содержащие отображение Simulink, должны быть ведомыми интерфейсами.
Если у вас есть ссылка на карту памяти в интерфейсе шины, то вы должны выразить отображение Simulink в карте памяти, а не в интерфейсе шины.
Отображение Simulink для каждого регистра может состоять из следующих элементов:
Никакого отображения в Simulink (то есть в регистре не нужна информация отображения)
Отображение на входы Simulink, выходные параметры Simulink или смесь входов и выходов
Соответствие настраиваемым параметрам Simulink
Регистры не могут иметь нескольких входов-выходов. Однако интерфейс шины может быть преобразован в несколько регистров, каждый из которых имеет разное расположение.
Чтобы добавить входы, выходы или параметры к файлу IP-XACT, выполните следующие шаги.
Каждый <spirit:busInterface> определение, содержащее отображение Simulink, сопоставлено с целевым сокетом TLM. Добавление <spirit:parameter> Пара "имя-значение", который указывает генератору TLM, что в карте памяти есть отображение Simulink.
<spirit:parameter>
<spirit:name>MWMap</spirit:name>
<spirit:value>true</spirit:value>
</spirit:parameter>В каждом <spirit:memoryMap> раздел, в каждом <spirit:register> определение, в пределах <spirit:parameters> тег, добавление <spirit:parameter> Пара "имя-значение" с отображением Simulink.
<spirit:parameter>
<spirit:name>MWMapInput</spirit:name>
<spirit:value>input1</spirit:value>
</spirit:parameter>Это изображение демонстрирует это расположение для входа Simulink.

Чтобы опционально задать местоположения полей в регистре, задайте <spirit:field> определение в <spirit:register>. Используйте <spirit:bitWidth> и <spirit:bitOffset> теги для определения каждой <spirit:field>. Включите <spirit:parameter> Пара "имя-значение" с отображением Simulink в <spirit:field> определение.
<spirit:field>
<spirit:name>OUTPUT_1</spirit:name>
<spirit:bitOffset>32</spirit:bitOffset>
<spirit:bitWidth>32</spirit:bitWidth>
<spirit:access>read-only</spirit:access>
<spirit:parameters>
<spirit:parameter>
<spirit:name>MWMapOutput</spirit:name>
<spirit:value>output_1</spirit:value>
</spirit:parameter>
</spirit:parameters>
</spirit:field>
Чтобы опционально исключить регистр из отображения Simulink, добавьте <spirit:parameter> Пара "имя-значение" в <spirit:register> определение. Укажите имя следующим MWMap и значение как false чтобы исключить регистр из карты памяти.
<spirit:register>
<spirit:name>EXCLUDED_REG_1</spirit:name>
<spirit:addressOffset>0x38</spirit:addressOffset>
<spirit:size>64</spirit:size>
<spirit:access>read-only</spirit:access>
<spirit:parameters>
<spirit:parameter>
<spirit:name>MWMap</spirit:name>
<spirit:value>false</spirit:value>
</spirit:parameter>
</spirit:parameters>
</spirit:register>
Чтобы исключить адресный блок из размещения в ОЗУ Simulink, добавьте <spirit:parameter> Пара "имя-значение" в <spirit:addressblock> определение. Укажите имя следующим MWMap и значение как false чтобы исключить адресный блок из карты памяти.
<spirit:addressBlock>
<spirit:name>EXCLUDED_BANK</spirit:name>
<spirit:baseAddress spirit:id="EXCLUDED_BANK_ADDR" spirit:resolve="user">0x00030000</spirit:baseAddress>
<spirit:range>128</spirit:range>
<spirit:width>64</spirit:width>
<spirit:usage>register</spirit:usage>
<spirit:register>
<spirit:name>EXCLUDED_REG_2</spirit:name>
<spirit:addressOffset>0x00</spirit:addressOffset>
<spirit:size>64</spirit:size>
<spirit:access>read-only</spirit:access>
</spirit:register>
<spirit:register>
<spirit:name>EXCLUDED_REG_3</spirit:name>
<spirit:addressOffset>0x08</spirit:addressOffset>
<spirit:size>64</spirit:size>
<spirit:access>read-only</spirit:access>
</spirit:register>
<spirit:parameters>
<spirit:parameter>
<spirit:name>MWMap</spirit:name>
<spirit:value>false</spirit:value>
</spirit:parameter>
</spirit:parameters>
</spirit:addressBlock>Полный пример размещения в ОЗУ Simulink с компонентом TLM см. в Импортированном IP-XACT с картой памяти.
Можно сгенерировать незарегистрированную sc_signal порт. Когда функция step выполняется, она читает текущее значение sc_in порты, передает их все в функцию шага, выполняет функцию шага и записывает результат функции шага в sc_out порты.
Чтобы добавить входные и выходные порты, укажите следующее в файле IP-XACT:
Укажите порт следующим <spirit:port> типа <spirit:wire>.
Задайте направление порта следующим <spirit:direction>. Установите направление следующим in, чтобы сгенерировать sc_in порт. Установите направление на out чтобы сгенерировать sc_out порт.
По умолчанию тип данных порта совпадает с типом входных или выходных данных подсистемы. Можно опционально задать тип данных для порта, описав его в <spirit:wireTypeDef>.
Чтобы определить отображение порта TLM входу или выходу Simulink, задайте пару "имя-значение" MWMapInput или MWMapOutput в пределах <spirit:vendorExtension> <spirit:parameters> <spirit:parameter> тег.
Это изображение показывает пример отображению к портам.
