реклама на сайте
подробности

 
 
> Что такое UVM?, Зачем он нужен, как пользоваться?
Олег Гаврильченк...
сообщение Mar 5 2018, 14:42
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Хочу разобраться с тем, что такое UVM. На официальном сайте скачивал примеры и документацию. Но не смог разобраться по ней. Я понял, что это некая методология тестирования, но не понял, в чем ее смысл.
Прошу тех, кто пользуется UVM поделиться примерами, ссылками. Рассказать о UVM.
Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yes
сообщение Mar 5 2018, 18:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



сильно упрощая - это как переход от С к С++
то есть в мире появилось много ООП программистов, наверно, их сейчас специально учат в институтах, и чтобы применять их навыки для верификации HDL и придумали UVM (до этого были OVM, RVM ну и немного сбоку VMM)

то есть если переход в программировании от С к С++ кажется бессмысленным, то совершено не имеет смысла тратить время на OVM

OVM, по-моему, полезна для отладки каких-то протоколов передачи данных (по крайней мере я других примеров не видел, что в учебниках, что в коде субподрядчиков), а пытаться применять для отладки каких-либо DSP алгоритмов, вычислительных ядер, или простых FSM смысла мало
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Mar 5 2018, 19:15
Сообщение #3


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(yes @ Mar 5 2018, 21:55) *
сильно упрощая - это как переход от С к С++
то есть в мире появилось много ООП программистов, наверно, их сейчас специально учат в институтах, и чтобы применять их навыки для верификации HDL и придумали UVM (до этого были OVM, RVM ну и немного сбоку VMM)

то есть если переход в программировании от С к С++ кажется бессмысленным, то совершено не имеет смысла тратить время на OVM

OVM, по-моему, полезна для отладки каких-то протоколов передачи данных (по крайней мере я других примеров не видел, что в учебниках, что в коде субподрядчиков), а пытаться применять для отладки каких-либо DSP алгоритмов, вычислительных ядер, или простых FSM смысла мало

Странно. Мне всегда казалось что UVM как и OSVVM ( то-же что и UVM но на VHDL) - это определенный набор методик для генерации набора псевдослучайных тестов, позволяющих максимально полно проверить реакцию тестируемого модуля на эти тесты.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Mar 5 2018, 20:20
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(Flip-fl0p @ Mar 5 2018, 22:15) *
Странно. Мне всегда казалось что UVM как и OSVVM ( то-же что и UVM но на VHDL) - это определенный набор методик для генерации набора псевдослучайных тестов, позволяющих максимально полно проверить реакцию тестируемого модуля на эти тесты.
Генерация псевдослучайных тестов это constraint random-base verification и это не главное в UVM.

UVM это в первую очередь методология позволяющая упростит и стандартизировать построение сложных верификационных платформ и соответствующая OOP библиотека которая поддерживает эту методологию.
Если грубо - выделяются стандартные этапы верификации, набор ролей версификационных модулей. Стандартизируются потоки управления и интерфейсы между ними. Добавляется механизм сквозной динамической конфигурации без необходимости пере-компиляции. ( короче : правила - формальности - бюрократия sad.gif ни ка какого свободного творчества и полета фантазии).
Цель соответственно благая - повысить reusable-ность верификации и соответственно снизить стоимость.

Но увы это не золотая пуля - полноценное применение методологии UVM (как и подобной ей) имеет смысл в больших командах с разделением обязанностей и длительным первоначальным периодом вхождения в эту технологию и наработки своей версификационной базы.

Саму же UVM библиотеку можно использовать и как есть почти без оглядки на методологию.

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Mar 6 2018, 07:12
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Немного добавлю к словам Роба, если вы и чтец и жнец и плисовод, вполне возможно, что "простое" окружение на SV будет вам дешевле, чем осваивать UVM.
С другой стороны, сам сталкивался с такой ситуацией при блочном моделировании, когда верифицируемый модуль имеет несколько асинхронных друг относительно друга интерфейсов
и тут с fork join уже как то не уютно и невольно смотришь в сторону UVM. Еще UVM хорошо тем, что есть удобный механизм добавления monitors с различными covergroups, coverpoints, etc.
Что дает численную метрику прогресса и качества верификации модуля.
Но в целом, UVM хорошо, когда есть разделение труда и от одного корневого спека начинают работать и верификаторы и дизайнеры, тогда тестовые окружения выполняются в одном контексте,
что дает и reuse и переносимость кода от одного разработчика к другому.

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01313 секунд с 7
ELECTRONIX ©2004-2016