exponenta event banner

Подготовка файла IP-XACT к импорту

Для настройки интерфейса TLM генерируемого компонента можно импортировать собственный XML-файл IP-XACT в генератор TLM.

Дополнительные сведения об импорте файла IP-XACT см. в разделе Выбор параметров сопоставления TLM.

Необходимая информация для импортированных файлов IP-XACT

Все 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 может содержать несколько определений интерфейса шины, каждое из которых имеет разное расположение.

Сопоставление Simulink без карты памяти

Каждый <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 или сочетание входов и выходов

  • Сопоставление с настраиваемыми параметрами Simulink

Регистры не могут иметь несколько входов-выходов. Однако интерфейс шины может быть отображен на множество регистров, каждый из которых имеет различную компоновку.

Чтобы добавить входные данные, выходные данные или параметры в файл IP-XACT, выполните следующие действия.

  1. Каждый <spirit:busInterface> определение, содержащее сопоставление Simulink, сопоставляется целевому сокету TLM. Добавить <spirit:parameter> пара «имя-значение», указывающая генератору TLM на наличие сопоставления Simulink в карте памяти.

    <spirit:parameter>
        <spirit:name>MWMap</spirit:name>
        <spirit:value>true</spirit:value>
    </spirit:parameter>
  2. В каждом <spirit:memoryMap> раздел, в каждом <spirit:register> определение, в пределах <spirit:parameters> тег, добавить <spirit:parameter> пара имя-значение с сопоставлением Simulink.

    <spirit:parameter>
        <spirit:name>MWMapInput</spirit:name>
        <spirit:value>input1</spirit:value>
    </spirit:parameter>

    На этом рисунке показано расположение входных данных Simulink.

  3. Чтобы дополнительно указать расположение полей в регистре, укажите <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>
    
  4. Чтобы исключить регистр из сопоставления 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 порты, передает их все в функцию step, выполняет функцию step и записывает результат функции step в sc_out порты.

Чтобы добавить порты ввода и вывода, укажите в файле IP-XACT следующее:

  1. Укажите порт как <spirit:port> типа <spirit:wire>.

  2. Укажите направление порта как <spirit:direction>. Задайте направление как in, для создания sc_in порт. Установить направление на out для создания sc_out порт.

  3. По умолчанию тип данных порта совпадает с типом входных или выходных данных подсистемы. Можно дополнительно определить тип данных для порта, описав его в <spirit:wireTypeDef>.

  4. Чтобы определить соответствие порта TLM входу или выходу Simulink, укажите пару имя-значение MWMapInput или MWMapOutput в пределах <spirit:vendorExtension> <spirit:parameters> <spirit:parameter> тег.

На этом рисунке показан пример сопоставления с портами.

Связанные темы

Внешние веб-сайты