Армения посреди Америки, Китая и России: отчет с EDA Connect 2025

18c0e0d49116ecd12596d26c4abfe1bf.jpg

Мысль, что Армения удобна тем, что соединяется и с Америкой, и с Китаем — высказал мне один из китайских участников конференции EDA Connect. А мысль, что Армения соединяется еще и с Россией — возникала естественно при просмотре докладов о логическом синтезаторе, статическом анализаторе и верификации с помощью UVM.

Помимо докладов, при конференции прошел хакатон по Verilog и FPGA, на который пришли студенты из Ереванского университета, русско-армянского университета, американо-армянского, французско-армянского, европейско-армянского, и других университетов. Занятно, что второй день хакатона проходил в комнате напротив зала, где большое начальство встречалось с Премьер-Министром Армении. Один из студентов хакатона перепутал дверь, и его перенаправила секьюрити.

3802a4b731daa00d20cf71e905af3f29.jpg

Сначала выступили: зам-министра хайтека Армении (он в конце речи пропиарил наш хакатон, спасибо), президент армянской Академии Наук (он научил меня на банкете в конце конференции пить армянский коньяк), старший директор по ML калифорнийского отделения Siemens EDA (бывшей Mentor Graphics) и R&D директор армянского отделения Synopsys.

Армении очень повезло, что в ней есть крупнейшее за пределами США отделение Synopsys и теперь представительство Mentor-а, так как это делает раскрутку Армении в международном микроэлектронном бизнесе делом техники, в отличие от стран типа Киргизии или Грузии, где это принципиально сложнее. Для тех кто не в курсе: Synopsys — поставщик средств проектирования для Apple, NVidia, AMD итд итп.

Как так получилось? Я подозреваю, что чистая лотерея, типа [это мой поток фантазии, не смейте цитировать] кто-то из создателей ЭВМ «Наири» при развале СССР устроился в Калифорнии в Synopsys младшим программистом, и понеслось. Если бы на его месте был грузин или если бы армянина приняли в HP, то история Армении сложилась бы иначе.

Четыре из пяти докладов на keynote session содержали слово ИИ. Оно так же модно в 2025 году как в 1999 было модно слово дот-ком. Но докладчики говорили не только про ИИ.

Директор Сименс EDA по ML Седрак Саркисян долго рассказывал про историю индустрии EDA (Electronic Design Automation — САПР для проектирования электроники), а затем про проектирование трехмерных микросхем:

5aa9e552c67f056d9517184015276fbc.jpg

А вот кстати и «почему в Армении»:

1b1f53890c3123e2eef9a42af9f6b65b.jpg

R&D директор Synopsys-Армения Тигран Саркисян намекнул в своем докладе, что без Synopsys сверхгиганские ИИ-чипы были бы невозможны:

678e113eab388d69824a720a5c1d6cb4.jpg

Далее докладчик из Китая Yu Huang поделился про ИИ для EDA с участием Synopsys:

d20c548ecd0069d89854e8363a0572dc.jpg

Потом выступил Питер Ковни (Coveney), профессор из UCL (не путать с UCLA, первый — в Лондоне, второй в Лос-Анжелесе, оба крутые). Профессор рассказал про использование суперкомпьютеров для биохимии и материалов. По ИИ тоже прошелся:

bfc002b2cfd3cc5e01f59ae372d41ef5.jpg

Еще один докладчик из Китая рассказал про конференцию, которую они там организуют, после чего все отправились на обед.

78d6d95b09e49e856529446a725359b3.jpg

После обеда было мое выступление во второй комнате, поменьше. Когда я пришел, меня уже ждали:

4bda901d038418fb3e1ca55ec65cc82c.jpg

Название презентации «Workforce Development» я спер у Сержа Лифа, бывшего вице-президента Ментор Графикса по скупке стартапов. На прошлой EDA конференции в Сан-Франциско Серж меня уверял, что Workforce Development-ом активно интересуется американское правительство, а конкретно DARPA (Управление перспективных исследовательских проектов Министерства обороны США), которая дает на это гранты. [Интересно что Серж — один из немногих русских, которые работали в Дарпе, его вывезли родители из Москвы подростком в Аризону].

На первый слайд я поместил фотографию Лилии Киракосян, лидера SDR на FPGA в Российско-Армянском Университете:

723207da24947341e5ab95d3a4e79dcd.png

Вот мы с Лилией в ее естественной среде обитания:

d7905e987625b594044d6149a8d586e4.jpg

В моей презентации я рассказал о профессиях в электронных компаниях, и что вызывает трудности у студентов во время собеседований на работу. Я считаю, что вы этих трудностях виноваты преподаватели, которым жалко выбросить из своих курсов неактуальные вещи из 1960-х годов и добавить актуальные для 21 века, эпохи смартфонов, магистральных маршрутизаторов интернета и ИИ-ускорителей.

Для электронной компании совершенно бесполезен студент, который не знает, как спроектировать конвейерный вычислитель с очередями FIFO, даже если он глубоко разбирается в отличии JK-триггера от T-триггера, фон-нейманновской архитектуры от гарвардской или машины Мура от машины Мили, а также быстро чертит карты Карно — все после слова «даже» не пригодится ему на работе (могу поспорить об этом в комментариях).

ade5b666b1149a380844ef3249ca5374.png

Банальный пример: многие студенты не сразу могут сообразить как построить конвейерный вычислитель для формулы √(a + √(b + √c)), где тройки a, b, c нужно принимать в каждом такте, так как забывают, что пока они будут вычислять √c конвейерным подблоком с латентностью N, старое значение с входной шины b будет давно потеряно, если они его не сохранят где-нибудь. И одного регистра недостаточно, посколько с тех пор придет N новых значений:

b994f3a7d6eb50626e2f7bf599322123.png

После рассказа о мучениях студентов Америки я решил покритиковать Международную Олимпиаду по Микроэлектронике, Microelectronics Olympiad, которую проводят в Армении, и на которую приглашают даже студентов из Бразилии и других далеких стран. Моя основная претензия к этой олимпиаде: выставленные на сайте задачи не являются олипиадными. Для детей они слишком оторваны от физической реальности, а для взрослых инженеров — прямолинейные и тривиальные.

Они подходят для зачета на втором курсе или для контрольной в начале лекции, чтобы проверить, усвоили ли студенты материал предыдущей лекции. Заявленная на сайте целевая аудитория «молодые инженеры до 30 лет» — это даже не смешно, у меня есть знакомая до 30 лет, которая проектирует суперскалярный процессор в AMD. Где problem solving например вот в этом вопросе? Где неожиданный взгляд на математические объекты, свойственный скажем Международным математическим олимпиадам?

43c0eca729493cd5f7fa7c5d7a9d2645.png

Когда критикуешь — предлагай. Ну я разумеется предложил два варианта развлечения получше:

  • Для детей — задачки на верилоге на FPGA платах, с графикой, музыкой, сенсорами и актуаторами. И при этом ортогонально к ардуино и расберри пай, чему их и так учат. См. 1 и 2.

  • Для студентов — микроархитектурные задачки уровня интервью: обработка потоков данных, переупорядочение транзакций, аппаратные контроллеры динамических структур в памяти (например в Apple, Juniper и NVidia могут спросить на интервью как построить аппаратный блок (без софтвера и CPU) который с такой-то пропускной способностью складирует и извлекает список с указателями в памяти). См. 1 и 2 (упражнения с 10-го).

c385a9c1789310a58711a380436b0d84.png

А вот собственно видео моего доклада.

Я записал еще два доклада, которые делали докладчики из России.

Александр Камкин рассказал про открытый тул для синтеза Utopia EDA. Такой тул может стать отправной точкой, чтобы конкурировать в определенных нишах с дорогими (сотни тысяч и миллионы долларов коммерческие лицензии / подписки) тулами от Synopsys и Cadence. Участие в студенческом возрасте в разработке такого тула — отличный способ подготовиться к трудоустройству в Synopsys или Cadence, если не получится убедить венчурных капиталистов сфинансировать стартап который победит Synopsys и Cadence.

Александр Камкин и Utopia EDA связаны с Институтом системного программирования им. В.П. Иванникова. Академика Иванникова я помнюс детства, правда очень смутно, так как на втором курсе МФТИ работал над back-end-ом Си-компилятора для векторного-конвейерного суперкомпьютера Электроника СС-БИС (советский клон Cray-1, «красный Крей»), а его сотрудники Французов и Кусиков работали над компилятором Фортрана. То есть технически мы все были «Иванниковцами».

Сергей Чусов сделал увлеченный доклад про занятный трюк для создания тестбенчей — фабрику объектов классов в UVM. Я сделал в конце видео дополнения для гармонии доклада и аудитории:

  1. Спросил у аудитории, кто вообще сталкивался с функциональной верификацией систем на кристалле или дизайн-IP? Подняли руки процентов 15%

  2. Тогда я сказал: представьте что вы проектируете смартфон или маршрутизатор на языка описания аппаратуры Verilog. Его можно тестировать с помощью специальной программы на языке SystemVerilog, которая называется testbench.

  3. Testbench генерирует потоки транзакций между процессорными ядрами, GPU, периферийными устройствами, проверяет работу спроектированных подблоков против их высокоуровневых моделей, а также измеряет покрытие интересных сценариев.

  4. Для структурирования тестбенчей используется библиотека классов UVM — Universal Verification Methodology. Она полезна чтобы быстро ввести в курс дела нового инженера, который пришел в компанию. До UVM и ее предшественников (VMM, OVM итд) компании писали тестбенчи в довольно разном стиле, а UVM пытается снять с компаний нагрузку на переучивание перебежчиков.

  5. Короче, трюк описанный Сергеем Чусовым позволяет например поменять группу генераторов транзакций на шинах AXI в системе на кристалле для проверки работы системы в другом режиме. Скажем когда пользователь смарфона играет на нем трехмерный шутер, эти транзации бегают по другому, чем когда телефон лежит в кармане.

Сергей Чусов читает лекции по верификации на российской Школе Синтеза Цифровых Схем. Так как на EDA Connect приехали еще и Максим Кудинов и Максим Трофимов, которые участвуют в создании домашек для Школы, SystemVerilog-Homework, то мы вечером вместе пошли в ресторан:

b6603f523161b611656f64e560ffb47a.jpg

На второй день мы провели хакатон на FPGA платах. Цель хакатона было создать графическую игру. Но не написать программу, которая работает на процессоре, а сконфигурировать в FPGA цифровую схему, синтезированную из кода на языке описания аппаратуры SystemVerilog. А также перенести игру в среду TinyTapeout, что позволяет заказать свой ASIC чип на фабрике за небольшие деньги.

Перед хакатоном, еще в первый день, я обучал студентов что такое SystemVerilog и FPGA, по той же программе, которую я месяц назад опробовал на двухдневном семинара в Мексике, и которая возникла у меня после экспериментов над посетителями выставки Maker’s Faire в Калифорнии.

В конце первого дня и в начале второго мы разобрали пример, в котором управляемый пользователем объект сбивает другой объект, а всем этим управляет конечный автомат. Можете интерпретировать это как советский игровой автомат «Морской бой» или как «Дрон и ракета».

67e82ba8c31e505626141aeb82fb2262.jpg

Мы использовали платы с Gowin FPGA, хотя инфрастуктура примеров поддерживает и Xilinx, и Altera и некоторые Lattice. Просто Gowin в разы быстрее синтезирует и в разы дешевле чем Xilinx и Altera. См. Can Gowin beat Xilinx and Altera in the educational market?

Записалось на хакатон 42 человека, пришли 30 (при этом некоторые люди были только на тренинге и некоторые только на хакатоне). Получилось десять проектов:

Before you continue to YouTube
consent.youtube.com

Вот некоторые из них. Девушка получила дополнительный балл, так как интегрировала c платой ультразвуковую дальномерку в качестве генератора случайных чисел, чтобы внести в движение фигурок на экране некую хаотичность:

Другая девушка подсоединила к плате микрофон и показывала на экране ноты:

А вот эта девушка еще в первый день спросила «какие будут критерии оценки?» и получив от меня ответ «в основном эстетические, хотя немного и технические (синтезируемость с TinyTapeout, отсутствие negative slack)» — сделала нечто эстетическое, с прыгающими животными, деревьями и облачками.

А вот у этого юноши получилось вот такое визуальное безумие:

Группа участников моложе сделала проект. Мы таким образом делаем крупное semiconductor IP в компаниях — делим все по частя на блоки:

Большинство людей на хакатоне использовали дистрибутив Simply Linux с загружаемого SSD. Но всю эту инфраструктуру (Gowin EDA, openFPGALoader, Git, Bash) можно ставить и под другими дистрибутивами Linux, а также под Windows и Mac с Apple Silicon. Инструкции (хотя там нужно обновить картинку с GPIO — я поменял их позицию и позицию генерации звука).

Кстати, пару человек спросили как поставить все на Apple Mac M1-M4. Я написал сверхкраткую инструкцию:

Hidden text

Шаг 1. Взять Gowin EDA из https://www.gowinsemi.com/en/support/download_eda/

Создать account, найти Gowin EDA Download, потом в табе «Software for Linux» скачать «Gowin V1.9.10.03 Education (Mac)».

Шаг 2. Установить brew и git.

Шаг 3. В терминале:

mkdir ~/gowin
cd ~/gowin
cp ~/Downloads/Gowin_V1.9.10.03_Education_macOS.tar.gz .
tar -xvzf *.tar.gz
sudo xattr -rd com.apple.quarantine IDE Programmer

mkdir ~/projects
cd ~/projects
git clone https://github.com/yuri-panchul/basics-graphics-music.git
cd basics-graphics-music/labs/9_events/2025_02_21_tijuana/day_2_pm_graphics_using_sequential_logic/2_game_example
./03_synthesize_for_fpga.bash

Процедура награждения

Групповой проект тех кто дошел до конца, с организаторами — Hrachya Astsatryan, Arman Darbinyan и Sevak Sargsyan.

d8774d7772abae3521f3b26586cbbc15.jpg

В конце двух дней для организаторов, инвесторов и keynote спикеров устроили ужин в утонченном ресторане с удивительно качественным представлением с живой музыкой и танцами — я такого никогда в ресторанах не видел, даже в Лас-Вегасе и в мишленовских ресторанах в Сан-Франциско.

Общее резюме — Ереван имеет перспективы. А что вы скажете про Армению?

4dca3e023cd97c021c40f66f87610e2a.jpg

© Habrahabr.ru