Тестовая точка компонента SystemVerilog DPI доступ

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

Шаг 1. Выберите Internal Signals

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Из вашей модели выберите Simulation> Model Configuration Parameters.

  2. От левой панели выберите Code Generation> Interface.

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

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

  1. В Model Configuration Parameters, на левой панели, выбирают Code Generation> SystemVerilog DPI.

  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, инструмент не генерирует функции доступа.

Похожие темы