
Ко мне на днях обратились сначала два стартапера, а потом и из большой компании по вопросу EDA с помощью AI. Я дал всем троим одну и ту же задачку и думаю сделать еще несколько таких задач, так как два тула эту задачку решили, один тул на ней лег, а еще четыре произвели некий код на языке описания аппаратуры SystemVerilog, который не проходил мой тест, то есть не являлся решением.
В чем социальная значимость таких задачек? Дело в том, что венчурные капиталисты тратят не свои деньги, а деньги, которые институциональные инвесторы, в частности пенсионные фонды - вкладывают в фонды венчурных капиталистов. Тем самым, хотя в США существуют законы, запрещающий неопытным инвесторам ("widows and orphans laws" - "законы о защите вдов и сирот") вкладывать в стартапы напрямую - вдовы и сироты все равно не защищены, так как живут на выплаты из пенсионного фонда, в который вкладывал их безвременно почивший отец семейства.
Также не открою Америку, что стартапер стартаперу рознь. Одни честно делают прототипы и решают задачки от потенциальных пользователей. А другие занимаются shmoozing - то есть ходят по тусовкам и пытаются что-то впарить VC говорением в стиле Остапа Бендера.
И вот чтобы защитить венчурных капиталистов (а через них - вдов и сирот) от стартаперов второго типа, мы с соратниками сделали задачку под названием SystemVerilog Microarchitecture Challenge for AI No.1:
Вставим историческую справку. Electronic Design Automation (EDA) - по русски означает "автоматизация проектирования электроники" или электронный САПР. Эта область пережила свои золотые дни (и внимание VC) в конце 1980-х - начале 1990-х годов, когда изобрели маршрут проектирования микросхем RTL-to-GDSII. Именно этот маршрут породил айфоны, быстрые роутеры для интернета и аппаратные ускорители ИИ. Однако затем все монополизировалось в лапах Synopsys и Cadence, и VC перестали вкладывать деньги в EDA стартапы. И вот сейчас настипил хайп ИИ и EDA внезапно стала подавать признаки жизни.
Теперь приведем задачку и список причастных. Прямо из файла README.md:
SystemVerilog Microarchitecture Challenge for AI No.1
This repository contains a challenge to any AI software that claims to generate Verilog code. The challenge is based on a very typical scenario in an electronic company: an engineer has to write a pipelined block using a library of sub-blocks written by somebody else. Then this engineer has to verify his block using a testbench written by somebody else. He may also need to figure out the sub-block latencies and handshakes by analyzing the code, since a lot of code in electronic companies is not sufficiently documented.
The SystemVerilog Microarchitecture Challenge for AI No.1 is based on the SystemVerilog Homework project by Verilog Meetup. It also uses the source code of an open-source Wally CPU.
1. The Prompt
Finish the code of a pipelined block in the file challenge.sv. The block computes a formula "a ** 5 + 0.3 * b + c". You are not allowed to implement your own submodules or functions for the addition, subtraction, multiplication, division, comparison or getting the square root of floating-point numbers. For such operations you can only use the modules from the arithmetic_block_wrappers directory. You are not allowed to change any other files except challenge.sv. You can check the results by running the script "simulate". If the script outputs "FAIL" or does not output "PASS" from the code in the provided testbench.sv by running the provided script "simulate", your design is not working and is not an answer to the challenge. Your design must be able to accept a new set of inputs (a, b and c) each clock cycle back-to-back and generate the computation results without any stalls and without requiring empty cycle gaps in the input. The solution code has to be synthesizable SystemVerilog RTL. A human should not help AI by tipping anything on latencies or handshakes of the submodules. The AI has to figure this out by itself by analyzing the code in the repository directories. Likewise a human should not instruct AI how to build a pipeline structure since it makes the exercise meaningless.
2. The Credits
The list of people who contributed to the SystemVerilog Homework:
Софтвер нужный для проверки решения является бесплатным и ставится достаточно банально и под Линуксом, и под Windows (10, 11, с WSL или без WSL - неважно) или под Макинтошем:

Так что желающие могут дерзать и пробовать мир AI EDA
Комментарии (6)
Arastas
07.08.2025 16:53То есть два AI-based EDA решения все же справились с задачей?
YuriPanchul Автор
07.08.2025 16:53Да, но это только первая задача. Я добавлю к ней контроль потока данных, потом сделаю задачу из блоков с переменной латентностью - короче замучать пока можно любой AI, причем по шагам.
spirit1984
07.08.2025 16:53Должен заметить, что чем более, так сказать, нишевым является язык (языки проектирования аппаратуры как раз такие), тем хуже у ИИ с этим дела. Более того, даже среди мейнстримовых языков, согласно исследованиям, у ИИ все более менее хорошо с написанием кода на Питоне или Яве, а вот написать что-нибудь на том же Си под микроконтроллеры - уже серьезная проблема.
rukhi7
Сначала подумал: "что это за задача которая рассказывает что делать нельзя?". Когда дочитал до конца - дошло что оно должно проанализировать существующую библиотеку и на основе анализа использовать именно ее - интересно!
Раз попросили привести свой вариант в коментариях, у меня есть в развернутом виде, об искусственном интеллекте божественной силы.
YuriPanchul Автор
Дык это именно то, что происходит на реальном рабочем месте. Электронная компания не может позволить каждому новому практиканту изобретать велосипеды в арифметике с плавающей точкой и примитивах для организации конвейеров.
rukhi7
так у вас в качестве промта вся библиотека выступает, получается. То есть мы полный промт не видим.
Интересно а Электронная компания может себе позволить написать документацию для модулей из arithmetic_block_wrappers директории. Я думаю может, если к ней очередь операторов ИИ построилась. Может как раз это надо было, как раз написать (оценить) документацию у интеллекта спросить? Я бы еще критерии эффективности попросил сформулировать и оценить, полноту и достаточность набора модулей, ...