Всё началось с обычного задания по схемотехнике: перерисовать в Multisim схемы логических элементов из учебника — ТТЛ, ТТЛ Шоттки, КМОП. Транзистор за транзистором, провод за проводом. Захотелось, чтобы это делала нейросеть.
Первая схема
Первым был SN74LS00 — 2И-НЕ на транзисторах Шоттки. Пришлось разобрать формат файла, научиться сжимать его так, как ждёт Multisim, и придумать, как нарисовать транзистор Шоттки с «крючками», как в книге. Когда файл впервые открылся и мультиметр показал 0,53 В на выходе при двух единицах на входах, стало понятно, что идея работает.
Правило: проверять в Multisim
Каждая новая схема и каждый новый вид элемента проверялись руками в Multisim 14.3. Это правило дало больше всего находок: одинаковые GUID, прыгающие ключи, шаг моделирования для КМОП. Так набралось 18 схем из учебника — все открываются без диалогов и работают.
Любая схема, а не только из учебника
Дальше захотелось собирать не только «книжные» схемы, а любые — по скриншоту. Для этого понадобились настоящие детали Multisim: появился
каталог, собранный из примеров Multisim, и get_parts.bat, который добывает недостающую деталь у самого Multisim. Первой
«чужой» схемой стал диодный формирователь по скриншоту: его показания совпали с ngspice до тысячных.
Навык для всех
Чтобы схемы мог собирать кто угодно, генератор оформлен как навык для Claude: zip загружается в claude.ai, и дальше достаточно прислать картинку. Потом появились библиотека готовых узлов, приборы и пробники, самообновление из репозитория. Навык справляется даже на младших моделях — со второй попытки, но справляется.
Что дальше
- больше узлов: каскады на ОУ, таймер 555, триггеры;
- больше деталей в каталоге — в том числе от пользователей;
- микросхемы-«коробки» без модели, чтобы рисовать платы целиком и моделировать их аналоговую часть.
Идеи и схемы, которые не получились, — в issues на GitHub.