exponenta event banner

Доступ к контрольной точке компонента SystemVerilog DPI

Можно обозначить внутренние сигналы в модели в качестве контрольных точек и настроить генератор SystemVerilog DPI для создания одной или нескольких функций доступа. Также можно включить ведение журнала по контрольным точкам. Затем можно использовать созданный стенд для сравнения данных Simulink ® со значениями, наблюдаемыми при выполнении компонента SystemVerilog .

Шаг 1. Выбор внутренних сигналов

Выберите внутренний сигнал в модели, следуя следующим инструкциям:

  • Включите тестовую точку в источнике сигнала. Если контрольная точка находится на соединительном сигнале, например, между подсистемами, сигнал может быть оптимизирован из сгенерированного кода.

  • Выберите сигнал, который не является входом или выходом компонента. При выборе сигнала ввода-вывода генератор не предоставляет функцию доступа. Такая функция доступа является избыточной, поскольку у вас уже есть видимость сигналов ввода-вывода.

  • Сложные сигналы не поддерживаются.

  • Виртуальные сигналы и шины не поддерживаются.

  • Время непрерывной, асинхронной и запускаемой выборки не поддерживается.

  • Многоскоростные конструкции не поддерживаются для регистрации сигналов. Можно добавить тестовую точку и создать функцию доступа. Однако испытательный стенд является односкоростным и не может выполнять сравнение с записанными данными на разных скоростях.

  • Ссылки на модель не поддерживаются. Если требуется добавить тестовую точку в привязку модели, сначала необходимо вывести сигнал из привязки модели. Как только сигнал будет доступен в модели, его можно будет выбрать в качестве контрольной точки.

Шаг 2. Добавить контрольные точки

  1. В модели щелкните правой кнопкой мыши сигнал и выберите Свойства (Properties).

  2. Установите флажок Контрольная точка.

  3. Присвойте контрольной точке уникальное имя в поле Signal name.

  4. При необходимости выберите Log signal data. Этот флажок позволяет созданному тестовому стенду сравнивать записанные данные из модели со значениями, наблюдаемыми при выполнении сгенерированного компонента. Испытательный стенд использует сгенерированные функции доступа для выборки значений сигнала во время моделирования.

Дополнительные сведения о тестовых точках и регистрации в Simulink см. в разделе Настройка сигналов как тестовых точек (Simulink).

Шаг 3. Включить интерфейс компонента

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

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

  3. В окне Generate C API for убедитесь, что установлен флажок signals. Другие флажки не влияют на компонент DPI или тестовый стенд.

Шаг 4. Настройка функции доступа

  1. На вкладке Проверка HDL (HDL Verifier) щелкните Система (System) Настройки Верилог (Verilog Settings).

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

    При выборе One function for all Test Points, одна функция возвращает значения для всех контрольных точек.

    DPI_TestPointAccessFcn(input chandle objhandle,input real Name1,inout real Name2);

    При выборе One function per Test Pointкаждый сигнал имеет отдельную функцию доступа.

    DPI_Name_TestPoint(input chandle objhandle,inout real Name);

    При выборе None, инструмент не генерирует функции доступа.

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