Золото досталось России, серебро разделила Россия и Италия, бронза досталась Украине. Таковы результаты европейского финала престижного соревнования InnovateFPGA под эгидой Интела. Победители поедут в Калифорнию, где встретятся с финалистами из Америки и Азии. Надеюсь, теперь не нужно будет объяснять на Хабре, почему Verilog и ПЛИС/FPGA стратегически важны, несмотря на то, что «вакансий на джаву больше».
Студенты, которые сейчас делают проекты на ПЛИСах, через несколько лет будут делать массовые микросхемы для самоуправляемых автомобилей, ускорителей нейронных сетей, дополненной реальности и других приложений, в который обычный процессор не справляется. Именно поэтому Intel потратил 16.7 миллиардов долларов на покупку Altera и вход в рынок ПЛИС. А на днях Интел купил еще и компанию eASIC для дешевой конверсии дизайнов из ПЛИС в ASIC (в eASIC есть достаточно многочисленная российская команда).
Победа российских и украинских команд в интеловском конкурсе InnovateFPGA возникла не на пустом месте, а в результате работы конкретных людей в ЛЭТИ, ИТМО, КПИ и других местах, о которых уже были статьи на Хабре. Если продолжить эти начинания и расширить преподавание ПЛИС и языков описания аппаратуры во все технические вузы от Калининграда до Якутии, от Львова до Тбилиси и Астаны — то через пару десятилетий это может изменить расстановку сил в мировой электронной промышленности примерно так же, как работы Курчатова и Королева изменили расстановку сил в мировой атомной промышленности и освоении космоса.
Первый российский проект, которые получил на европейском финале InnovateFPGA золото, использует ПЛИС для повышения качества передачи цветов на видео. Одна и та же сцена снимается на две камеры с разной выдержкой, после чего потоки фреймов от них комбинируются в реальном времени. Заодно разработчики исправляют параллакс:
Этот проект сделали Владислав Шаршин и Андрей Папушин, которые, как показывает гугление, связаны с питерским ЛЭТИ.
В ЛЭТИ ПЛИС преподают довольно давно, в нем в частности работают известные авторы учебников по ПЛИС Евгений Угрюмов, Ростислав Грушвицкий и Александр Мурсаев. Вот моя фотка Ростислава Грушвицкого (слева) на семинаре в питерском Университете ИТМО (см. пост на Хабре «Путешествие по микроэлектронной России (академическая часть)»). Справа Александр Филиппов из Макро Груп, официального представителя Xilinx в России:
Кстати про Xilinx. Xilinx — конкурент Altera/IntelFPGA по ПЛИС. В принципе, самые высокоскоростные ПЛИС всегда были у Xilinx, но в последнее время Xilinx установил очень сложную бюрократическую процедуру для покупки образовательных плат с Xilinx FPGA в России. С какой-то проверкой на неиспользование плат для двойного назначения, которая занимает 4 месяца (данные на 2016 год). Самое странное, что я проверял у юриста, что для образовательных плат с Xilinx Artix-7 FPGA никакой дополнительной экспортной лицензии американский экспортный контроль не требует. То есть это инициатива самой компании Xilinx. Ну что-ж, тогда Xilinx заслужил будущий проигрыш Интелу/Альтере на российском рынке: студенческие платы с Intel/Altera FPGA в России продаются свободно.
Серебро на европейском раунде InnovateFPGA получила команда из питерского Университета ИТМО: Максим Толкачев, Александр Насида, Дамир Закиров. Они сделали на ПЛИС ускоритель поиска по тексту в потоке сетевых пакетов:
Университет ИТМО выиграл тоже не на пустом месте: они все время проводят семинары и другие мероприятия по ПЛИС, высокоуровневому синтезу и ASIC. Сотрудники Университета ИТМО помогли перевести учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», который быстро адаптировали большое количество российских университетов как основу для изучения языков описания аппаратуры микроархитектуры, с лабами на ПЛИС/FPGA. Вот слева — Павел Кустарев из ИТМО, ключевой редактор 4-й главы этого учебника:
Бронзу на европейском InnovateFPGA, получила команда из Киевского Политехнического Института — Сергей Сачов и Евгений Короткий. Они использовали ПЛИС для аппаратного ускорения микроплатежей криптовалюты с устройства для интернета вещей.Кусок кода на языке описания аппаратуры Verilog из проекта КПИ на InnovateFPGA
До того, как выиграть интеловский InnovateFPGA, Сергей Сачов выиграл хакатон по MIPSfpga, который мы вместе проводили с Евгением Коротким. Вот фото из поста на Хабре «Хакатон нового типа испробован в Киеве, планируется повторить этот опыт в России». Слева направо на хакатоне в Киеве: Сергей Сачов, Валера Марченко, ваш покорный слуга и Евгений Короткий:
Сотрудники КПИ также участвовали в переводе слайдов для лекторов в качестве дополнения к учебнику Харрис & Харрис.
Если бы не все эти проекты (курсы в ЛЭТИ, Харрис & Харрис и MIPSfpga в ИТМО и КПИ), то выигрышей всех первых трех мест на европейском финале интеловского InnovateFPGA скорее всего бы не было, и в топе InnovateFPGA фигурировали бы французы, немцы и британцы, а не русские и украинцы. После чего люди бы говорили, что проектирование цифровой логики — это для Apple в Купертино с его айфонами, а не для России.
Кстати про Apple. Вот жил в Жуковском 25-летний выпускник Бауманки Илья Неганов. Он работал в Туполеве, разрабатывал устройства для тестирования авиационной аппаратуры с помощью ПЛИС/FPGA. В конце 2011 года я встретил его в Москве и вручил ему все тот же учебник Харрис & Харрис. Илья сделал по нему простой процессор (напоминающий один из вариантов schoolMIPS от Станислава Жельнио). Потом Илья устроился в Imagination Technologies и участвовал в проектировании процессорного ядра MIPS I6400/I6500. А сейчас Илья работает в Apple, делает графический процессор для будущих айфонов и айпадов. Вот наглядное доказательство тезиса ПЛИС + Харрис & Харрис = вход в микросхемы для массовых гаджетов.
Все эти технологии нужно внедрять в образование не только в топовых вузах (МГУ, МФТИ, МИЭТ итд), но гораздо шире, вплоть до физматшкол. И не стоит говорить «давайте сначала Ардуино/Расберри Пай/STM32». Программирование микроконтроллеров и встроенных микропроцессоров к использованию ПЛИС совершенно ортогонально. Никакое количество программирования Ардуино не заменит цифровую схемотехнику на ПЛИС, это разные вещи, как пение и рисование. И да, ПЛИС могут использовать продвинутые школьники 9 класса. Вот видео девятиклассника и девятиклассницы, которые сделали проекты на ПЛИС на Новосибирской Летней Школе Юных Программистов. На 10:40: девятиклассница добавила инструкцию в процессор, описанный на языке описания аппаратуры Verilog, синтезировала этот процессор для реализации на ПЛИС и сделала по этому поводу доклад на конференции в Томске (см. пост на Хабре «Суровая сибирская и казахстанская микроэлектроника 2017 года: Verilog, ASIC и FPGA в Томске, Новосибирске и Астане»):
ПЛИС — это не только нишевый способ реализации обработки сигналов и подобных приложений. Для студентов ПЛИС — это вход в микроархитектуру процессоров, разработку цифровой логики на уровне регистровых передач, разработку алгоритмов автоматизации проектирования микросхем, создания блоков IP и много чего другого. После работы с FPGA также легче понять CGRA — Coarse Grained Reconfigurable Architecture — новомодные структуры для ускорения нейронных сетей, которые работают не на уровне индивидуальных сигналов, как FPGA, а на уровне шин с многими сигналами и десятками тысяч арифметических устройств (см. пост на Хабре «Прямой репортаж с рождения крупного игрока в аппаратном AI, который ускоряет TensorFlow и конкурирует с NVidia»).
Если (предположим) завтра Путин выпишет чек на $17 миллиардов долларов и купит у TSMC Фабрику 18, которая строится для производства микросхем на 7 и 5 нанометров, то эти деньги будут потрачены зря, так как в России сейчас нет персонала для ее обслуживания и российских компаний для размещения на ней заказов. А вот если научить много студентов разнообразным технологиям проектирования систем на кристалле, начиная с упражнений на ПЛИС/FPGA, то через некоторое время в России, Украине и других близких странах будет достаточно специалистов для формирования сотен компаний разного размера, которые будут проектировать умные микросхемы как для внутреннего рынка, так и на экспорт. Тогда и передовая фабрика пригодится.
Автор: YuriPanchul