exponenta event banner

uvmbuild

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

Описание

пример

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

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

  • Подсистема последовательности 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');

Наблюдение за сформированными выходными данными

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

  • top содержит верхний модуль SystemVerilog и сгенерированные сценарии для выполнения в среде моделирования HDL.

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

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

  • scoreboard содержит созданное UVM-табло.

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

Запустить созданный испытательный стенд UVM

  1. Запустите программу Modelsim ® или Questasim в режиме графического интерфейса пользователя.

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

  3. В имитаторе ЛПВП введите следующую команду для запуска моделирования: 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