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

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

Сначала выступили: зам-министра хайтека Армении (он в конце речи пропиарил наш хакатон, спасибо), президент армянской Академии Наук (он научил меня на банкете в конце конференции пить армянский коньяк), старший директор по 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 — САПР для проектирования электроники), а затем про проектирование трехмерных микросхем:

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

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

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

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

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

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

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

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

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

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

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

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

А вот собственно видео моего доклада.
Я записал еще два доклада, которые делали докладчики из России.
Александр Камкин рассказал про открытый тул для синтеза Utopia EDA. Такой тул может стать отправной точкой, чтобы конкурировать в определенных нишах с дорогими (сотни тысяч и миллионы долларов коммерческие лицензии / подписки) тулами от Synopsys и Cadence. Участие в студенческом возрасте в разработке такого тула — отличный способ подготовиться к трудоустройству в Synopsys или Cadence, если не получится убедить венчурных капиталистов сфинансировать стартап который победит Synopsys и Cadence.
Александр Камкин и Utopia EDA связаны с Институтом системного программирования им. В.П. Иванникова. Академика Иванникова я помнюс детства, правда очень смутно, так как на втором курсе МФТИ работал над back-end-ом Си-компилятора для векторного-конвейерного суперкомпьютера Электроника СС-БИС (советский клон Cray-1, «красный Крей»), а его сотрудники Французов и Кусиков работали над компилятором Фортрана. То есть технически мы все были «Иванниковцами».
Сергей Чусов сделал увлеченный доклад про занятный трюк для создания тестбенчей — фабрику объектов классов в UVM. Я сделал в конце видео дополнения для гармонии доклада и аудитории:
Спросил у аудитории, кто вообще сталкивался с функциональной верификацией систем на кристалле или дизайн-IP? Подняли руки процентов 15%
Тогда я сказал: представьте что вы проектируете смартфон или маршрутизатор на языка описания аппаратуры Verilog. Его можно тестировать с помощью специальной программы на языке SystemVerilog, которая называется testbench.
Testbench генерирует потоки транзакций между процессорными ядрами, GPU, периферийными устройствами, проверяет работу спроектированных подблоков против их высокоуровневых моделей, а также измеряет покрытие интересных сценариев.
Для структурирования тестбенчей используется библиотека классов UVM — Universal Verification Methodology. Она полезна чтобы быстро ввести в курс дела нового инженера, который пришел в компанию. До UVM и ее предшественников (VMM, OVM итд) компании писали тестбенчи в довольно разном стиле, а UVM пытается снять с компаний нагрузку на переучивание перебежчиков.
Короче, трюк описанный Сергеем Чусовым позволяет например поменять группу генераторов транзакций на шинах AXI в системе на кристалле для проверки работы системы в другом режиме. Скажем когда пользователь смарфона играет на нем трехмерный шутер, эти транзации бегают по другому, чем когда телефон лежит в кармане.
Сергей Чусов читает лекции по верификации на российской Школе Синтеза Цифровых Схем. Так как на EDA Connect приехали еще и Максим Кудинов и Максим Трофимов, которые участвуют в создании домашек для Школы, SystemVerilog-Homework, то мы вечером вместе пошли в ресторан:

На второй день мы провели хакатон на FPGA платах. Цель хакатона было создать графическую игру. Но не написать программу, которая работает на процессоре, а сконфигурировать в FPGA цифровую схему, синтезированную из кода на языке описания аппаратуры SystemVerilog. А также перенести игру в среду TinyTapeout, что позволяет заказать свой ASIC чип на фабрике за небольшие деньги.
Перед хакатоном, еще в первый день, я обучал студентов что такое SystemVerilog и FPGA, по той же программе, которую я месяц назад опробовал на двухдневном семинара в Мексике, и которая возникла у меня после экспериментов над посетителями выставки Maker’s Faire в Калифорнии.
В конце первого дня и в начале второго мы разобрали пример, в котором управляемый пользователем объект сбивает другой объект, а всем этим управляет конечный автомат. Можете интерпретировать это как советский игровой автомат «Морской бой» или как «Дрон и ракета».

Мы использовали платы с Gowin FPGA, хотя инфрастуктура примеров поддерживает и Xilinx, и Altera и некоторые Lattice. Просто Gowin в разы быстрее синтезирует и в разы дешевле чем Xilinx и Altera. См. Can Gowin beat Xilinx and Altera in the educational market?
Записалось на хакатон 42 человека, пришли 30 (при этом некоторые люди были только на тренинге и некоторые только на хакатоне). Получилось десять проектов:
Вот некоторые из них. Девушка получила дополнительный балл, так как интегрировала c платой ультразвуковую дальномерку в качестве генератора случайных чисел, чтобы внести в движение фигурок на экране некую хаотичность:
Другая девушка подсоединила к плате микрофон и показывала на экране ноты:
А вот эта девушка еще в первый день спросила «какие будут критерии оценки?» и получив от меня ответ «в основном эстетические, хотя немного и технические (синтезируемость с TinyTapeout, отсутствие negative slack)» — сделала нечто эстетическое, с прыгающими животными, деревьями и облачками.
А вот у этого юноши получилось вот такое визуальное безумие:
Группа участников моложе сделала проект. Мы таким образом делаем крупное semiconductor IP в компаниях — делим все по частя на блоки:
Большинство людей на хакатоне использовали дистрибутив Simply Linux с загружаемого SSD. Но всю эту инфраструктуру (Gowin EDA, openFPGALoader, Git, Bash) можно ставить и под другими дистрибутивами Linux, а также под Windows и Mac с Apple Silicon. Инструкции (хотя там нужно обновить картинку с GPIO — я поменял их позицию и позицию генерации звука).
Кстати, пару человек спросили как поставить все на Apple Mac M1-M4. Я написал сверхкраткую инструкцию:
Шаг 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.

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