Чтобы настроить интерфейс TLM компонента, вы хотите сгенерировать, можно импортировать собственный XML-файл IP-XACT в генератор TLM.
Для получения дополнительной информации об импорте файла IP-XACT, смотрите, Выбирают TLM Mapping Options.
Все XML-файлы IP-XACT должны содержать информацию, характерную для MathWorks®, заданного в элементах в компоненте. Если эта информация не присутствует, генератор TLM не может проанализировать файл IP-XACT.
Следующие пары "имя-значение" параметра требуются для <spirit:component>
:
<spirit:parameter>
<spirit:name>
MWVendor</spirit:name>
<spirit:value>
MathWorks</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®, все интерфейсы шины, которые содержат отображение 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. Следующие полномочия применяются:
Введите регистры — Только для записи или чтение-запись
Выведите регистры — Только для чтения или чтение-запись
Регистр параметров — Только для чтения, только для записи, или чтение-запись, в зависимости от ваших требований
Сделайте размер духа каждого регистра, в битах, больше, чем или равный размеру того входа 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>
Чтобы опционально задать полевые местоположения в регистре, задайте определение <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.
Можно сгенерировать незарегистрированный порт sc_signal
. Когда ступенчатая функция выполняется, она читает текущее значение портов sc_in
, передает их всех ступенчатой функции, выполняет ступенчатую функцию и написала результат ступенчатой функции в портах sc_out
.
Чтобы добавить порты ввода и вывода, задайте следующее в своем файле IP-XACT:
Задайте порт как <spirit:port>
типа <spirit:wire>
.
Задайте направление портов как <spirit:direction>
. Установите направление на in
, чтобы сгенерировать порт sc_in
. Установите направление на out
генерировать порт sc_out
.
По умолчанию тип данных порта совпадает с вводом или выводом подсистемы. Можно опционально задать тип данных для порта путем описания его в <spirit:wireTypeDef>
.
Это изображение показывает пример отображения с портами.