|
Что такое UVM?, Зачем он нужен, как пользоваться? |
|
|
|
 |
Ответов
|
Mar 5 2018, 18:55
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

|
сильно упрощая - это как переход от С к С++ то есть в мире появилось много ООП программистов, наверно, их сейчас специально учат в институтах, и чтобы применять их навыки для верификации HDL и придумали UVM (до этого были OVM, RVM ну и немного сбоку VMM)
то есть если переход в программировании от С к С++ кажется бессмысленным, то совершено не имеет смысла тратить время на OVM
OVM, по-моему, полезна для отладки каких-то протоколов передачи данных (по крайней мере я других примеров не видел, что в учебниках, что в коде субподрядчиков), а пытаться применять для отладки каких-либо DSP алгоритмов, вычислительных ядер, или простых FSM смысла мало
|
|
|
|
|
Mar 5 2018, 19:15
|

В поисках себя...
   
Группа: Свой
Сообщений: 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) - это определенный набор методик для генерации набора псевдослучайных тестов, позволяющих максимально полно проверить реакцию тестируемого модуля на эти тесты.
|
|
|
|
|
Mar 5 2018, 20:20
|
Профессионал
    
Группа: Свой
Сообщений: 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 библиотека которая поддерживает эту методологию. Если грубо - выделяются стандартные этапы верификации, набор ролей версификационных модулей. Стандартизируются потоки управления и интерфейсы между ними. Добавляется механизм сквозной динамической конфигурации без необходимости пере-компиляции. ( короче : правила - формальности - бюрократия  ни ка какого свободного творчества и полета фантазии). Цель соответственно благая - повысить reusable-ность верификации и соответственно снизить стоимость. Но увы это не золотая пуля - полноценное применение методологии UVM (как и подобной ей) имеет смысл в больших командах с разделением обязанностей и длительным первоначальным периодом вхождения в эту технологию и наработки своей версификационной базы. Саму же UVM библиотеку можно использовать и как есть почти без оглядки на методологию. Удачи! Rob.
|
|
|
|
|
Mar 6 2018, 07:12
|
Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811

|
Немного добавлю к словам Роба, если вы и чтец и жнец и плисовод, вполне возможно, что "простое" окружение на SV будет вам дешевле, чем осваивать UVM. С другой стороны, сам сталкивался с такой ситуацией при блочном моделировании, когда верифицируемый модуль имеет несколько асинхронных друг относительно друга интерфейсов и тут с fork join уже как то не уютно и невольно смотришь в сторону UVM. Еще UVM хорошо тем, что есть удобный механизм добавления monitors с различными covergroups, coverpoints, etc. Что дает численную метрику прогресса и качества верификации модуля. Но в целом, UVM хорошо, когда есть разделение труда и от одного корневого спека начинают работать и верификаторы и дизайнеры, тогда тестовые окружения выполняются в одном контексте, что дает и reuse и переносимость кода от одного разработчика к другому.
|
|
|
|
Сообщений в этой теме
Олег Гаврильченко Что такое UVM? Mar 5 2018, 14:42  yes Цитата(Flip-fl0p @ Mar 5 2018, 22:15... Mar 6 2018, 12:48 Олег Гаврильченко Цитата(yes @ Mar 5 2018, 21:55) сильно уп... Mar 6 2018, 09:06 AVR http://testbench.in/
UVM Tutorial Mar 6 2018, 08:03 one_eight_seven ЦитатаГде можно найти примеры применения UVM, OVM,... Mar 6 2018, 10:02 Олег Гаврильченко Цитата(one_eight_seven @ Mar 6 2018, 13:0... Mar 6 2018, 12:08  RobFPGA Приветствую!
Цитата(Олег Гаврильченко @ M... Mar 6 2018, 12:21 _Ivan_33 посмотрите книгу UVM Primer - не знаю есть ли в пд... Mar 6 2018, 12:20 honinbo Цитата(_Ivan_33 @ Mar 6 2018, 15:20) посм... Mar 6 2018, 17:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|