uvmbuild

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

Описание

пример

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

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

  • Подсистема последовательности 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 директория содержит SystemVerilog-DPI поведенческий DUT.

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

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

  • 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-подсистемы или полный блок path.

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

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

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

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

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

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

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

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

Аргументы name-value

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

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

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

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

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

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

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

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

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

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

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

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

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

Введенный в R2019b