Получи опыт решения задач по проектированию систем на кристалле (SoC) и созданию современных микропроцессоров RISC-V.
Треки:
1. Топологическое проектирование
О чем трек: Разработка топологии — это создание проекта расположения и соединения элементов микросхемы на кристалле. На этом этапе решается, как транзисторы и другие компоненты ASIC размещаются и взаимодействуют между собой. Цель топологического проектирования — создать оптимальную структуру схемы, которая обеспечит высокую производительность, минимальное энергопотребление и наименьшую площадь на чипе.
Цифровой маршрут проектирования топологии сегодня незаменим при разработке современных ASIC, содержащих миллионы и миллиарды транзисторов. Для создания схемы используются не отдельные транзисторы, а библиотеки стандартных ячеек из логических вентилей. На треке вы погрузитесь в ключевые задачи, которые решает инженер по топологическому проектированию (Backend ASIC engineer).
Задачи трека:
Используя готовое окружение, пройти цифровой маршрут физического проектирования системы на кристалле (SoC) с помощью средств логического и физического синтеза;
Провести оценку проекта по критериям быстродействия и энергопотребления, а также качества топологии (QoR, Quality of Results);
Внести корректировки в маршрут физического проектирования для повышения характеристик проекта;
Провести проверки на соответствие временным ограничениям, технологическим нормам проектирования и корректности соединений;
Выполнить анализ шин питания в разработанном проекте.
Требования к участникам: Желательно, но не обязательно:
знание основ цифровой схемотехники;
навыки использования скриптовых инструментов (bash, make, Tcl и т.п.);
знакомство с минимальным синтаксисом языка Verilog/SystemVerilog;
представление о топологии интегральной схемы.
Критерии оценивания:
Отсутствие критических нарушений по отчетам QoR;
Отсутствие ошибок в проекте, кроме заранее известных;
Временные характеристики;
Потребляемая мощность и IRdrop;
Площадь, занимаемая стандартными ячейками;
Модификация представленного окружения.
2. UVM-верификация
О чем трек: UVM — один из наиболее распространённых в полупроводниковой индустрии подходов к верификации цифрового дизайна. В его основе — идеи переиспользования и масштабирования кода, которые обеспечивают его применимость как в простейших IP, так и в дизайнах масштаба СнК. А объектно-ориентированный подход вместе с широкими возможностями управления рандомизацией в SystemVerilog дают возможность всеобъемлющего подтверждения работоспособности кода.
Участники смогут познакомиться с ключевыми парадигмами UVM — правилами построения верификационного окружения, принципом разделения ответственности и моделированием на уровне транзакций.
Задачи трека: В ходе хакатона участники получат возможность пройти самую важную часть маршрута верификации, принятого среди мировых лидеров отрасли
ознакомиться со спецификацией устройства;
составить верификационной план, выделив основные функции дизайна, которые требуется проверить в процессе выполнения задачи;
дополнить предоставленный код окружения компонентами, реализующими референсную модель блока и запланированные проверки с помощью конструкций языка SystemVerilog;
запустив тесты, убедиться в корректности работы окружения, локализовать и задокументировать ошибки, допущенные в дизайне.
Требования к участникам: Желательно, но не обязательно:
понимание концепции ООП;
знакомство с языком описания аппаратуры SystemVerilog;
опыт работы с языками программирования высокого уровня (C++, Python, Java).
Критерии оценивания:
Количество и сложность найденных ошибок;
Корректность их локализации;
Качество составленного плана;
Эффективность и качество кода верификационного окружения (за это участники смогут получить дополнительные баллы).
3. Системная верификация СнК
О чем трек: Создание современных систем на кристалле (СнК) требует тщательной проверки верхнеуровневых требований. Разработчикам важно убедиться, что СнК соответствует целевым сценариям использования ещё до отправки на фабрику. Например, нужно удостовериться в корректной первоначальной загрузке всех подсистем и достижении требуемых показателей производительности и энергопотребления. Для этого разработчики создают тестовые сценарии на низкоуровневых языках программирования и проверяют их с помощью симуляторов.
Задачи трека:
Разработать тестовый план для проверки внутренних блоков СнК на системном уровне;
Создать тесты на языке C, запустить их и найти ошибки в дизайне;
Подготовить отчёт от верификации по итогам работы.
Требования к участникам: Желательно, но не обязательно:
уверенное знание языка программирования C;
базовые знания в области цифрового дизайна и архитектуры современных ЭВМ.
Критерии оценивания:
Корректность и полнота разработки тестового плана;
Найденные ошибки в дизайне СнК;
Качество и структурированность кода разработанных тестов.
4. RTL-проектирование
О чем трек: RTL-проектирование (или проектирование логического дизайна) — неотъемлемая часть современной разработки систем на кристалле (SoC). На самом высоком уровне вычислительные системы состоят из вычислительных ядер, кэшей, различной периферии и интерконнекта. Эти блоки содержат различные компоненты: очереди, конвейеры, буферы, память. Компоненты почти всегда являются набором регистров, которые тактируются единым синхросигналом и соединены комбинационной логикой. RTL-дизайнер проектирует составные блоки цифровой аппаратуры и реализует их на языках HDL (Verilog, SystemVerilog, VHDL).
BASIC
Задачи трека: Оптимизировать модуль AXI Performance Monitor (APM). Основная функция блока — сбор статистики шины AXI.
APM выполняет три операции:
вычисление времени обработки AXI-транзакций;
расчёт максимального и минимального времени обработки транзакции за известный временной интервал;
расчёт среднего времени обработки транзакции.
Цели оптимизации:
увеличить максимальную частоту модуля APM;
уменьшить площадь, занимаемую APM на кристалле;
сохранить пропускную способность шины AXI и точность расчёта блока;
обеспечить минимально возможную задержку вычисления характеристик.
Требования к участникам: Достаточно иметь начальный опыт RTL-проектирования и ознакомиться с литературой:
«Цифровая схемотехника и архитектура компьютера», Дэвид и Сара Харрис.
«Архитектура компьютера и проектирование компьютерных систем», Дэвид Паттерсон.
Критерии оценивания: Критерии оценивания формируются из следующих характеристик monitor:
максимальная тактовая частота;
занимаемая площадь;
точность подсчёта статистических данных;
задержка (latency) при прохождении данных через APM.
Совокупные характеристики решения определяют место команды в общем зачёте. Критерии по важности каждого из параметров формулируются в начале хакатона. Кроме базовой версии APM, у участников будет верификационное окружение для тестирования и оценки его производительности.
BASIC+
Задачи трека: Спроектировать и разработать собственный ускоритель матричных операций для исполнения (инференса) нейросети по распознаванию объектов на фото
Особенности современных нейросетей для распознавания изображений:
состоят из множества последовательных операций свёртки и применения нелинейной функции после каждой свёртки;
в них применяется матричное умножение;
операции можно ускорить, применяя специализированные аппаратные блоки;
многие современные нейросети адаптированы для аппаратного исполнения: имеют упрощённую архитектуру и поддерживают целочисленную арифметику INT8, что снижает требования к вычислительным ресурсам.
Разработанный участниками ускоритель станет ключевым компонентом аппаратного блока для эффективного исполнения таких нейросетей.
Требования к участникам: Для успешного участия в треке достаточно:
иметь базовый опыт проектирования и разработки RTL на языке Verilog (или синтезируемом подмножестве SystemVerilog);
ознакомиться с книгой «Цифровая схемотехника и архитектура компьютера», Дэвид и Сара Харрис.
Дополнительные полезные знания:
основные операции в нейронных сетях: матричное умножение, двумерная свертка, функция активации ReLU;
базовые принципы оптимизации цифровых схем.
Участники получат подробную справочную информацию об используемых нейросетевых операциях и особенностях их аппаратной реализации.
Критерии оценивания:
Время исполнения эталонного теста (производительность);
Площадь дизайна на кристалле (эффективность использования ресурсов)
Для объективной оценки:
все разработанные блоки будут синтезироваться инструментами логического синтеза ASIC для определения занимаемой площади;
участникам будет предоставлено унифицированное верификационное окружение для проверки корректности работы и измерения производительности решения
Условия участия:
Для студентов Принимаются заявки от студентов очной формы обучения: специалитет, бакалавриат, магистратура. 2-3 участника в команде Можно прийти со своей командой или одному. Организаторы помогут всем индивидуальным участникам найти команду. BASIC и BASIC+ По итогам тестирования мы разделим участников на две группы:
BASIC – новички, студенты с меньшим количеством баллов за тестирование
BASIC+ – студенты с лучшими результатами
3 дня. Зеленоград, МИЭТ Хакатон будет проходить с 18 по 20 апреля в университете МИЭТ. Чтобы все успеть, необходимо быть в городе утром 18 апреля. Онлайн-формат не предусмотрен. YADRO организует проезд и проживание для иногородних участников из России и Беларуси.
Почему стоит участвовать:
Познакомься с экспертами индустрии
Попробуй силы в решении настоящих инженерных задач
Общайся с единомышленниками
Получи строчку в резюме и сертификат
Выиграй мерч и подарки
Этапы хакатона:
20 февраля — 18 марта Подача заявок 21-23 марта Тестирование 21 марта организаторы отправят ссылку на тест всем, кто зарегистрировался на хакатон и прошел отбор по формальным критериям. Тестирование до 23 марта 23:59. Результаты тестирования отправят до 4 апреля.
7-11 апреля Подготовительные лекции Эксперты треков подготовили вводные онлайн-лекции. На них предоставят необходимую теорию и расскажут, что важно изучить перед стартом решения задач. В каждом треке – 1-2 лекции.
18-20 апреля Хакатон
Призы:
Уровень Basic
FPGA и RISC-V платы
Мерч YADRO, который пригодится инженер
Уровень Basic+ Планшет KVADRA_T и чехол с клавиатурой для победителей: