7.1Kпросмотров
25 декабря 2024 г.
📷 ФотоScore: 7.8K
🔹Доброго времени суток, дорогие читатели! Спустя несколько месяцев затишья делюсь с вами уникальным контентом. А именно — целым циклом статей, посвященным подробному разбору основных концепций библиотеки универсальной методологии верификации (UVM). Я решил назвать его Demystifying UVM. 🔹Подавляющее большинство инженеров (в том числе и автор) при знакомстве с UVM задавали себе множество вопросов. Например о том, как работает type_id::create() и почему нельзя просто использовать new()? Или зачем нужно включать в тело класса макрос uvm_component_utils? Почему у конструктора два аргумента: name и parent? Все эти вопросы так или иначе "мерцали" в недрах разума. 🔹Всем нам искренне хотелось найти ответы. Но ворох рабочих задач постепенно гасил энтузиазм, и мы просто начинали пользоваться конструкциями, не задумываясь об их содержании. Но теперь у вас, дорогие читатели, есть возможность рассеять туман над исходным кодом библиотеки UVM и вместе со мной проанализировать то, что находится "под капотом". Нам предстоит долгий путь. 🔹Первые две статьи цикла будут посвящены механизмам создания компонентов и переопределению их типов. За данный функционал в UVM в наибольшей степени отвечает класс фабрики (UVM factory), который и будет фигурировать в названиях статей. Первая уже доступна по ссылке ниже. ⚡️Demystifying UVM: Фабрика, часть 1⚡️ 🔹Все исходные файлы статьи, а также код примеров и скрипты для их запуска при помощи QuestaSim и Verilator расположены в репозитории канала и доступны абсолютно всем. Выход же второй статьи планируется в течение ближайших двух недель! Читайте, распространяйте, делитесь впечатлениями, предлагайте улучшения! Всего вам самого наилучшего!🤝 ➖➖➖➖➖➖
#demystifying_uvm