DPI-

Испытательных стендов SystemVerilog

HDL Verifier™ предоставляет два типа испытательных стендов, которые генерируют компонент на C-языке и интегрируют его в испытательный стенд SystemVerilog с интерфейсом прямого программирования (DPI). Один испытательный стенд проверяет сгенерированный компонент C на соответствие сохраненным векторам данных из Simulink® подсистема. Другой испытательный стенд проверяет сгенерированный HDL-код на основе компонента C, сгенерированного из всей модели Simulink.

  • Компонент Испытательного стенда - Когда вы генерируете компонент C из подсистемы Simulink для использования в качестве компонента DPI, можно опционально сгенерировать испытательный стенд SystemVerilog. Испытательный стенд проверяет сгенерированный компонент DPI на соответствие векторам данных из вашей модели Simulink. Эта функция доступна в диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) под Code Generation. См. «Генерация компонента DPI SystemVerilog».

  • HDL Code Испытательного стенда - Когда вы генерируете HDL-код из подсистемы, используя HDL- Coder™, вы можете опционально сгенерировать испытательный стенд SystemVerilog. Этот испытательный стенд сравнивает выходы реализации HDL с результатами модели Simulink. Вы можете получить доступ к этой функции в HDL Workflow Advisor по пути HDL Code Generation > Set Testbench Options или в диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) по пути HDL Code Generation > Test Bench. Кроме того, для доступа из коммандной строки установите GenerateSVDPITestBench свойство makehdltb (HDL Coder). См. раздел Проверка HDL- Проекта с использованием DPI- Испытательного стенда SystemVerilog (HDL Coder).

Для обоих типов испытательных стендов требуется лицензия Simulink Coder™.

Ограничения

  • HDL Verifier преобразует матрицы и векторы в одномерные массивы в SystemVerilog. Например, матрица 4 на 2 в Simulink преобразуется в одномерный массив из восьми элементов в SystemVerilog.

  • Эти подсистемы не поддерживают генерацию испытательного стенда DPI:

    • Триггируемая подсистема

    • Включенная подсистема

    • Подсистема с портом действия

Компонентные Испытательные стенды

Генератор компонента DPI SystemVerilog также создает испытательный стенд. Можно использовать этот испытательный стенд, чтобы убедиться, что сгенерированный компонент SystemVerilog функционально эквивалентен исходной подсистеме Simulink. Испытательный стенд сохраняет векторы данных из симуляции Simulink, чтобы применить их в качестве стимулов и проверить соответствие выходу компонента. Этот испытательный стенд не предназначен для замены стенда системного тестирования для вашего собственного применения. Однако сгенерированный испытательный стенд можно использовать в качестве исходного примера для собственного системного испытательного стенда.

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

Примечание

HDL Verifier не поддерживает генерацию испытательного стенда для пользовательского кода SystemVerilog. См. раздел Индивидуальную настройку.

Многоступенчатый компонентный Испытательный стенд

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

Файлы HDL- Испытательного стенда

Когда вы генерируете HDL-код из подсистемы, с помощью HDL Coder, вы также можете сгенерировать испытательный стенд SystemVerilog DPI. Этот испытательный стенд сравнивает выходы реализации HDL с результатами модели Simulink. В дополнение к коду С для вашей подсистемы DUT, кодер также генерирует код С для фрагмента вашей модели, которая генерирует входные стимулы. Генерация этого испытательного стенда происходит быстрее, чем HDL- испытательного стенда по умолчанию для больших наборов данных. Это преимущество связано с тем, что кодер не запускает модель Simulink, чтобы получить векторы входных и выходных данных. Сгенерированный компонент C вычисляет вход раздражители и результаты выхода для сравнения с реализацией HDL.

Сгенерированный испытательный стенд SystemVerilog включает в себя:

  • Сгенерированный Verilog® или VHDL® код для вашей подсистемы

  • Сгенерированный компонент C

  • Код для сравнения вывода HDL-кода с выходом компонента C.

Запустите этот испытательный стенд, чтобы убедиться, что сгенерированный HDL-код реализует тот же алгоритм, что и ваша модель Simulink.

Похожие темы