Хакатоны.рус — открой с нами мир хакатонов!

SoC Design Challenge

Регистрация закрыта offline Москва
Получи опыт решения задач по проектированию систем на кристалле (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 организует проезд и проживание для иногородних участников из России и Беларуси.
Почему стоит участвовать:
  1. Познакомься с экспертами индустрии
  2. Попробуй силы в решении настоящих инженерных задач
  3. Общайся с единомышленниками
  4. Получи строчку в резюме и сертификат
  5. Выиграй мерч и подарки
Этапы хакатона:
20 февраля — 18 марта
Подача заявок
21-23 марта
Тестирование
21 марта организаторы отправят ссылку на тест всем, кто зарегистрировался на хакатон и прошел отбор по формальным критериям. Тестирование до 23 марта 23:59. Результаты тестирования отправят до 4 апреля.

7-11 апреля
Подготовительные лекции
Эксперты треков подготовили вводные онлайн-лекции. На них предоставят необходимую теорию и расскажут, что важно изучить перед стартом решения задач. В каждом треке – 1-2 лекции.

18-20 апреля
Хакатон
Призы:
Уровень Basic
  • FPGA и RISC-V платы
  • Мерч YADRO, который пригодится инженер
Уровень Basic+
Планшет KVADRA_T и чехол с клавиатурой
для победителей:
  • FPGA и RISC-V платы
  • Мерч YADRO, который пригодится инженеру
Место проведения: г. Москва, МИЭТ
Регистрация до 18 марта:

Хочешь узнавать о новых хакатонах, соревнованиях первым?
Подписывайся на наши социальные сети:
Также, подписывайся на наш Telegram-бот, где мы присылаем хакатоны, соревнования по параметрам, которые интересны тебе: