Импортированный IP-XACT с картой распределения памяти

Этот пример показывает, как использовать импортированную спецификацию IP-XACT с картой распределения памяти, когда вы генерируете компонент SystemC™/TLM из модели Simulink® с целью tlmgenerator. Можно использовать цель tlmgenerator или для Simulink Coder или для Embedded Coder™.

В Simulink каждый ввод или вывод блока связан "точка-точка" с другим блоком. В SystemC/TLM каждый компонент связывается через сокет TLM. Этот сокет обрабатывает все поступление и исходящую коммуникацию, отформатированную в транзакциях TLM. Поскольку каждая система обрабатывает коммуникацию по-другому, необходимо задать коммуникационный интерфейс для компонента SystemC/TLM, когда это сгенерировано из модели Simulink. В зависимости от надлежащего использования этого компонента SystemC/TLM этот коммуникационный интерфейс мог потребовать создания карты распределения памяти (или адрес) для каждого ввода/вывода в компоненте. Эта карта распределения памяти может быть простой, детализирована или импортированная из файла спецификации IP-XACT.

Импорт опция IP-XACT генерирует компонент TLM согласно файлу спецификации IP-XACT. В этом конкретном примере файл IP-XACT задал один сокет tlm с картой распределения памяти для входных параметров модели Simulink, один сокет tlm с картой распределения памяти для модели Simulink выходные параметры и один сокет tlm с картой распределения памяти для настраиваемых параметров. Каждый вход модели Simulink связан со своим соответствующим регистром записи в первом сокете. Каждый вывод связан со своим соответствующим регистром чтения во втором сокете tlm. Каждый настраиваемый параметр связан со своим соответствующим регистром чтения-записи в третьем сокете tlm. Когда создано с этой опцией, сгенерированный компонент TLM может использоваться в виртуальной платформе (VP) в качестве автономного компонента в испытательном стенде, или это могло быть присоединено к каналу связи.

В данном примере мы используем модель Simulink КИХ-фильтра как основание для генерации SystemC/TLM.

Требования, чтобы запустить этот пример:

  • MATLAB

  • Simulink

  • Simulink Coder

  • HDL Verifier

  • SystemC 2.3.1 (включает библиотеку TLM),

Примечание: пример включает процедуру сборки генерации кода. Simulink не разрешает вам создавать программы в области установки MATLAB®. При необходимости изменитесь на рабочую директорию, которая не находится в области установки MATLAB до запуска никакой сборки.

1. Открытая предварительно сконфигурированная модель

Откройте модель FIR Filter с импортированным IPXact (с картой распределения памяти). Также выполните следующую команду в окне команды MATLAB:

  >> openTlmgDemoModel('ipxactmem');

Следующая модель открывается в Simulink.

2. Откройте файл IP-XACT

Откройте файл IP-XACT, используемый этим примером в редакторе MATLAB. Также выполните следующую команду в окне команды MATLAB:

  >> openTlmgDemoIPXact('ipxactmem');

Файл IP-XACT открывается в редакторе MATLAB.

3. Исследуйте файл IP-XACT

С редактором MATLAB найдите следующие строки кода (MWMap). Эти строки указывают, что Вход интерфейса шины должен быть картой на сокете TLM, и его карта распределения памяти содержит вход, вывод или информацию об отображении параметра.

Следующие строки кода (MWMapInput) представляют КИХ-Фильтр input_1 сопоставляющий на отдельном регистре INPUT_REG_1.

Точно так же следующие строки кода (MWMapOutput) представляют КИХ-Фильтр output_1 сопоставляющий на отдельном регистре OUTPUT_REG_1.

Точно так же следующие строки кода (MWMapParam) представляют КИХ-параметр Фильтра coef_11 сопоставляющий на отдельном регистре COEF_REG_1.

4. Установите Опцию на Заданный импортированным файлом IP-XACT

a. В диалоговом окне Configuration Parameters выберите представление TLM Generator в левой панели.

b. Во вкладке TLM Mapping, при Отображении Сокета, выбирают Defined импортированным файлом IP-XACT.

c. Под Импортом Файл IP-XACT просмотрите к местоположению файла IP-XACT, как показано в следующем изображении.

5. Установите другие опции

Установите остающиеся опции Генерации TLM согласно своим настройкам (или оставьте значения по умолчанию, как они), и нажмите ОК, чтобы применить эти настройки и выйти из диалогового окна Configuration Parameters.

6. Создайте модель

В окне модели щелкните правой кнопкой по блоку DualFilter и выберите C/C ++ Code> Generate Code для этой Подсистемы. Эта опция запускает генерацию компонента TLM. Кроме того, можно выполнить следующую команду в окне команды MATLAB:

  >> buildTlmgDemoModel('ipxactmem');

Генерация TLM завершается, когда следующее сообщение появляется в окне команды MATLAB:

### Starting Simulink Coder build procedure for model: DualFilter
### Successful completion of Simulink Coder build procedure for model: DualFilter

7. Открытые сгенерированные файлы

Откройте следующий файл в редакторе MATLAB:

DualFilter_VP/DualFilter_ipxactmem_tlm/include/DualFilter_ipxactmem_tlm_def.h

8. Исследуйте сгенерированный код

Используя редактора MATLAB, найдите следующие строки кода. Эти строки представляют определения ввода и вывода КИХ-Фильтра, когда сгенерировано как компонент TLM без карты распределения памяти.

Чтобы обеспечить набор входа к сгенерированному компоненту TLM, инициатор TLM должен отправить два, пишут транзакции TLM во Входном сокете:

  • один с полезной нагрузкой, содержащей данные типа INPUT_REG_1_T в адресе INPUT_REG_1_ADDR.

  • один с полезной нагрузкой, содержащей данные типа INPUT_REG_2_T в адресе INPUT_REG_2_ADDR.

Чтобы получить набор вывода от сгенерированного компонента TLM, инициатор TLM должен отправить три, читает транзакции TLM в Выходном сокете::

  • один с полезной нагрузкой, содержащей данные типа OUTPUT_REG_1_T в адресе OUTPUT_REG_1_ADDR.

  • один с полезной нагрузкой, содержащей данные типа OUTPUT_REG_2_T в адресе OUTPUT_REG_2_ADDR.

Чтобы изменить сгенерированный настраиваемый параметр компонента TLM coef_11, инициатор TLM должен отправить записи транзакцию TLM без адреса в сокете Config и с полезной нагрузкой, содержащей данную величину типа COEF_REG_1_T в адресе COEF_REG_1_ADDR.

Для просмотра документации необходимо авторизоваться на сайте