verify
ОператорМожно использовать verify
операторы от Simulink® Test™ в вашей модели Simulink, чтобы сгенерировать утверждение SystemVerilog и собрать функциональную информацию покрытия. При использовании Test Assessment (Simulink Test) или Test Sequence (Simulink Test) блоки, можно оценить поведение модели включением verify
операторы в тестовой последовательности. Сопоставлять verify
операторы к утверждению SystemVerilog, сгенерируйте SystemVerilog DPI испытательный стенд или Универсальной методологии верификации (UVM) компонента из вашей модели Simulink.
В Simulink создайте модель для устройства под тестом (DUT) и создайте испытательный стенд для модели с помощью Test Assessment (Simulink Test) или Test Sequence (Simulink Test) блоки. Используйте Тестовый Редактор Последовательности (Simulink Test), чтобы создать и отредактировать тестовые шаги. В тестовой последовательности используйте verify
операторы, чтобы оценить симуляцию, как описано в Тестовом Синтаксисе Последовательности и Оценки (Simulink Test).
Можно использовать несколько verify
операторы в вашей модели. В SystemVerilog, каждом verify
оператор сопоставлен с утверждением и точкой покрытия. Можно настроить цели покрытия, отфильтровать определенные утверждения и видеть многословную информацию для каждого из проверять операторов.
verify
оператор наряду с блоком Test Sequence представляет временную регистрацию Simulink. При генерации компонента SystemVerilog DPI временная логика расположена в сгенерированном коде C. Обертка SystemVerilog содержит мгновенное утверждение, которое инициировало, когда проверять условие нарушено.
При симуляции проекта в Simulink симуляция предупреждает если verify
сбои оценки.
Можно просмотреть и смотреть результаты симуляции при помощи Simulation Data Inspector (Simulink). Откройте Simulation Data Inspector путем ввода этого кода в командной строке MATLAB®.
Simulink.sdi.view
Чтобы просматривать сигналы в зависимости от времени, выберите их на левой панели Simulation Data Inspector.
verify
ОператорВ диалоговом окне Configuration Parameters выберите Code Generation на левой панели. Под Target Selection, набор System Target File к systemverilog_dpi_grt.tlc
или к systemverilog_dpi_ert.tlc
при использовании Embedded Coder®.
Выберите SystemVerilog DPI на левой панели. Под SystemVerilog Ports, набор тип данных и настройки подключения. Нажмите OK.
Примечание
Чтобы сгенерировать Компонент DPI, блок Test Assessment или блок Test Sequence должны быть в Подсистеме Simulink.
В Simulink щелкните правой кнопкой по блоку подсистемы, который содержит тестовую последовательность, и выберите C/C++ Code> Build This Subsystem. Нажмите Build в диалоговом окне, которое открывается.
В качестве альтернативы можно использовать командную строку MATLAB, чтобы сгенерировать компонент DPI. Используйте rtwbuild
(Simulink Coder) функция, чтобы создать систему. Например, чтобы создать подсистему по имени "My_verify_tst", введите этот код в командной строке MATLAB.
rtwbuild('My_verify_tst');
Можно также использовать uvmbuild
функция, чтобы сгенерировать испытательный стенд UVM. Если ваша тестовая модель содержит verify
операторы, они сопоставлены с утверждениями в вашей среде UVM, и данные о покрытии собраны.
Измените свою текущую папку в dpi_tb
папка, которая находится под папкой генерации кода в вашей установке симулятора HDL. Запустите свой симулятор HDL и запустите сгенерированный скрипт, чтобы запустить симуляцию. Симуляция выход сопоставима с Simulink выход.
После того, как симуляция завершается, информация о покрытии отображена для каждого verify
оператор. По умолчанию утверждение рассматривается покрытым, если оно было протестировано, по крайней мере, однажды.
Для получения дополнительной информации о выполнении симуляции HDL смотрите, Проверяют Сгенерированный Компонент По Данным Simulink.
Каждая сгенерированная ошибка или предупреждение отображений уникальное имя, идентифицирующее его источник. Тот номер является идентификатором Simulink (SID) того блока. Например, этот журнал показывает ошибку, которая была сгенерирована блоком с SID Req_scenario_4:32:60
.
# ** Error: Req_scenario_4:32:60: At step 'Check2' verify id 'Simulink:verify_sc4_off' Failed
У вас может быть несколько шагов в тестовой последовательности, которые используют verify
оценка или несколько компонентов DPI, регистрирующих предупреждения от симуляции. В вашей тестовой модели можно отфильтровать сгенерированный выход для определенного verify
проверяет определение связанного SID как плюс аргумент на командной строке и приравнивании SID к -1
. Например, чтобы выключить весь выход и функциональное покрытие для SID Req_scenario_4:32:60
, введите этот код в командной строке HDL.
vsim -classdebug -c -voptargs=+acc -voptargs=+acc -sv_lib ../Req_4 work.Req_4_dpi_tb +Req_scenario_4:32:60=-1
Можно использовать verify
операторы, чтобы собрать функциональное покрытие во время симуляции SystemVerilog. После генерации SystemVerilog с помощью uvmbuild
или rtwbuild
(Simulink Coder) функции, задайте цели покрытия для каждого, проверяют оператор. После того, как симуляция SystemVerilog завершается, просмотрите результаты в сгенерированном файле журнала или используйте сторонний инструмент, чтобы извлечь результаты. Целью покрытия по умолчанию является по крайней мере одно передающее выполнение проверять утверждения.
Увеличить функциональную цель покрытия для определенного verify
оценка, задайте связанный SID как плюс аргумент в командной строке и приравняйте SID к своей цели покрытия. Например, чтобы увеличить цель покрытия verify
оператор с SID Req_scenario_4:32:60
от значения по умолчанию одной - двух передающих проверок введите этот код в командной строке HDL.
vsim -classdebug -c -voptargs=+acc -sv_lib ../Req_4 work.Req_4_dpi_tb +Req_scenario_4:32:60=2
По умолчанию сгенерированный компонент DPI выводит ошибку когда verify
оценка тестируется и перестала работать. Видеть дополнительный выход, сгенерированный verify
оценка, введите аргумент +VERBOSE_VERIFY
в командной строке симуляции HDL. Этот аргумент добавляет эту дополнительную информацию:
UNTESTED
– Когда verify
оценка не была протестирована
PASSED
– Когда verify
оценка была протестирована, и тест передал
Например, при использовании ModelSim®, введите этот код в командной строке.
vsim -classdebug -c -voptargs=+acc -sv_lib ../Req_4 work.Req_4_dpi_tb +VERBOSE_VERIFY
После выполнения симуляции SystemVerilog со сгенерированной тестовой последовательностью ваш файл журнала выводит предупреждения и ошибки. Чтобы идентифицировать, какой блок породил определенное предупреждение или вывод ошибок, используйте hilite_system
(Simulink) функция.
Например, чтобы подсветить блок, который сгенерировал предупреждение для SID Req_scenario_4:32:60
, введите этот код в командной строке MATLAB.
hilite_system('Req_scenario_4:32:60');
Этот рисунок подсвечивает проверять оператор и тестовый блок последовательности, который создал предупреждение.
Для получения дополнительной информации о SIDs смотрите Идентификаторы Simulink (Simulink).