Jump to content

Универсальная методология проверки

Универсальная методология проверки ( UVM ) — это стандартизированная методология проверки проектов интегральных схем . UVM происходит главным образом от OVM ( методологии открытой проверки ), которая по большей части основана на eRM (методологии повторного использования электронных данных) для языка электронной проверки, разработанной Verisity Design в 2001 году. Библиотека классов UVM обеспечивает структуру и автоматизацию для язык SystemVerilog, такой как последовательности и функции автоматизации данных (упаковка, копирование, сравнение) и т. д., и в отличие от предыдущих методологий, разработанных независимо поставщиками EDA (автоматизация электронного проектирования), является стандартом Accellera с поддержкой нескольких поставщиков: Aldec, Cadence, Mentor Graphics (Siemens), Synopsys, Xilinx Simulator (XSIM).

В декабре 2009 года технический подкомитет Accellera — организации по стандартизации в отрасли автоматизации электронного проектирования (EDA) — проголосовал за создание UVM и решил основать этот новый стандарт на методологии открытой проверки (OVM-2.1.1). [1] методология проверки, разработанная совместно в 2007 году компаниями Cadence Design Systems и Mentor Graphics .

21 февраля 2011 г. Accellera утвердила версию UVM 1.0. [2] UVM 1.0 включает в себя Справочное руководство, Справочную реализацию в форме библиотеки базовых классов SystemVerilog и Руководство пользователя. [2]

Фабрика это широко используемое понятие в объектно-ориентированном программировании. Это объект , который используется для создания экземпляров других объектов. Есть два способа зарегистрировать объект в фабрике UVM. В объявлении класса A можно вызвать макросы регистрации `uvm_object_utils(A) или `uvm_compent_utils(A). В противном случае макросы `uvm_object_registry(A,B) или `uvm_comComponent_registry(A,B) могут использоваться для сопоставления строки B с типом класса A. [3] Фабрика UVM предоставляет множество методов создания, которые позволяют пользователю создавать экземпляр объекта с определенным именем экземпляра и зарегистрированного типа. [4]

Секвенсор

[ редактировать ]

Секвенсор отвечает за три основные функции:

  • Переведите DUT (тестируемую конструкцию) и среду проверки в состояние инициализации.
  • Настройка среды проверки и DUT
  • Полная генерация сценария DUT

Инициализация

[ редактировать ]

На этом этапе DUT (тестируемое устройство) и среда испытательного стенда должны быть настроены на желаемые начальные условия. Обычно это включает в себя:

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

Описание

[ редактировать ]

Табло можно реализовать разными способами. Вообще говоря, табло принимает входные и выходные данные тестируемого устройства, определяет, каким должно быть соотношение входов и выходов, и оценивает, соответствует ли тестируемое устройство спецификации. Эта взаимосвязь ввода-вывода часто задается моделью, называемой предиктором. [3] Предиктор может быть реализован на языке программирования более высокого уровня, например SystemC.

Детали реализации

[ редактировать ]

Классы табло UVM реализованы как подклассы класса uvm_scoreboard, который сам по себе является подклассом uvm_comComponent. uvm_scoreboard — это чистый лист для реализации табло. Он содержит только один метод класса, а именно «новый» метод конструктора. Остальная часть реализации определяется пользователем. [5]

Описание

[ редактировать ]

В современных СБИС ИУ может иметь несколько интерфейсов. С каждым из этих интерфейсов могут быть связаны разные объекты UVM. Например, если DUT является полнокристальным, могут быть отдельные интерфейсы для PCI, Ethernet и других стандартов связи. Табло и монитор для интерфейса PCI будут отличаться от тех, что используются для интерфейса Ethernet. Различные объекты UVM могут быть организованы как члены класса-оболочки, известного как агент. Пассивные агенты будут анализировать только значения портов интерфейса и должны содержать член монитора. Активные агенты будут управлять портами и должны содержать член драйвера, возможно, в дополнение к члену монитора. [6]

Детали реализации

[ редактировать ]

Классы агентов UVM реализованы как подклассы класса uvm_agent, который сам является подклассом uvm_comComponent. Как и uvm_scoreboard, uvm_agent упрощен с точки зрения методов класса. Его единственные методы класса — это «новый» конструктор и метод «get_is_active». Если агент используется для управления портами, get_is_active возвращает UVM_ACTIVE. В противном случае get_is_active возвращает UVM_PASSIVE.

Водитель

[ редактировать ]

Описание

[ редактировать ]

Элементы последовательности теста описываются абстрактно. Например, если DUT представляет собой файл регистров, он может иметь порты для адреса чтения и адреса записи. Объект элемента последовательности может иметь переменные-члены для адреса чтения и адреса записи. Однако эти значения в конечном итоге должны стать битами на входных контактах тестируемого устройства. [7] При подаче стимула на DUT может даже использоваться экзотическое кодирование, которое должно быть абстрагировано от остальной части агента. Ответственность драйвера состоит в том, чтобы взять эти элементы последовательности и обеспечить надлежащий стимул для портов DUT. [3]

Детали реализации

[ редактировать ]

Классы драйверов UVM реализованы как подклассы класса uvm_driver, который сам по себе является подклассом uvm_comComponent. [5]

Определения

[ редактировать ]
  • Агент — контейнер, который эмулирует и проверяет устройства DUT.
  • Блокировка — интерфейс, который блокирует задачи из других интерфейсов до их завершения.
  • DUT — тестируемое устройство, что вы на самом деле тестируете
  • DUV – устройство на проверке
  • Компонент — часть проверяемой интеллектуальной собственности, имеющая интерфейсы и функции.
  • Транзактор — см. компонент
  • Конфигурация среды проверки — те настройки в тестируемом устройстве и среде, которые можно изменить во время моделирования.
  • VIP – проверка интеллектуальной собственности

УВМ-макросы

[ редактировать ]

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

имя функция связанный с параметры цель Тип макроса
`uvm_create конструктор объекта `uvm_send Последовательность или элемент создать объект и позволить пользователю устанавливать значения посредством перегрузки или передачи параметров Макрос последовательного действия
`uvm_send процессор `uvm_create Последовательность или элемент обрабатывает то, что создано `uvm_create, без рандомизации Макросы действий последовательности для уже существующих последовательностей
`uvm_do процессор `uvm_create Последовательность или элемент выполняет класс или элемент с рандомизацией Макрос последовательного действия
  1. ^ «Обновление стандартизации VIP‐TSC» (PDF) . Архивировано из оригинала (PDF) 27 сентября 2011 г.
  2. ^ Jump up to: а б «Технический подкомитет по проверке интеллектуальной собственности (UVM)» . Архивировано из оригинала 15 августа 2011 г. Проверено 12 июля 2024 г.
  3. ^ Jump up to: а б с «Руководство пользователя по универсальной методологии проверки (UVM) 1.2» (PDF) . п. 130.
  4. ^ «Фабрика УВМ» .
  5. ^ Jump up to: а б «Справочник классов универсальной методологии проверки (UVM) 1.2» (PDF) . Июнь 2014.
  6. ^ «Быстрое внедрение UVM: практическая часть UVM» (PDF) . п. 10.
  7. ^ «Элемент последовательности UVM» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9ad2b0100a5342524470ffd6c2a4e46e__1720782360
URL1:https://arc.ask3.ru/arc/aa/9a/6e/9ad2b0100a5342524470ffd6c2a4e46e.html
Заголовок, (Title) документа по адресу, URL1:
Universal Verification Methodology - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)