uvmbuild

Сгенерируйте испытательный стенд UVM из модели Simulink

Описание

пример

uvmbuild(dut,sequence,scoreboard) генерирует модуль верхней части SystemVerilog, который включает в себя универсальную методологию верификации (UVM) испытательного стенда и тестируемый поведенческий проект (DUT). Испытательный стенд UVM включает последовательность, табло, мониторы и драйверы. uvmbuild карты функций:

  • Simulink® Подсистема DUT к сгенерированному DPI-поведению SystemVerilog

  • Подсистема последовательности Simulink к блоку последовательности UVM

  • Подсистема табло Simulink на табло UVM

uvmbuild(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Для примера, 'Driver','mySLTopModule/myDriver' генерирует драйвер UVM из подсистемы Simulink, заданный как 'mySLTopModule/myDriver'.

Примеры

свернуть все

Структура модели Simulink

Этот пример использует модель Simulink ®, которая включает эти три подсистемы.

  • Подсистема последовательности, которая генерирует стимул для DUT.

  • Подсистема DUT, которая представляет ваш HDL- проекту.

  • Подсистема табло, которая собирает выходы и проверяет их. В этом примере DUT является блоком простой задержки.

open_system('hdlv_uvmbuild');

Сгенерируйте UVM- Испытательного стенда

Сгенерируйте испытательный стенд UVM из этой модели Simulink, указав пути к подсистемам DUT, последовательности и табло.

uvmbuild('hdlv_uvmbuild/DUT','hdlv_uvmbuild/Sequence','hdlv_uvmbuild/Scoreboard');

Наблюдение сгенерированного выхода

The uvmbuild функция создает директорию с именем hdlv_uvmbuild_uvmbuild содержащий uvm_testbench директория. The uvm_testbench директория включает эти подкаталоги.

  • The top Директория включает модуль верхней части SystemVerilog и сгенерированные скрипты для выполнения в HDL- среды симуляции.

  • The DPI_dut директория содержит поведенческую DUT SystemVerilog-DPI.

  • The sequence директория содержит сгенерированный тип транзакции последовательности и UVM-секвенсор, который управляет транзакцией в DUT.

  • The scoreboard директория содержит сгенерированное табло UVM.

  • The uvm_artifacts директория содержит компоненты UVM, такие как мониторы, драйверы и агенты, необходимые для окружения UVM.

Запуск сгенерированных UVM- Испытательного стенда

  1. Запустите Modelsim ® или Questasim в режиме GUI.

  2. В симуляторе HDL перейдите в верхнюю директорию: cd hdlv_uvmbuild_uvmbuild\uvm_testbench\top\

  3. В симуляторе HDL введите эту команду, чтобы запустить симуляцию: do run_tb_mq.do

Входные параметры

свернуть все

Проект тестовой подсистемы, заданный как вектор символов или строковый скаляр, представляющий имя DUT-подсистемы или полный путь к блоку.

Пример: 'hdlv_uvmbuild/DUT'

Типы данных: char | string

Подсистема последовательности, заданная как вектор символов или строковый скаляр, представляющий имя последовательности-подсистемы или полный путь блока.

Пример: 'hdlv_uvmbuild/sequence'

Типы данных: char | string

Подсистема табло, заданная как вектор символов или строковый скаляр, представляющий имя табло-подсистемы или полный блок путь.

Пример: 'hdlv_uvmbuild/scoreboard'

Типы данных: char | string

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: uvmbuild('top/dut','top/seq','top/scr','Driver','top/drv','Monitor','top/mon')

Подсистема драйвера, заданная как вектор символов или строковый скаляр, представляющий имя подсистемы драйвера или полный путь к блоку. По умолчанию, uvmbuild функция генерирует пройденный драйвер UVM.

Пример: 'hdlv_uvmbuild/driver'

Типы данных: char | string

Монитор подсистемы, заданный как вектор символов или строковый скаляр, представляющий имя подсистемы монитора или полный путь к блоку. По умолчанию, uvmbuild функция генерирует сквозной монитор UVM.

Пример: 'hdlv_uvmbuild/monitor'

Типы данных: char | string

Подсистема предиктора, заданная как вектор символов или строковый скаляр, представляющий имя подсистемы предиктора или полный путь блока.

Пример: 'hdlv_uvmbuild/predictor'

Типы данных: char | string

Параметры конфигурации UVM, заданные как разделенная разделенными запятой парами, состоящая из 'Config' и uvmcodegen.uvmconfig объект строения. Используйте это значение для настройки сгенерированного испытательного стенда UVM.

Типы данных: char | string

Введенный в R2019b