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

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

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

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

  1. Настройте свою модель Simulink для DPI и генерации UVM. На вкладке Modeling в Simulink нажмите Model Settings. В диалоговом окне Configuration Parameters выберите Code Generation на левой панели. Затем установите 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, установленном эти значения.

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

    • Minimum – Установите минимальное значение для сгенерированного параметра UVM.

    • Maximum – Установите максимальное значение для сгенерированного параметра UVM.

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

    • Storage class – Выберите Model default, SimulinkGlobal, или ExportedGlobal.

      Используйте Model default когда ваш параметр специфичен для экземпляра. Используйте любой SimulinkGlobal или ExportedGlobal сгенерировать глобальную переменную. Установка Storage class к Auto оптимизирует параметр во время генерации кода и не рекомендуется.

  3. Используйте параметр, который вы создали в подсистеме последовательности вашей модели Simulink. Например, можно параметрировать блок Constant (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 пусты, эта функция пуста.

Смотрите также

Похожие темы