exponenta event banner

Настраиваемые параметры в подсистеме последовательности

Если подсистема последовательности Simulink ® включает настраиваемые параметры, uvmbuild создает объект последовательности, содержащий параметр SystemVerilog для каждого настраиваемого параметра. Эти параметры могут быть рандомизированы, а их минимальные, максимальные значения и значения по умолчанию получаются из параметра Simulink.

Подготовка последовательности для создания UVM с настраиваемыми параметрами

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

  1. Настройте модель Simulink для создания DPI и UVM. На вкладке Моделирование (Modeling) в меню Симуляция (Simulink) щелкните Параметры модели (Model Settings). В диалоговом окне «Параметры конфигурации» выберите «Создание кода» на левой панели. Затем установите для параметра System target file значение systemverilog_dpi_grt.tlc Если у вас есть продукт Embedded Coder ®, можно также установить это значение какsystemverilog_dpi_ert.tlc.

  2. Создайте объект данных для параметра с помощью Simulink.Parameter (Simulink) объект. Например, для создания параметра с именем dataValueвведите этот код в командной строке MATLAB.

    dataValue = Simulink.Parameter
    open dataValue

    Определение свойств для dataValue параметр. В окне Simulink.Parameter задайте эти значения.

    • Значение (Value) - задает значение по умолчанию для сгенерированного параметра UVM.

    • Минимум (Minimum) - установка минимального значения для генерируемого параметра UVM.

    • Максимум (Maximum) - задает максимальное значение для сгенерированного параметра UVM.

    • Тип данных - задайте тип данных для сгенерированного параметра UVM. Для подсистемы последовательности обратите внимание на разницу между использованием целочисленных типов данных и типов данных с плавающей запятой для ограниченных случайных параметров.

    • Класс хранения - Выбрать Model default, SimulinkGlobal, или ExportedGlobal.

      Использовать Model default когда параметр зависит от экземпляра. Использовать либо SimulinkGlobal или ExportedGlobal для создания глобальной переменной. Установка для класса хранилища значения Auto оптимизирует параметр во время создания кода и не рекомендуется.

  3. Используйте параметр, созданный в подсистеме последовательности модели Simulink. Например, можно параметризовать блок константы (Simulink) для генерации случайных значений в заданном диапазоне, задав его Constant value (Simulink) для ранее определенного параметра Simulink.

Создать последовательность UVM

Используйте uvmbuild для создания тестового стенда UVM. В дополнение к файлам, регулярно генерируемым uvmbuild, функция добавляет компоненты в файл top_model_name_uvmbuild/uvm_testbench/sequence/mw_DUT_sequence.sv.

  • При использовании целочисленных типов данных последовательность содержит два добавленных блока кода случайного ограничения SystemVerilog.

    • Значение по умолчанию

    • диапазон

    Значения этих ограничений получаются из значения, заданного в параметре Simulink.

  • При использовании типов данных с плавающей запятой последовательность содержит эти две дополнительные функции.

    • pre_randomize - эта функция устанавливает значение по умолчанию для настраиваемого параметра.

    • post_randomize - эта функция проверяет, что значение, установленное для параметра, находится в диапазоне, определенном в параметре Simulink.

      При использовании целочисленных типов данных эти функции пусты.

Дополнительные сведения о файлах, созданных uvmbuild см. раздел Сгенерированные файлы и структура папок.

Параметры управляющей последовательности в UVM-моделировании

После генерации компонентов UVM для вашей системы вы можете управлять генерацией стимулов одним из этих двух способов.

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

Если настраиваемый параметр имеет тип данных с плавающей запятой, можно:

  • Напишите собственную функцию рандомизации с помощью pre_randomize функция.

  • Изменение значения параметра по умолчанию путем расширения pre_randomize функция.

post_randomize функция проверяет, что настраиваемый параметр с плавающей запятой находится в диапазоне, определенном в модели Simulink. Если свойства Minimum и Maximum параметра Simulink пусты, эта функция пуста.

См. также

Связанные темы