Reffum2 0 5 марта, 2018 Опубликовано 5 марта, 2018 · Жалоба Хочу разобраться с тем, что такое UVM. На официальном сайте скачивал примеры и документацию. Но не смог разобраться по ней. Я понял, что это некая методология тестирования, но не понял, в чем ее смысл. Прошу тех, кто пользуется UVM поделиться примерами, ссылками. Рассказать о UVM. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 8 5 марта, 2018 Опубликовано 5 марта, 2018 · Жалоба сильно упрощая - это как переход от С к С++ то есть в мире появилось много ООП программистов, наверно, их сейчас специально учат в институтах, и чтобы применять их навыки для верификации HDL и придумали UVM (до этого были OVM, RVM ну и немного сбоку VMM) то есть если переход в программировании от С к С++ кажется бессмысленным, то совершено не имеет смысла тратить время на OVM OVM, по-моему, полезна для отладки каких-то протоколов передачи данных (по крайней мере я других примеров не видел, что в учебниках, что в коде субподрядчиков), а пытаться применять для отладки каких-либо DSP алгоритмов, вычислительных ядер, или простых FSM смысла мало Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 5 марта, 2018 Опубликовано 5 марта, 2018 · Жалоба сильно упрощая - это как переход от С к С++ то есть в мире появилось много ООП программистов, наверно, их сейчас специально учат в институтах, и чтобы применять их навыки для верификации HDL и придумали UVM (до этого были OVM, RVM ну и немного сбоку VMM) то есть если переход в программировании от С к С++ кажется бессмысленным, то совершено не имеет смысла тратить время на OVM OVM, по-моему, полезна для отладки каких-то протоколов передачи данных (по крайней мере я других примеров не видел, что в учебниках, что в коде субподрядчиков), а пытаться применять для отладки каких-либо DSP алгоритмов, вычислительных ядер, или простых FSM смысла мало Странно. Мне всегда казалось что UVM как и OSVVM ( то-же что и UVM но на VHDL) - это определенный набор методик для генерации набора псевдослучайных тестов, позволяющих максимально полно проверить реакцию тестируемого модуля на эти тесты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 5 марта, 2018 Опубликовано 5 марта, 2018 · Жалоба Приветствую! Странно. Мне всегда казалось что UVM как и OSVVM ( то-же что и UVM но на VHDL) - это определенный набор методик для генерации набора псевдослучайных тестов, позволяющих максимально полно проверить реакцию тестируемого модуля на эти тесты.Генерация псевдослучайных тестов это constraint random-base verification и это не главное в UVM. UVM это в первую очередь методология позволяющая упростит и стандартизировать построение сложных верификационных платформ и соответствующая OOP библиотека которая поддерживает эту методологию. Если грубо - выделяются стандартные этапы верификации, набор ролей версификационных модулей. Стандартизируются потоки управления и интерфейсы между ними. Добавляется механизм сквозной динамической конфигурации без необходимости пере-компиляции. ( короче : правила - формальности - бюрократия :( ни ка какого свободного творчества и полета фантазии). Цель соответственно благая - повысить reusable-ность верификации и соответственно снизить стоимость. Но увы это не золотая пуля - полноценное применение методологии UVM (как и подобной ей) имеет смысл в больших командах с разделением обязанностей и длительным первоначальным периодом вхождения в эту технологию и наработки своей версификационной базы. Саму же UVM библиотеку можно использовать и как есть почти без оглядки на методологию. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mad_kvmg 0 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба Немного добавлю к словам Роба, если вы и чтец и жнец и плисовод, вполне возможно, что "простое" окружение на SV будет вам дешевле, чем осваивать UVM. С другой стороны, сам сталкивался с такой ситуацией при блочном моделировании, когда верифицируемый модуль имеет несколько асинхронных друг относительно друга интерфейсов и тут с fork join уже как то не уютно и невольно смотришь в сторону UVM. Еще UVM хорошо тем, что есть удобный механизм добавления monitors с различными covergroups, coverpoints, etc. Что дает численную метрику прогресса и качества верификации модуля. Но в целом, UVM хорошо, когда есть разделение труда и от одного корневого спека начинают работать и верификаторы и дизайнеры, тогда тестовые окружения выполняются в одном контексте, что дает и reuse и переносимость кода от одного разработчика к другому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба http://testbench.in/ UVM Tutorial Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба сильно упрощая - это как переход от С к С++ то есть в мире появилось много ООП программистов, наверно, их сейчас специально учат в институтах, и чтобы применять их навыки для верификации HDL и придумали UVM (до этого были OVM, RVM ну и немного сбоку VMM) то есть если переход в программировании от С к С++ кажется бессмысленным, то совершено не имеет смысла тратить время на OVM OVM, по-моему, полезна для отладки каких-то протоколов передачи данных (по крайней мере я других примеров не видел, что в учебниках, что в коде субподрядчиков), а пытаться применять для отладки каких-либо DSP алгоритмов, вычислительных ядер, или простых FSM смысла мало Где можно найти примеры применения UVM, OVM, VMM? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_eight_seven 6 6 марта, 2018 Опубликовано 6 марта, 2018 (изменено) · Жалоба Где можно найти примеры применения UVM, OVM, VMM? В nVidia, например. А если что-то вроде "helloworld" в UVM, то на verilab.com можно найти такое. Изменено 6 марта, 2018 пользователем one_eight_seven Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба В nVidia, например. А если что-то вроде "helloworld" в UVM, то на verilab.com можно найти такое. В nVidia? Как найти примеры nVidia? В официальной документации есть "Hello World"-примеры. Но из них непонятно, зачем нужно UVM. Хотелось бы найти как-раз работающий пример из реальной жизни, чтобы понять преимущества UVM-методологии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба посмотрите книгу UVM Primer - не знаю есть ли в пдф, но на амазоне всего 40 баксов, сам купил Или же есть еще репозиторий их https://github.com/rdsalemi/uvmprimer - там тоже можно поизучать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба Приветствую! ... В официальной документации есть "Hello World"-примеры. Но из них непонятно, зачем нужно UVM. Хотелось бы найти как-раз работающий пример из реальной жизни, чтобы понять преимущества UVM-методологии. Вот - не пример а конфетка :) Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 8 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба Странно. Мне всегда казалось что UVM как и OSVVM ( то-же что и UVM но на VHDL) - это определенный набор методик для генерации набора псевдослучайных тестов, позволяющих максимально полно проверить реакцию тестируемого модуля на эти тесты. псевдослучайные тесты не имеют большого смысла для перебора datapath логики или процессора (там "особые" ситуации известны), а для простых устройств требуют излишних усилий - это я хотел сказать а если какой-то протокол, еще и сложный, его можно параллелить (ну если написан псевдослучайный тест, то без разницы - последовательно его исполнять или параллельно) - что очень важно для тестирования там еще стандартизованы агенты, мониторы и т.п. (то есть структура тестов), что облегчает работу большого коллектива верификаторов над проектом то есть UVM штука однозначно полезная, но достаточно специфическая, в силу большей сложности "минимального тесткейса" поэтому считаю свое сравнение с С++ весьма уместным :) мне, например, применить так и не удалось - какие-то учебные примерчики я писал, но вот для боевого проекта применить ни разу не удалось - поэтому затаил злобу на UVM :) upd: сорри, чукча не читатель... все уже выше написано, но оставлю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 6 марта, 2018 Опубликовано 6 марта, 2018 · Жалоба посмотрите книгу UVM Primer - не знаю есть ли в пдф, но на амазоне всего 40 баксов, сам купил Или же есть еще репозиторий их https://github.com/rdsalemi/uvmprimer - там тоже можно поизучать пдф есть в закромах. Еще UVM хорошо тем, что есть удобный механизм добавления monitors с различными covergroups, coverpoints, etc. Что дает численную метрику прогресса и качества верификации модуля. А вот про covergroups, coverpoints в UVM Primer отсыл к другой книжке того же автора "I provide an introduction to covergroups in the books FPGA Simulation". Вот эту FPGA Simulation удалось найти только в виде фоток разворотов. Отправил в закрома. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться