tgoop.com/cpu_design/79
Last Update:
Хакатон в МИЭТ
С небольшим запозданием хочу поделиться с вами впечатлениями от прошедшего хакатона. Я с коллегами из МИЭТ и Yadro отвечал за проведение трека RTL-проектирование.
Участникам данного трека давался двустадийный процессор. Задача участников - увеличить максимальную рабочую частоту процессора, путем оптимизацией hdl-кода, а так же увеличить показатель coremark путем добавления нового функционала, исправления старого.
Процессор был изначально написан с так называемыми "bad practice" и давайте разберем основные проблемы, которые были заложены в процессоры:
1) Умножитель для расширения M был представлен как произведение двух 33 битных операндов (+1 бит на знак для обработки знакового и беззнакового умножения на одном модуле). Имплементировался дизайн под Artix-7. И из-за микроархитектуры блока DSP48E1 - получался каскадный умножитель, который увеличивал критический путь схемы. Один из способов исправить это - переписать дизайн на итерационный умножитель добавив стадий, либо переписать умножение как результат склейки результатов меньшей разрядности.
2) Регистровый файл представлялся не RAM памятью, а объявлен через genvar
, как набор 32-х регистров, к каждому из которых были подведены контрольные сигналы управления и тактирования.
3) Была испорчена стадия fetch. Для того чтобы переписать корректно логику выдачи инструкций процессору участникам нужно было обработать логику stall/kill для конвейера процессора (см. waveform в комментариях)
По поводу моих субъективных впечатлений. Невероятно рад, что удалось провести такой крупный hw-хакатон. Первый день сильно омрачила ситуация с серверами МИЭТ, которые не справились с нагрузкой и задержали старт хакатона. Больше всего конечно впечатлили участники. Кто-то ринулся реализовать сразу 5-стадийный процессор, кто-то пытался сделать умный предсказатель переходов, кто-то оказался более прагматичен и приступил к поиску текущих проблем в процессоре. Царила атмосфера инженерного творчества, что как мне кажется, является самой важной частью хакатона. Рад был познакомиться лично с каждым участником и надеюсь, что нам (организаторам) удалось разжечь в студентах интерес к профессии RTL design engineer.
stay tuned😎
p.s. Отдельная благодарность команде МИЭТ за подготовку заданий и предоставление площадки для проведения Хакатона. И персонально хотелось бы сказать спасибо команде Силантьева Александра за прекрасную подготовку материалов и инструментария для трека RTL-проектирование
BY Записки CPU designer'a

Share with your friend now:
tgoop.com/cpu_design/79