VFA (Verification For All)

Description
Просто и понятно о верификации цифровых устройств.
Advertising
We recommend to visit
HAYZON
HAYZON
6 625 463 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @kriptofo @mazzafam

Last updated 6 часов назад

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 2 месяца, 3 недели назад

Новые и перспективные Web3 игры с добычей токенов.

Чат: https://t.me/Crypto_Wolf_Chat

Правила чата смотрите в описании чата.

Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118

По теме сотрудничества: @Zombini

Last updated 2 месяца, 1 неделя назад

2 Monate, 4 Wochen her

⚡️Время обновлений! Дорогие читатели, хочу поделиться с вами двумя интересными и важными новостями об улучшении существующих материалов.

*▶️ Добавление раздела Bug Hunting в открытый курс по верификации RISC-V ядер*.

✔️ Анализируя материалы данного курса, я пришел к выводу, что упустил важный нюанс. В нем отсутствовали разборы реальных (или приближенных к реальности) ситуаций обнаружения и исправления ошибок в RTL процессорных ядер.

✔️ Я кардинально изменил ситуацию, добавив особый раздел, в котором на примере ядра с открытым исходным кодом MIRISCV разбираются подобные ситуации.

✔️ Специально для разработанного раздела я внес пять уникальных багов в тестируемое ядро. В репозитории они находятся в соответствующих именных ветках.

✔️ На момент написания поста новый раздел содержит подробный разбор ситуации исправления и обнаружения одного из багов. Со временем раздел будет дополняться, следите за обновлениями в репозитории!

▶️ Все статьи в одном месте. Миграция на GitHub Pages + MDBook.

✔️ Как вы могли заметить, часть моих статей размещена в Telegraph, часть в Teletype. Ни один из ресурсов меня полностью не устраивал.

✔️ Было принято решение о переносе исходных файлов всех существующих статей в GitHub-репозиторий канала. Теперь информация локализована в одном месте. Каждый из вас может использовать её на свое усмотрение.

✔️ Важной особенностью является то, что мне удалось настроить сборку всех статей в единый сборник при помощи GitHub Pages и MDBook! Выглядит просто отлично, я считаю.

✔️ Новые статьи теперь будут размещаться только в репозитории канала. Доступ к существующим статьям в Telegraph и Teletype сохраняется.

UPD: Обнаружил, что сборник статей прекрасно отображается в мобильной версии. Можете убедиться сами, нажав по одной из кнопок внизу на мобильном устройстве🤝

5 Monate, 2 Wochen her

Доброго времени суток, дорогие единомышленники! После некоторого затишья у меня для вас *?новостной пост*?.

Вот чем я хочу с вами поделиться:

  1. На днях в канале выйдет заметка про использование параметризованных интерфейсов в верификационном окружении. На эту тему я видел уже не одно обсуждение (например, тут и тут). Решил максимально просто и доступно осветить эту тему.

  2. Теперь для подавляющего большинства примеров из моих заметок будут предоставляться скрипты для запуска при помощи открытых Verilator и/или Icarus Verilog. Я делаю это с целью "отвязать" читателя от проприетарных симуляторов. Напомню, что примеры располагаются в репозитории на GitHub.

  3. Как некоторые из вас знают, я работаю и преподаю в НИУ МИЭТ. Рад сообщить, что в этом месяце я запустил на мощностях ВУЗа факультатив по функциональной верификации. Основан на материалах школы синтеза, которые сейчас неспешно мной дорабатываются. Для меня это знаковое событие, так как моей целью является преподавание целого набора дисциплин по верификации в университете. Страница факультатива на GitHub (загляните в раздел Pull Requests, чтобы увидеть рабочий процесс).

  4. В рамках грантового конкурса от российского альянса RISC-V я занимаюсь созданием небольшого курса по функциональной верификации RISC-V ядер. Курс будет построен полностью на открытом ПО и будет содержать практические занятия, которые каждый желающий сможет выполнить. Уже на следующей неделе постараюсь опубликовать ссылку на страницу курса в этом канале. Вы, дорогие читатели, первыми сможете его опробовать.

P.S. Сегодня (01.06.24) я очно буду на конференции FPGA-Systems 2024.1 в Москве. Буду рад пообщаться?

10 Monate, 3 Wochen her

**"Клондайк" знаний по верификации или статьи Clifford Cummings (часть 2).

2 часть списка:**

OVM/UVM Scoreboards - Fundamental Architectures. Прекрасная статья об архитектуре чекера/компаратора/scoreboard. Одним словом об архитектуре класса проверки в UVM. Разбираются основные подходы к проектированию. Обозначаются преимущества и недостатки. Приводится краткий разбор и пример макроса uvm_analysis_imp_decl, позволяющего проводить параллельную обработку потоков транзакций одного типа. Отличная публикация для структурирования знаний о UVM.

Applying Stimulus & Sampling Outputs ‐UVM Verification Testing Techniques. Must have статья для тех, кто хочет в полной мере освоить методы взаимодействия с портами дизайна. В том числе при верификации с учетом физических задержек распространения сигнала. Тут тебе и про нулевые задержки, и про минимально-возможный шаг симуляции (\#1step), и про гонки в нулевой момент времени симуляции (time-0 race conditions), и про отслеживание асинхронных событий между фронтами тактового сигнала. Множество советов и хороших практик. Ни в одной статье не видел ничего похожего. К минусам можно отнести, что примеры с использованием UVM, так что хотя бы минимальное понимание этой библиотеки все таки нужно.

OVM & UVM Techniques for Terminating Tests. Достаточно всеобъемлющая статья про фазы UVM-симуляции, способы выбора тестового сценария, его завершения и не только. Частично разбирается иерархия классов UVM, класс uvm_root и случаи обращения к нему. Статья также освещает UVM Objections и задачу запуска теста (run_test). Публикация интересна прежде всего тем, что объясняет, почему лучше всего использовать UVM Objections для контроля выполнения тестового сценария. Объем большой, у меня вопросы вызывает 6 раздел, он перегружен по моему мнению. Тем не менее статья будет полезна для инженеров, уже имеющих базовый опыт написания UVM-окружений.

Using UVM Virtual Sequencers & Virtual Sequences. Абсолютно базовая публикация про виртуальные последовательности в UVM и хорошие практики для их запуска. Объясняются причины, по которым использование виртуальных последовательностей порой сильно упрощает жизнь инженеру. Разбирается виртуальный секвенсер (virtual sequencer). Очень нравится рассказ про m_sequencer и p_sequencer, а также разницу между ними. От себя замечу, что для запуска последовательностей в примерах используется два подхода: через макрос uvm_do_on и через встроенный в последовательность метод start(). Я советую всегда использовать start(). Статью рекомендую инженерам с опытом в UVM.

UVM Reactive Stimulus Techniques. Публикация, раскрывающая основные концепции взаимодействия uvm_driver и uvm_sequencer, в особенности так называемый Reactive Stimulus, то есть подачу входных значений на дизайн, в зависимости от того, какие значения на выходах. Приведен отличный пример верификации FIFO различными тестовыми сценариями, поведение которых зависит от статусных сигналов дизайна. Советую всем, кто планирует осваивать UVM на хорошем уровне.

The Untapped Power of UVM Resources and Why Engineers Should Use the uvm_resource_db API. Статья 2023 года, которая досконально разбирает базу данных UVM, ее внутреннее устройство и методы для взаимодействия с ней. Сравниваются API для доступа к базе данных: uvm_config_fb и uvm_resource_db. Рассматриваются преимущества и недостатки. Делается вывод в пользу uvm_resource_db. Статья уникальна в том, насколько глубоко разбирается работа базы конфигурации. Ничего подобного не встречал больше нигде. Рекомендую инженерам с опытом в UVM.

Yikes! Why is My SystemVerilog Still So Slooooow?
Завершающая список публикация. Очень полезна для общего кругозора в нашей с вами области. Содержит огромное количество советов по ускорению симуляции кода при помощи "хороших практик". Разбираются примеры "плохих" и "хороших" реализаций по итерированию, созданию и рандомизации классов, выводу отладочной информации в UVM и т.п. Аналогов данной статьи не находил, очень полезно. Единственный минус - часть примеров используют UVM. Тем не менее, советую абсолютно всем.

10 Monate, 3 Wochen her

"Клондайк" знаний по верификации или статьи Clifford Cummings (часть 1).

Доброго времени суток, дорогие единомышленники! Мне нравится слово единомышленники, потому что, так или иначе, в этом канале нас с вами объединяет стремление к знаниям в сфере верификации. А значит, мы смотрим в одном направлении.

Хочу поделиться с вами набором статей, которые в свое время, лично для меня,стали открытием и "глотком свежего воздуха". Это будет большой, но, однозначно, полезный пост в 2 частях.

Речь пойдет о статьях, вероятно, известного части из вас Clifford Cummings. Человека с более чем 40 годами опыта проектирования и верификации цифровых устройств, основателя компании Sunburst Design, реализующей обучение инженеров по всему миру. Клиффорд публикует обучающие статьи несколько десятков лет, большинство из них находятся в открытом доступе.

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

А вот и 1 часть списка:

SystemVerilog Event Regions,Race Avoidance & Guidelines. Стопроцентная база о регионах выполнения SystemVerilog. Статья посвящена очередности обработки событий современных SystemVerilog симуляторов. Поможет инженеру в понимании того, что "под капотом" у симулятора, и как вообще моделируется работа устройства в ходе тестирования. Рекомендую всем и каждому.

SystemVerilog's Virtual World - An Introduction to Virtual Classes, Virtual Methods and Virtual Interface Instances. Прекрасная публикация, "проливающая свет" на виртуальный мир SystemVerilog и не только. Достаточно подробно разбираются классы, но основной упор делается на принципы ООП, разбираются виртуальные методы, полиморфизм, особенности переопределения. Особое место отводится виртуальным интерфейсам. Если начали изучать ООП в SystemVerilog - это ваша статья!

SystemVerilog Virtual Classes, Methods, Interfaces and Their Use in Verification and UVM. Публикация разбирает практически те же концепции, что и статья выше, но уже в разрезе UVM и применимости концепций ООП в данной методологии. Содержит лучшее объяснение upcasting/downcasting, которое я вообще встречал, а также полезнейшие рекомендации по использованию виртуальных интерфейсов в UVM, взаимодействию с ними через базу конфигурации (uvm_config_db). Начали изучать UVM? Эта статья - must have.

UVM Transactions - Definitions, Methods and Usage. Основательная статья о "грамотном" использовании UVM-транзакций. Разбирается базовый класс транзакции (uvm_sequence_item), встроенные методы этого класса. Сравниваются различные подходы по копированию транзакций, их сравнению, выводу информации о полях. Даются советы, которые помогут ускорить процесс симуляции. По моему мнению, статья немного перегружена и сложна для восприятия новичку. Но если уже есть некоторый опыт в UVM, то это отличный источник новых знаний.

UVM Analysis Port Functionality and Using Transaction Copy Commands. Публикация о мониторинге дизайна в UVM и анализе получаемых данных. Разбираются базовые концепции отслеживания, а также достаточно подробно разбирается UVM TLM 1.0. Не знаете, что это такое? - фатальная ошибка. Самое время прочитать эту статью. Особое внимание уделяется необходимости копирования транзакций при отслеживании. Советы из статьи могут избавить вас от часов отладки нерабочего кода. Присутствует разбор TLM FIFO, сравнение queue с mailbox.

P.S. В посте указаны прямые ссылки на статьи, однако оригинальные pdf-файлы также будут прикреплены в комментарии, чтобы у вас был альтернативный источник.

We recommend to visit
HAYZON
HAYZON
6 625 463 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @kriptofo @mazzafam

Last updated 6 часов назад

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 2 месяца, 3 недели назад

Новые и перспективные Web3 игры с добычей токенов.

Чат: https://t.me/Crypto_Wolf_Chat

Правила чата смотрите в описании чата.

Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118

По теме сотрудничества: @Zombini

Last updated 2 месяца, 1 неделя назад