exponenta event banner

Создать компонент DPI SystemVerilog

Шаг 1. Выбрать цель

  1. Откройте модель и на вкладке Приложения (Apps) щелкните Верификатор HDL (HDL Verifier). Затем на вкладке HDL Verifier щелкните C Code Settings. Откроется диалоговое окно Параметры конфигурации (Configuration Parameters) на панели Создание кода (Code Generation).

  2. В разделе Системный целевой файл (System target file) в разделе Целевой выбор (Target Selection) щелкните Обзор (Brow Выбрать systemverilog_dpi_grt.tlc из списка.

    • Кроме того, при наличии лицензии Embedded Coder ® можно выбрать целевойsystemverilog_dpi_ert.tlc. Этот целевой объект позволяет получить доступ к дополнительным опциям создания кода на панели Создание кода (Code Generation) диалогового окна Параметры конфигурации модели (Model Configuration Parameters).

      При создании кроссплатформенного компонента необходимо выбрать systemverilog_dpi_ert.tlc для параметра System target file.

Шаг 2. Выбрать цепочку инструментов

На панели «Создание кода» выберите цепочку инструментов. Чтобы создать общую библиотеку для той же операционной системы, что и хост-компьютер, выберите компилятор из списка установленных компиляторов или выберите Automatically locate an installed toolchain. Чтобы использовать компилятор, входящий в состав имитатора HDL, или создать компонент для другой операционной системы, или создать проект имитатора HDL, а не общую библиотеку, выберите имитатор HDL и целевую операционную систему.

Для кроссплатформенного создания выберите Код пакета и артефакты для создания .zip для портирования созданных файлов на конечный компьютер. См. раздел Создание межплатформенных компонентов DPI.

При необходимости можно добавить дополнительные флаги компиляции. В разделе Конфигурация сборки (Build Configuration) выберите Specify. Для отображения текущих флагов нажмите кнопку «Показать настройки».

Шаг 3. Включить доступ к тестовой точке (необязательно)

Выполните этот шаг, если внутренние сигналы в модели обозначены как контрольные точки и требуется получить доступ к ним в сгенерированном компоненте DPI.

  1. На левой панели выберите «Создание кода» > «Интерфейс».

  2. Убедитесь, что в разделе Generate C API for установлен флажок signals.

  3. Выберите «Создание кода» > «SystemVerilog DPI».

  4. Для параметра Generate access function to test point (Создать функцию доступа к контрольной точке) выберите One function per Test Point или One function for all Test Points.

См. раздел Доступ к контрольным точкам компонента SystemVerilog DPI.

Шаг 4. Настройка параметров создания SystemVerilog

  1. На левой панели выберите Создание кода > SystemVerilog DPI.

  2. Выберите Отчет об ошибке во время выполнения, чтобы экспортировать ошибки во время выполнения из Simulink ® в моделирование HDL. Не все блоки Simulink обеспечивают проверку ошибок во время выполнения. Можно добавить проверки времени выполнения, добавив блок Assertion в модель Simulink.

  3. Выберите Генерировать стенд для создания стенда. Стенд проверяет сформированный компонент C на наличие векторов данных из подсистемы Simulink.

  4. В разделе SystemVerilog Ports установите эти параметры.

    • Выберите типы данных SystemVerilog. (необязательно)

    • Установить подключение на Port list или Interface.

    • Задать для составного типа данных значение Structure. Этот параметр создает SystemVerilog struct типы данных для любых невиртуальных шин или для сложных типов данных. Либо выберите Flattened для создания распрямленных портов.

    • Выберите Scalarize matrix и vector ports, чтобы создать несколько скалярных портов SystemVerilog из вектора или массива Simulink. Снимите этот флажок, чтобы сохранить массивы на интерфейсе.

    Совет

    При использовании Coder™ HDL для генерации кода сопоставьте сгенерированный интерфейс, выбрав следующие опции:

    • Задайте для типа данных Ports значение Logic Vector.

    • Задать для составного типа данных значение Flattened.

    • Выберите Scalarize matrix и vector ports.

  5. Нажмите кнопку ОК, чтобы принять эти настройки и закрыть диалоговое окно Параметры конфигурации (Configuration Parameters).

Шаг 5. Создать компонент DPI SystemVerilog

  1. В модели щелкните правой кнопкой мыши блок, содержащий подсистему, из которой требуется создать компонент. Выберите «Код» > «Код C/C + +» > «Построить эту подсистему».

  2. В диалоговом окне нажмите кнопку «Построить».

    Компонент SystemVerilog создается как subsystem_build/subsystem_dpi.sv, где subsystem - имя подсистемы, из которой был создан компонент DPI. Это построение также приводит к созданию файла пакета с именем subsystem_build/subsystem_dpi_pkg.sv, которая включает все объявления функций для компонента.

При построении компонента для хост-машины теперь можно использовать этот компонент. Чтобы скопировать созданный компонент на другой компьютер с той же операционной системой, скопируйте следующие файлы:

  • Общая библиотека, subsystem.so, или subsystem_win64.dll

  • Сгенерированная оболочка SystemVerilog, subsystem_dpi.sv

  • Созданный файл пакета SystemVerilog, subsystem_dpi_pkg.sv

  • Папка сформированного стенда, dpi_tb (необязательно)

Чтобы подключить компонент к другой машине с другой операционной системой, следуйте инструкциям в разделе Создание кроссплатформенных компонентов DPI.

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