Как стать автором
Обновить
84.94

Четвёртый инженерный хакатон SoC Design Challenge: «Свидетели ошибок» из Аквариус — победители трека UVM верификации

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров445
Фото с соревнований
Фото с соревнований

С 18 по 20 апреля 2025 г. на площадке НИУ МИЭТ в Зеленограде прошёл четвертый инженерный хакатон SoCDesign Challenge, организованный компанией YADRO совместно с Передовой инженерной школой «Средства проектирования и производства электронной компонентной базы» МИЭТ. Более 250 студентов очной формы обучения со всей России собрались, чтобы на практике решить задачи по проектированию и верификации систем на кристалле (SoC) на базе RISCV.

В рамках треков «RTL проектирование», «UVM верификация», «Системная верификация СнК» и «Топологическое проектирование» участникам предстояло не только продемонстрировать знания цифровой и аналоговой схемотехники, но также и получить призы — FPGA платы и другие инженерные гаджеты. Все задачи формировались действующими специалистами отрасли и преподавателями МИЭТ, что делало соревнование максимально приближённым к реальным производственным кейсам.

В хакатоне приняли участие и сотрудники Аквариус - студенты 4го курса НИЯУ МИФИ (каф. 27) - команда «Свидетели ошибок»:

1. Силкин Никита Романович

2. Скворцов Ярослав Максимович

3. Никонов Александр Андреевич  

За три дня напряжённой работы «Свидетели ошибок» набрали 76 баллов из максимальных 100 и уверенно опередили ближайших соперников на 28 баллов, заняв 1 место среди всех команд в треке UVM верификации.

Как команда готовилась и добилась победы

Скворцов Я. М.:

«Хакатон длился три дня с 9:00 до 20:00. Сначала мы подробно разработали верификационный план по спецификации устройства, определили ключевые функции и ошибки для проверки. После этого разделили обязанности: каждый взял часть тестового окружения и приступил к реализации. Регулярные обсуждения архитектурных решений позволили быстро интегрировать результаты и довести тестбенч до рабочего состояния. Локализация багов оказалась самой трудоёмкой частью: требовалось крайне внимательно и с пониманием просматривать результаты тестов. Благодаря эффективной коммуникации и сплочённой атмосфере команда справилась с этой задачей, и мы одержали победу.

Никонов А. А.:

«В треке UVM верификации задача заключалась в обнаружении и документировании ошибок в заданном блоке. В дизайн были заложены 20 дефектов, которые предстояло найти. Результат тем выше, чем больше дефектов найдено. В первый день мы составили план верификации, на второй и третий — написали тесты и анализировали полученные несоответствия, чтобы локализовать каждый баг. Опыт, полученный на стажировке, и упорство команды сыграли ключевую роль: мы разбивали работу на мелкие задачи, поддерживали друг друга и не останавливались даже при временных неудачах. В конечном итоге наш труд принёс нам результат!»  

Силкин Н. Р.:

«UVM — это промышленный фреймворк для функциональной верификации на основе SystemVerilog. На хакатоне нашей группе выдали спецификацию и зашифрованные дизайнблоки с заложенными ошибками. Мы дополнили базовое тестовое окружение собственными проверками и референсными моделями, запустили тесты и документировали все найденные дефекты. Благодаря чёткому плану и качественной имплементации тестбенчамы опередили соперников и уверенно выиграли.»

Задания хакатона по трекам

UVM верификация

Цель: погрузиться в индустриальный процесс функциональной верификации цифровых устройств с использованием методологии UVM (Universal Verification Methodology).

Задачи:

  1. Ознакомиться со спецификацией устройства.

  2. Составить верификационный план, выделив основные функции дизайна, которые требуется проверить.

  3. Дополнить предоставленное верификационное окружение компонентами, реализующими референсную модель блока и запланированные проверки с помощью конструкций языка SystemVerilog.

  4. Запустить тесты, убедиться в корректности работы окружения, локализовать и задокументировать ошибки, допущенные в дизайне.

Критерии оценки:

  • Количество и сложность найденных ошибок.

  • Корректность их локализации.

  • Качество составленного плана.

  • Эффективность и качество кода верификационного окружения.

Системная верификация СнК

Цель: проверить соответствие системы на кристалле (СнК) заявленным требованиям на системном уровне.

Задачи:

  1. Разработать тестовый план для проверки внутренних блоков СнК на системном уровне.

  2. Создать тесты на языке C, запустить их и найти ошибки в дизайне.

  3. Подготовить отчёт от верификации по итогам работы.

Особенности:

  • Участники работают с “черным ящиком” — без доступа к RTL-коду.

  • Задание включает преднамеренные неисправности, которые необходимо выявить и описать.

  • Участники самостоятельно определяют формат входных данных и разрабатывают шаблоны тестов.

Критерии оценки:

  • Корректность и полнота разработки тестового плана.

  • Найденные ошибки в дизайне СнК.

  • Качество и структурированность кода разработанных тестов.

RTL-проектирование

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

Задачи:

  1. Спроектировать и разработать собственный ускоритель матричных операций для исполнения (инференса) нейросети по распознаванию объектов на фото.

  2. Оптимизировать многопортовый коммутатор (interconnect), работающий по определенному протоколу, с целью увеличения пропускной способности и улучшения механизма учета приоритета пакетов данных.

Критерии оценки:

  • Время исполнения эталонного теста (производительность).

  • Площадь дизайна на кристалле (эффективность использования ресурсов).

  • Максимальная тактовая частота.

  • Утилизация ресурсов ПЛИС (сколько LUT и FF занимает дизайн).

  • Задержка (latency) при прохождении данных через коммутатор.

Топологическое проектирование

Цель: пройти полный цикл физического проектирования системы на кристалле (SoC), включая размещение, трассировку и оптимизацию.

Задачи:

  1. Используя готовое окружение, пройти цифровой маршрут физического проектирования системы на кристалле (SoC) с помощью средств логического и физического синтеза.

  2. Провести оценку проекта по критериям быстродействия и энергопотребления, а также качества топологии (QoR, Quality of Results).

  3. Внести корректировки в маршрут физического проектирования для повышения характеристик проекта.

  4. Провести проверки на соответствие временным ограничениям, технологическим нормам проектирования и корректности соединений.

  5. Выполнить анализ шин питания в разработанном проекте.

Критерии оценки:

  • Отсутствие критических нарушений по отчетам QoR.

  • Отсутствие ошибок в проекте, кроме заранее известных.

  • Временные характеристики.

  • Потребляемая мощность и IRdrop.

  • Площадь, занимаемая стандартными ячейками.

  • Модификация представленного окружения.

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

Так же предлагаем прочитать следующие статьи, которые помогут погрузиться в микроэлектронику и начать ей заниматься при желании.

🔹 Обзор литературы для начинающих разработчиков микроэлектроники

В этой статье наш руководитель отдела системной верификации Максим Ратников делится проверенным списком книг и ресурсов, которые помогут вам разобраться с архитектурой ЭВМ, цифровой схемотехникой, HDL-описанием (SystemVerilog и не только), методологиями верификации (SVA и UVM) и даже физическим дизайном (бэкендом). От классики Таненбаума и Харрисов до современных практических руководств по UVM и Python-ориентированным подходам — мы собрали всё самое важное, чтобы вы могли сразу выбрать полезное и не тратить часы на бесполезный поиск литературы.

Ссылка на статью → https://habr.com/ru/companies/aquarius/articles/848334/

🔹 Как мы снижаем порог входа студентов в микроэлектронику

Вторая статья рассказывает о нашей двухнедельной летней школе в НИЯУ МИФИ, где мы предоставили студентам готовую среду разработки, ноутбуки и материалы, провели лекции и лабораторные по Verilog, RISC-V и SystemVerilog. Вы узнаете, как мы организовали занятия (от декодера 3в8 до тестбенчей), какие трудности преодолели (консольный Linux, настройка симуляторов) и как пять лучших участников получили предложение о стажировке в «Аквариус». Полезный кейс для всех, кто хочет наладить взаимодействие между вузами и индустрией.

Ссылка на статью → https://habr.com/ru/companies/aquarius/articles/846628/

Полезные практические материалы:

1. Тренажер по Verilog прямо в браузере: https://hdlbits.01xz.net/wiki/Main_Page

2. Базовый курс по работе с linux: https://itproger.com/course/linux

3. Гит Сергея Чусова. Курс по верификации https://github.com/serge0699/verif_elective_miet

5. Курс Архитектура процессорных систем МИЭТ: https://github.com/MPSU/APS

Теги:
Хабы:
+2
Комментарии0

Публикации

Информация

Сайт
www.aq.ru
Дата регистрации
Численность
1 001–5 000 человек