Доступ к тестовой точке компонента DPI SystemVerilog

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

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

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

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

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

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

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

  • Непрерывное, асинхронное и срабатывающие шаги расчета не поддерживаются.

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

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

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

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

  2. Установите флажок Test point.

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

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

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

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

  1. Откройте модель, а на вкладке Apps нажмите HDL Verifier. Затем на вкладке HDL Verifier нажмите C Code Settings. Диалоговое окно Configuration Parameters откроется на Code Generation.

  2. На левой панели в разделе Code Generation выберите Interface.

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

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

  1. На вкладке HDL Verifier нажмите SystemVerilog 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, инструмент не генерирует функции доступа.

Похожие темы

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