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

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


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

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



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


Гуру
******

Группа: Свой
Сообщений: 2 158
Регистрация: 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


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

Группа: Свой
Сообщений: 670
Регистрация: 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 127
Регистрация: 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


Местный
***

Группа: Свой
Сообщений: 376
Регистрация: 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
AVR
сообщение Mar 6 2018, 08:03
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 298
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



http://testbench.in/
UVM Tutorial


--------------------
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Mar 6 2018, 09:06
Сообщение #7


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

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



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

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

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

Где можно найти примеры применения UVM, OVM, VMM?
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение Mar 6 2018, 10:02
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 913
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Цитата
Где можно найти примеры применения UVM, OVM, VMM?

В nVidia, например.

А если что-то вроде "helloworld" в UVM, то на verilab.com можно найти такое.

Сообщение отредактировал one_eight_seven - Mar 6 2018, 10:04
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Mar 6 2018, 12:08
Сообщение #9


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

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



Цитата(one_eight_seven @ Mar 6 2018, 13:02) *
В nVidia, например.

А если что-то вроде "helloworld" в UVM, то на verilab.com можно найти такое.

В nVidia? Как найти примеры nVidia?
В официальной документации есть "Hello World"-примеры. Но из них непонятно, зачем нужно UVM. Хотелось бы найти как-раз работающий пример из реальной жизни, чтобы понять преимущества UVM-методологии.
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Mar 6 2018, 12:20
Сообщение #10


fpga designer
****

Группа: Свой
Сообщений: 608
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



посмотрите книгу UVM Primer - не знаю есть ли в пдф, но на амазоне всего 40 баксов, сам купил
Или же есть еще репозиторий их https://github.com/rdsalemi/uvmprimer - там тоже можно поизучать


--------------------
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Mar 6 2018, 12:21
Сообщение #11


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

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



Приветствую!
Цитата(Олег Гаврильченко @ Mar 6 2018, 15:08) *
...
В официальной документации есть "Hello World"-примеры. Но из них непонятно, зачем нужно UVM. Хотелось бы найти как-раз работающий пример из реальной жизни, чтобы понять преимущества UVM-методологии.

Вот - не пример а конфетка sm.gif

Успехов! Rob.
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 6 2018, 12:48
Сообщение #12


Гуру
******

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



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

псевдослучайные тесты не имеют большого смысла для перебора datapath логики или процессора (там "особые" ситуации известны), а для простых устройств требуют излишних усилий - это я хотел сказать

а если какой-то протокол, еще и сложный, его можно параллелить (ну если написан псевдослучайный тест, то без разницы - последовательно его исполнять или параллельно) - что очень важно для тестирования
там еще стандартизованы агенты, мониторы и т.п. (то есть структура тестов), что облегчает работу большого коллектива верификаторов над проектом
то есть UVM штука однозначно полезная, но достаточно специфическая, в силу большей сложности "минимального тесткейса"
поэтому считаю свое сравнение с С++ весьма уместным sm.gif

мне, например, применить так и не удалось - какие-то учебные примерчики я писал, но вот для боевого проекта применить ни разу не удалось - поэтому затаил злобу на UVM sm.gif

upd: сорри, чукча не читатель... все уже выше написано, но оставлю
Go to the top of the page
 
+Quote Post
honinbo
сообщение Mar 6 2018, 17:05
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 19-03-08
Пользователь №: 36 039



Цитата(_Ivan_33 @ Mar 6 2018, 15:20) *
посмотрите книгу UVM Primer - не знаю есть ли в пдф, но на амазоне всего 40 баксов, сам купил
Или же есть еще репозиторий их https://github.com/rdsalemi/uvmprimer - там тоже можно поизучать

пдф есть в закромах.
Цитата(Mad_max @ Mar 6 2018, 10:12) *
Еще UVM хорошо тем, что есть удобный механизм добавления monitors с различными covergroups, coverpoints, etc.
Что дает численную метрику прогресса и качества верификации модуля.

А вот про covergroups, coverpoints в UVM Primer отсыл к другой книжке того же автора "I provide an introduction to covergroups in the books FPGA Simulation". Вот эту FPGA Simulation удалось найти только в виде фоток разворотов. Отправил в закрома.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2018 - 17:53
Рейтинг@Mail.ru


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