Чтобы настроить интерфейс 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>
Это изображение демонстрирует это расположение относительно входа 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
порт. Когда ступенчатая функция выполняется, она читает текущее значение 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>
тег.
Это изображение показывает пример отображения с портами.