Перейти к содержанию
    

osvvm или VHDL наносит ответный удар

http://osvvm.org/

 

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

 

но попалось, а в форуме не помню упоминаний, может кому-то понадобится

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, полезная ссылка.

 

Может удасться избежать изучения System Verilog/UVM

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитал документацию к предлагаемым пакетам. Там оперируют некоторыми терминами, которые не совсем понятны. Может кто пояснит их значение и даст принятый русский эквивалент?

  1. Coverage point (or item)
  2. Bin
  3. Coverage cross (cross-coverage)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитал документацию к предлагаемым пакетам. Там оперируют некоторыми терминами, которые не совсем понятны. Может кто пояснит их значение и даст принятый русский эквивалент?
  1. Coverage point (or item)
  2. Bin
  3. Coverage cross (cross-coverage)

не на русском, но обьяснено доступно и на примерах SystemVerilog :rolleyes:

http://www.testbench.in/CO_07_COVERAGE_BINS.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не на русском, но обьяснено доступно и на примерах SystemVerilog :rolleyes:

http://www.testbench.in/CO_07_COVERAGE_BINS.html

С сутью данных понятий более-менее я разобрался, спасибо. Но хотелось бы знать, как в русскоязычной литературе принято их переводить или есть свои эквиваленты?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитал книжку Хаханов В.И., Хаханова И.В., Литвинова Е.И., Гузь О.А. Проектирование и верификация цифровых систем на кристаллах. Verilog & Symtem Verilog. — Харьков: ХНУРЭ, 2010. — 528 с.. Это единственная книжка на русском, которую я знаю про SymtemVerilog, где есть раздел про функциональное покрытие. В ней используется следующий перевод интересуемых понятий:

  1. Coverage point (or item) — точка покрытия
  2. Bin — корзина (покрытия)
  3. Coverage cross (cross-coverage) — перекрёстное покрытие, также встречается "совместное покрытие"
Ну кто что думает о таком переводе? Слух не режет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитал книжку Хаханов В.И., Хаханова И.В., Литвинова Е.И., Гузь О.А. Проектирование и верификация цифровых систем на кристаллах. Verilog & Symtem Verilog. — Харьков: ХНУРЭ, 2010. — 528 с.. Это единственная книжка на русском, которую я знаю про SymtemVerilog, где есть раздел про функциональное покрытие. В ней используется следующий перевод интересуемых понятий:
  1. Coverage point (or item) — точка покрытия
  2. Bin — корзина (покрытия)
  3. Coverage cross (cross-coverage) — перекрёстное покрытие, также встречается "совместное покрытие"
Ну кто что думает о таком переводе? Слух не режет?

годится и вроде ничего так. но я предпочитаю не переводить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного о том, что это за зверь OS-VVM...

Open Source VHDL Verification Methodology (OS-VVM) — эта методология верификации основывается на двух разработанных пакетах CoveragePkg и RandomPkg, которые позволяют строить "интеллектуальные" тестбенчи, которые собирают статистику о функциональном покрытии и корректируют генерацию случайных воздействий для покрытия "дыр". Соответственно в пакете RandomPkg описаны функции для управляемой генерации псевдослучайных чисел с различным распределением (нормальное, Гауссово и Пуссона), а в пакете CoveragePkg описаны функции для создания точек покрытия, корзин, перекрёстного покрытия, а также отчётов о покрытии. Пакеты основаны на стандарте VHDL-2008, но могут быть скомпелированы и под VHDL-2002 (с некоторыми изменениями кода). Одним из преимуществ называется то, что данные функции для покрытия реализованы на уровне пакета, а не стандарта языка. В этом случае на много проще вносить изменения, так как изменить пакет быстрее, чем внести изменения в стандарт языка.

 

Интересно, что aldec взялся за продвижение этой методологии. У них аж 3 вебинара посвящены OS-VVM

Кому не охото регистрироваться на сайте OS-VVM, чтобы скачать пакеты, можно воспользоваться другой страницей, где они тоже доступны.

А вообще нужно закинуть всё это дело в закрома...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кто-нибудь может привести пример из реального проекта, где это может пригодится ?

Какие области (обработка сигналов, или анализ данных)?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я пока ещё нигде не применял этот подход в своих проектах. Но пример из документации могу привести. Например, у вас 10 регистров в АЛУ, и нужно чтобы в тесте выполнилась какая-то команда со всеми этими регистрами. Так вот чтобы собрать такую статистику помогут функции из предлагаемых пакетов. Перекрёстное покрытие - это когда вам нужно проконтролировать, что команда пересылки отработала все возможные пары регистров, допустим, каждый с каждым, получается 100 комбинаций. Вроде, в пакете допускается до 9 "переменных" для перекрёстного покрытия. Если случайным образом задавать команды для тестирования, то будут повторы, т.е. небольшая избыточность тестов (N *ln N). А при интеллектуальном тестировании случайные числа генерятся с учётом покрытия, т.е. повторов нет, т.к. новые случайные числа генерятся из непокрытого множества.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересный момент, установил QuestaSim 10.2 и обнаружил, что библиотека osvvm включена в стандартный набор библиотек. Может менторовцы решили в будущем добавить дополнительную поддержку данных пакетов или планируется сделать стандартными эти пакеты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот я тоже немного читал, но у меня что-то причинно следственная связь не уложилась...

зачем эти "случайные" покрытия? область применения ограничена же...

я правильно понял что выход Randomize подключают на вход UUT схемы и смотрят как оно себя ведёт ? все равно же надо рассматривать поведение схемы при всех вариантах, это на этапе проектирования должно прорабатываться... или я не прав ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зачем эти "случайные" покрытия? область применения ограничена же...

 

вопрос про random constrained ?

 

как кстати на русский перевести "ограничено случайные" или "сконструировано случайные" ???

 

область - передача данных - ограничена, но очень популярно

 

например, в DSP задачах (например с псевдошумовыми сигналами) или в проектировании микропроцессорных ядер применять, по-моему, малоэффективно, может только для отдельных узлов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перебрать все значения параметров на практике нереально, поэтому определенные параметры, например, длина пакета можно рандомизовать, сделав акцент на границах, и получить разумное число прогонов теста.

yes, ограниченно случайные

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... зачем эти "случайные" покрытия?
Не совсем понятен ваш вопрос.

 

вопрос про random constrained ?
Я перевожу "Constrained Random" как настраиваемая генерация псевдослучайных тестов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...