Генеративное проектирование микроэлектроники и интегральных схем
Сергей Брюков
Цикл разработки сложной микросхемы и доведение проекта до живого кремния по‑прежнему измеряется годами, а физическое проектирование одного блока — неделями итераций. Последние несколько лет дали серию публичных кейсов, где генеративные и ML‑методы заметно сжимают эти сроки, а в отдельных случаях на порядки.
- Google AlphaChip (2021). Обучение с подкреплением для размещения макроблоков: размещение, сопоставимое с ручным или лучше, получается менее чем за 6 часов вместо недель работы инженеров. Метод использовался в нескольких поколениях TPU. Результаты оспаривались в сообществе с точки зрения воспроизводимости, но сам кейс стал отправной точкой для всей области. Nature
- NVIDIA PrefixRL (2022). Обучение с подкреплением проектирует параллельные префиксные схемы (сумматоры, инкременторы, детекторы приоритета). При той же задержке полученные схемы занимают меньшую площадь, чем схемы, спроектированные современными EDA‑инструментами. По данным NVIDIA, в GPU H100 около 13 000 таких схем спроектированы ИИ. NVIDIA Blog
- Chip‑Chat, NYU (2023). Инженеры в диалоге с GPT‑4 спроектировали 8‑битный процессор с аккумуляторной архитектурой и отправили его на фабрику через Tiny Tapeout (SkyWater 130 нм). По заявлению авторов, это первый случай, когда HDL, написанный LLM, дошёл до кремния. arXiv
- QiMeng / CPU‑1, ИВТ КАН (2023). RISC‑V‑ядро примерно на 4 млн вентилей было сгенерировано автоматически из тестовых входов и выходов менее чем за 5 часов и выпущено в кремнии. Производительность — на уровне Intel 80486. Обычно на такую работу у команды уходят месяцы. arXiv
- QiMeng‑CPU‑v2, ИВТ КАН (2025). Вторая итерация проекта: суперскалярный процессор примерно на 17 млн вентилей. Авторы заявляют производительность на уровне ARM Cortex‑A53, то есть класса процессоров для смартфонов середины 2010‑х. В той же работе описана общая концепция полностью автоматического проектирования и «железа», и ПО (компилятор, ОС, библиотеки). arXiv
- Design Conductor 2.0 (май 2026). Агент построил ускоритель инференса с поддержкой TurboQuant за 80 часов, от спецификации до готовой реализации. Для сравнения авторы приводят типичный проект такого класса: 18–36 месяцев, сотни инженеров и бюджет свыше 400 млн долларов. Это препринт, рецензирования пока не было. arXiv
- OpenAI × Broadcom Jalapeño (Hot Chips, август 2026). Первый собственный ИИ‑ускоритель OpenAI прошёл путь от начала работ над RTL (февраль 2025) до тейпаута (ноябрь 2025) примерно за девять месяцев, а первый кремний получен в мае 2026. OpenAI связывает такие сжатые сроки с использованием собственных моделей в проектировании и оптимизации PPA. Аналитики оговаривают, что тейпаут — ещё не готовый продукт, а вклад ИИ трудно отделить от опыта Broadcom. Tom’s Hardware, Futurum
Сколько стоит классический маршрут. Для большого SoC класса 5–3 нм с командой около 300 инженеров (при стоимости инженера около $250 тыс. в год) оценка выглядит так:
- цикл от RTL до тейпаута — 24 мес., то есть около $150 млн на команду;
- полный бюджет проекта (с EDA, IP, масками и ПО) — $400–500 млн.
По часто цитируемой оценке McKinsey, опоздание продукта на 6 мес. стоит до ⅓ прибыли за его жизненный цикл. Сокращение цикла с 24 до 9 мес. означает выход на рынок на 15 мес. раньше конкурента, идущего классическим маршрутом. Если чип приносит за жизненный цикл $1,5 млрд прибыли, то полгода форы стоят до $500 млн, то есть почти весь бюджет разработки.
Для небольших команд эффект ещё заметнее. Проект на зрелых нормах (28–130 нм) стоит от единиц до десятков миллионов долларов, и значительную часть этой суммы составляет труд инженеров. Если сократить его вдвое, собственный чип становится доступен стартапу, а не только корпорации.
![]()
«Следующее десятилетие станет свидетелем кембрийского взрыва новых компьютерных архитектур — захватывающее время для архитекторов компьютеров в науке и в индустрии».
— Джон Хеннесси и Дэвид Паттерсон, лауреаты премии Тьюринга, A New Golden Age for Computer Architecture, Communications of the ACM, 2019
![]()
«В этом будущем чипы проектируют агенты, а проектировщики разрабатывают агентов».
— Марк Рен, основатель Agentrys, Agentic AI for Chip Design: Agentic Design Automation Toward Autonomous Design, IEEE, 2026
Становится очевидным, что мы вступаем в новые 90‑е: раздаются новые роли и зарождаются новые слои общества, но в инженерии. В этой статье я попробую разобрать в инструментах для проектирования микроэлектроники и интегральных схем с помощью проектировщика ИИ‑агентов, какие инструменты уже есть и какие ещё можно создать.
Маршрут проектирования интегральных микросхем
Интегральная микросхема (ИС) — это совокупность взаимосвязанных компонентов, изготовленных в едином технологическом цикле на одной подложке. Термин отражает факт интеграции отдельных компонентов в единый прибор — кристалл.
При проектировании ИС применяют пять уровней абстракции. Они описывают, из чего и как устроена микросхема и как она будет реализована на кристалле. Перечень идёт снизу вверх:
- Физический — транзисторы и соединения на кристалле.
- Схемотехнический — схемы из транзисторов, из которых строятся логические элементы.
- Функциональный — логические значения «0» и «1», описание на уровне RTL.
- Микроархитектурный — функциональные блоки и их связи.
- Архитектурный — программная модель: система команд и код.
Физический уровень абстракции ИС
На этом уровне описывается, как транзисторы и соединения будут сформированы на кристалле. Технологи определяют материалы, проектируют геометрию и размеры.
Результат уровня — топология (layout): набор многоугольников по слоям (диффузия, поликремний, металлы, контакты), которые превращаются в фотошаблоны. Стандартный формат обмена — GDSII/OASIS.
Правила формирования определены PDK (Process Design Kit) конкретной фабрики: минимальные размеры и зазоры (DRC), модели транзисторов для SPICE, библиотеки стандартных ячеек. Без PDK кристалл нельзя отдать на производство.
Топология проверяется на соответствие правилам техпроцесса (DRC) и схеме (LVS), затем из неё извлекаются паразитные ёмкости и сопротивления проводников (PEX). На современных нормах эти паразиты определяют скорость и энергопотребление.
Сами транзисторы и техпроцесс моделируют отдельно, в TCAD: профили легирования, форма затвора, напряжения и токи на уровне физики полупроводника.
В таблице ниже приведены инструменты, которые используются на физическом уровне проектирования ИС:
| Задача | Коммерческие пакеты | Открытые проекты |
|---|---|---|
| Редактор топологии | Cadence Virtuoso, Synopsys Custom Compiler | Magic, KLayout |
| Цифровая реализация (размещение и трассировка) | Cadence Innovus, Synopsys IC Compiler II | OpenROAD, OpenLane (маршрут от RTL до GDSII) |
| Проверка DRC / LVS | Siemens Calibre, Cadence Pegasus, Synopsys IC Validator | Magic и KLayout (DRC), Netgen (LVS) |
| Извлечение паразитов (PEX) | Siemens Calibre, Synopsys StarRC | — |
| TCAD (моделирование приборов и техпроцесса) | Synopsys Sentaurus TCAD, Silvaco Victory TCAD | DEVSIM |
| PDK | поставляются фаундри под NDA | SkyWater SKY130 (130 нм), GlobalFoundries GF180MCU (180 нм), IHP SG13G2 (130 нм, SiGe BiCMOS) |
Генеративные методы на физическом уровне проектирования ИС
На физическом уровне ИИ чаще всего не пишет код, а ищет решение в огромном пространстве вариантов: где разместить блоки, как провести трассы, как нарисовать ячейку. Поэтому здесь работают обучение с подкреплением, графовые нейросети и генеративные модели топологии.
| Проект | Тип | Что делает |
|---|---|---|
| Synopsys DSO.ai | коммерческий | Подбор параметров физического маршрута обучением с подкреплением. Входит в Synopsys.ai вместе с Fusion Compiler и Synopsys.ai Copilot |
| Cadence Cerebrus | коммерческий | ML-оптимизация цифрового маршрута (синтез, размещение, трассировка) поверх Genus и Innovus. Входит в платформу Cadence JedAI |
| Siemens Calibre (ML-функции) | коммерческий | Кластеризация и разбор нарушений DRC, ускорение коррекции масок (OPC) обученными моделями |
| Google AlphaChip | исследовательский, код открыт | Обучение с подкреплением для планировки блоков (floorplan). Nature, 2021; применялся в TPU; код и модель открыты в 2024 году. Воспроизводимость на других задачах оспаривается |
| NVIDIA NVCell, PrefixRL | исследовательский | Обучение с подкреплением: генерация топологии стандартных ячеек и схем сумматоров (2021–2022) |
| Принстон, обратное проектирование | исследовательский | Нейросеть синтезирует электромагнитные структуры миллиметрового диапазона сразу по заданным характеристикам и получает непривычные для человека топологии. Работа опубликована в Nature Communications (2024–2025) |
| DREAMPlace | открытый | Размещение элементов на GPU по аналогии с обучением нейросети; используется в OpenROAD |
| OpenROAD AutoTuner | открытый | Автоматический подбор параметров открытого маршрута |
| ALIGN, MAGICAL | открытый | Генерация топологии аналоговых схем по схеме и ограничениям (в том числе программа DARPA IDEA) |
| OpenFASoC | открытый | Генератор аналоговых и смешанных блоков на открытых PDK |
| CircuitNet | открытый | Набор данных для предсказания загруженности трасс, таймингов и падения напряжения по ранним стадиям топологии |
Как создать ИИ‑агента для физического уровня проектирования ИС
Агент с обучением с подкреплением (RL) состоит из трёх частей: среды (открытый маршрут, который выполняет действия и считает результат), агента (нейросеть, выбирающая действия) и функции награды (метрики качества кристалла). Начинать лучше с маленькой задачи, где один прогон занимает секунды.
Шаги:
- Выбрать узкую задачу. Например, размещение 20–100 макроблоков на кристалле, подбор параметров маршрута или размещение стандартных ячеек. Это та же постановка, что у AlphaChip, но в миниатюре.
- Поднять открытый маршрут. Установить OpenROAD или OpenLane и прогнать готовый пример на SKY130 или GF180MCU. Это даёт «симулятор» для среды: всё бесплатно, воспроизводимо и работает на обычном компьютере.
- Обернуть маршрут в среду. Описать интерфейс в стиле Gymnasium:
reset()создаёт задачу,step(action)применяет действие (поставить блок, изменить параметр),rewardвозвращается по итогам прогона. OpenROAD управляется через Tcl и Python, и этого достаточно. - Определить награду. Типовая формула — взвешенная сумма длины проводов (HPWL), загруженности трасс, нарушений тайминга (WNS, TNS) и площади. Для быстрого старта используют упрощённую оценку (HPWL), а полный маршрут запускают только для лучших вариантов.
- Взять готовую RL-библиотеку. Stable-Baselines3 (PPO) — самый простой вариант, RLlib или CleanRL — когда нужно масштабирование на несколько машин. Для графовых представлений схемы (нетлист) — PyTorch Geometric или DGL.
- Сравнить с базовым решением. Стандартное размещение OpenROAD (RePlAce) или DREAMPlace — это «планка»: агент должен превзойти его хотя бы на части задач. Если нет, проблема обычно в награде или в представлении состояния.
- Усилить RL предобучением. Ускорить обучение можно датасетами: CircuitNet даёт данные для быстрой оценки качества без полного прогона маршрута, а соревнования ISPD дают готовые тестовые задачи размещения.
Что использовать:
| Часть | Варианты |
|---|---|
| Среда и маршрут | OpenROAD, OpenLane, открытые PDK (SKY130, GF180MCU, IHP SG13G2) |
| Интерфейс среды | Gymnasium, Python и Tcl API OpenROAD |
| RL-алгоритмы | Stable-Baselines3 (PPO, SAC), CleanRL, RLlib |
| Нейросети и графы | PyTorch, PyTorch Geometric, DGL |
| Ускорение | DREAMPlace (GPU-размещение), быстрые прокси-метрики вместо полного прогона |
| Данные и бенчмарки | CircuitNet, соревнования ISPD, ORFS-проекты (OpenROAD-flow-scripts) |
| Готовые образцы | Google AlphaChip (открытый код и предобученная модель), OpenROAD AutoTuner |
| Эксперименты | Weights & Biases или MLflow для логов и сравнения запусков |
Типичные ловушки:
- Дорогая среда. Полный прогон маршрута занимает минуты или часы, поэтому для обучения нужны быстрые прокси-метрики и параллельный запуск десятков сред.
- Награда, которую «обманывают». Агент находит способ снизить метрику, не улучшая кристалл, например делает короткие провода за счёт нарушений правил. Награду нужно сверять с итоговым DRC и таймингом.
- Переобучение на одной схеме. Агент должен работать на новых нетлистах, поэтому обучать его стоит на наборе разных схем, а проверять на неизвестных.
- Нет базовой линии. Без сравнения с OpenROAD или DREAMPlace нельзя понять, что агент реально лучше.
Практичный путь: сначала автоматизировать подбор параметров OpenROAD (задача проще, награда понятна), затем перейти к размещению блоков и только потом к более тонким задачам вроде проектирования ячеек.
Схемотехнический уровень абстракции ИС
На схемотехническом уровне из готовых транзисторов собираются схемы. Разработчик учитывает, какие токи протекают через каждый транзистор, какие напряжения на него подаются и где расположены земля и питание.
Результат уровня — схема (schematic) и её текстовое описание, нетлист (например, в формате SPICE): список транзисторов, резисторов и конденсаторов и связей между ними. Для цифровых блоков из таких схем собирают библиотеку стандартных ячеек, для аналоговых (усилители, АЦП, PLL, стабилизаторы) схему рисуют вручную.
Главная задача — подбор размеров (W/L транзисторов), токов смещения и номиналов пассивных элементов под требования: усиление, полоса, шум, потребление, запас по фазе.
Работу схемы проверяют SPICE-симуляцией (по постоянному току, малому сигналу, во временной области) с моделями транзисторов из PDK. Её проверяют во всех углах (PVT corners) — сочетаниях разброса техпроцесса, напряжения и температуры — и по разбросу параметров (Monte Carlo).
Для цифровых ячеек схему характеризуют: измеряют задержки, потребление и ёмкости, результат записывают в библиотеку формата Liberty (.lib), которую дальше использует цифровой маршрут.
Аналоговые схемы плохо поддаются автоматизации: опытный разработчик подбирает их по интуиции и опыту. Поэтому именно этот уровень стал одним из главных кандидатов на генеративные методы.
Коммерческие пакеты и открытые проекты:
| Задача | Коммерческие пакеты | Открытые проекты |
|---|---|---|
| Редактор схем | Cadence Virtuoso Schematic Editor, Synopsys Custom Compiler | Xschem, Qucs-S |
| SPICE-симуляция | Cadence Spectre, Synopsys HSPICE и PrimeSim, Siemens Eldo, Silvaco SmartSpice | ngspice, Xyce |
| Анализ разброса и углов (PVT, Monte Carlo) | Siemens Solido, Cadence Virtuoso ADE Assembler | скрипты на базе ngspice |
| Характеризация стандартных ячеек | Cadence Liberate, Synopsys SiliconSmart | — |
| Модели транзисторов (PDK) | поставляются фаундри под NDA | SkyWater SKY130, GF180MCU, IHP SG13G2 |
Генеративные методы на схемотехническом уровне проектирования ИС
На схемотехническом уровне ИИ решает две задачи. Первая — подбор размеров под заданную спецификацию: пространство параметров непрерывно, а оценка (симуляция) дорогая. Вторая — синтез структуры схемы: выбрать, какие элементы использовать и как их соединить.
| Проект | Тип | Что делает |
|---|---|---|
| Siemens Solido | коммерческий | ML-ускорение анализа разброса и углов: вместо тысяч симуляций Monte Carlo выбирает наиболее информативные |
| Cadence Virtuoso ADE (оптимизация) | коммерческий | Автоматический подбор размеров и параметров схемы под спецификацию в среде проектирования |
| AutoCkt (Berkeley) | исследовательский | Обучение с подкреплением для подбора размеров аналоговых схем под заданные характеристики |
| GCN-RL | исследовательский | Подбор размеров обучением с подкреплением и графовой нейросетью, которая учитывает структуру схемы |
| AnalogGym | исследовательский, открытый | Набор сред и бенчмарков для обучения RL-агентов на реальных аналоговых схемах |
| AnalogCoder, AnalogGenie | исследовательский | LLM и генеративные трансформеры, которые выдают нетлист или новую топологию аналоговой схемы |
| BAG (Berkeley Analog Generator) | открытый | Каркас, в котором схему описывают программой-генератором, а не рисуют вручную |
| OpenFASoC | открытый | Генераторы аналоговых и смешанных блоков на открытых PDK |
Как создать ИИ‑агента для схемотехнического уровня проектирования ИС
Среда здесь проще, чем на физическом уровне: один прогон ngspice занимает миллисекунды или секунды. Поэтому схемотехнический уровень — лучшее место, чтобы впервые попробовать RL‑агента в проектировании ИС.
Шаги:
- Выбрать схему. Начать с инвертора или однокаскадного усилителя, затем перейти к двухкаскадному операционному усилителю — классической задаче AutoCkt.
- Поднять симулятор. Установить ngspice и открытый PDK (SKY130). Схему описывают шаблоном нетлиста, где размеры транзисторов подставляются как параметры.
- Обернуть симуляцию в среду Gymnasium. Действие — изменение W/L, токов и номиналов. Наблюдение — измеренные характеристики (усиление, полоса, запас по фазе, потребление). Измерения извлекают из выходных файлов ngspice скриптом на Python.
- Определить награду. Для каждой характеристики — штраф за отклонение от спецификации плюс небольшой бонус за экономию мощности и площади. Агент должен остановиться, когда все требования выполнены.
- Начать с простых методов. Байесовская оптимизация (Optuna, BoTorch) и эволюционные алгоритмы (CMA-ES, pymoo) часто сильнее RL на маленьких схемах и дают базовую линию.
- Взять RL-алгоритм. Stable-Baselines3 (PPO, SAC) для начала. Когда схем станет много, добавить графовую нейросеть (PyTorch Geometric), которая учитывает структуру нетлиста, как GCN-RL.
- Добавить углы и разброс. Агент должен проверять результат во всех PVT-углах и на Monte Carlo, иначе найденный «оптимум» не пройдёт реальную проверку.
- Попробовать LLM. Модель предлагает нетлист по описанию, симулятор проверяет его, ошибки возвращаются в запрос, как в AnalogCoder. Это следующий шаг после подбора размеров.
Что использовать:
| Часть | Варианты |
|---|---|
| Симулятор | ngspice, Xyce |
| Схемы и модели | Xschem, SKY130, GF180MCU, IHP SG13G2 |
| Среда | Gymnasium, AnalogGym |
| Оптимизация | Optuna, BoTorch, CMA-ES, pymoo |
| RL | Stable-Baselines3, CleanRL, RLlib |
| Графы и LLM | PyTorch Geometric; LLM через API с замкнутым циклом «нетлист — симуляция — ошибки» |
Типичные ловушки:
- Награда, которую «обманывают». Агент находит нереальные значения W/L, например транзистор шириной в метры. Допустимые диапазоны нужно ограничивать.
- Идеальные условия. Схема, найденная только в номинальных условиях, ломается на углах PVT и при разбросе параметров.
- Работает только в симуляции. Паразитные ёмкости и сопротивления проводников, появляющиеся после разработки топологии, меняют характеристики, поэтому итоговую проверку нужно делать на схеме с извлечёнными паразитами (PEX).
- Одна схема на агента. Агент, обученный на одном усилителе, не переносится на другой. Для общности нужны графовое представление схемы и набор разных схем.
Функциональный уровень абстракции ИС
Самый массовый уровень: на нём работает больше всего специалистов. Транзистор здесь — «чёрный ящик». О токах и напряжениях заботиться не нужно, мы мыслим только логическими «0» и «1».
Результат уровня — RTL (Register Transfer Level): описание того, как данные передаются между регистрами и какие логические операции над ними выполняются. Пишут на языках описания аппаратуры: Verilog, SystemVerilog, VHDL, а также на Chisel, SpinalHDL и Amaranth, которые генерируют RTL из программы.
Логический синтез превращает RTL в нетлист из логических вентилей и триггеров (AND, OR и других) из библиотеки стандартных ячеек. Синтезатор оптимизирует площадь, задержку и потребление, поэтому один и тот же RTL может дать разный результат.
Верификация занимает не меньше времени, чем само проектирование, а нередко и больше. Ошибки ищут симуляцией с тестами (testbench, UVM), формальными методами и проверкой эквивалентности RTL и нетлиста.
Для проверки быстродействия используют статический временной анализ (STA): он считает задержки на всех путях без симуляции и проверяет, что схема успевает за тактовой частотой.
Это самый «программистский» уровень ИС, поэтому именно здесь методы на базе больших языковых моделей (LLM) продвинулись дальше всего.
Коммерческие пакеты и открытые проекты:
| Задача | Коммерческие пакеты | Открытые проекты |
|---|---|---|
| Проверка кода RTL (lint) | Synopsys SpyGlass, Siemens Questa Lint, Cadence HAL | Verible, Verilator |
| Симуляция | Synopsys VCS, Cadence Xcelium, Siemens Questa, Aldec Riviera-PRO | Verilator, Icarus Verilog, GHDL (VHDL), cocotb (тесты на Python) |
| Логический синтез | Synopsys Design Compiler и Fusion Compiler, Cadence Genus | Yosys, ABC |
| Формальная верификация | Cadence JasperGold, Synopsys VC Formal, Siemens Questa Formal | SymbiYosys |
| Проверка эквивалентности | Cadence Conformal, Synopsys Formality | Yosys (equiv) |
| Статический временной анализ | Synopsys PrimeTime, Cadence Tempus | OpenSTA |
| Генераторы RTL | — | Chisel, SpinalHDL, Amaranth |
Генеративные методы на функциональном уровне проектирования ИС
На функциональном уровне ИИ решает три задачи: написать RTL по описанию на естественном языке, оптимизировать синтез (выбрать, какие преобразования применять к логике) и помогать верификации (писать тесты, находить ошибки).
| Проект | Тип | Что делает |
|---|---|---|
| Synopsys.ai Copilot | коммерческий | Ассистент в среде проектирования: помогает писать RTL, тесты и сценарии, отвечает по документации |
| Cadence JedAI и Verisium | коммерческий | Платформа данных и ИИ для проектирования и верификации (поиск причин ошибок, оптимизация тестов) |
| ChipAgents | коммерческий, стартап | Агентная система для проектирования и верификации RTL |
| NVIDIA ChipNeMo | исследовательский | LLM, дообученная на внутренних данных NVIDIA: ассистент по проектированию, генерация скриптов, анализ ошибок |
| VerilogEval, RTLLM | исследовательский, открытый | Бенчмарки для оценки качества генерации RTL языковыми моделями |
| VeriGen, RTLCoder | исследовательский, открытый | LLM, дообученные на открытом коде Verilog |
| Chip-Chat (NYU) | исследовательский | Проект, в котором процессор спроектирован совместно с чат-моделью и отправлен на производство |
| DRiLLS, ABC-RL | исследовательский | Обучение с подкреплением для выбора последовательности преобразований логического синтеза |
| LSOracle | исследовательский, открытый | Применение ML к логической оптимизации (EPFL) |
Как создать ИИ‑агента для функционального уровня проектирования ИС
На этом уровне есть два пути: агент с LLM (генерация RTL) и агент с RL (оптимизация логического синтеза). Для обоих среда — открытые Yosys, Verilator и Icarus Verilog, которые работают на обычном компьютере.
Шаги для RL-оптимизации синтеза:
- Выбрать задачу. Подобрать последовательность преобразований ABC (balance, rewrite, refactor и другие) для небольших схем из открытых наборов (например, EPFL benchmarks, ISCAS).
- Поднять среду. Yosys и ABC запускаются из Python, результат синтеза (число вентилей, задержка) читается из отчёта.
- Определить награду. Уменьшение площади и задержки относительно базового сценария синтеза, например
resyn2в ABC. - Взять RL-библиотеку. Stable-Baselines3 (PPO, DQN) и Gymnasium. В качестве состояния — признаки графа схемы (число узлов, глубина, доля вентилей), позже графовая нейросеть.
- Сравнить с базовой линией. Стандартный сценарий ABC — обязательная планка.
Шаги для агента с LLM:
- Выбрать модель. API большой языковой модели или открытая модель, дообученная на Verilog/SystemVerilog.
- Задать замкнутый цикл. Модель пишет RTL, Verilator или Icarus компилирует и запускает тесты, ошибки и логи возвращаются в запрос.
- Добавить проверку. Тесты на cocotb, формальная проверка в SymbiYosys, синтез в Yosys, чтобы убедиться, что RTL реализуем.
- Измерить качество. Прогнать агент на VerilogEval и RTLLM, сравнить число пройденных задач с базовой моделью без цикла обратной связи.
- Расширять постепенно. Начать со счётчиков и сумматоров, затем конечные автоматы, FIFO, потом интерфейсы и конвейеры.
Что использовать:
| Часть | Варианты |
|---|---|
| Синтез и оптимизация | Yosys, ABC |
| Симуляция | Verilator, Icarus Verilog, cocotb |
| Формальная проверка | SymbiYosys |
| Анализ временных путей | OpenSTA |
| Бенчмарки | VerilogEval, RTLLM, EPFL benchmarks, ISCAS |
| RL | Gymnasium, Stable-Baselines3, PyTorch Geometric |
| LLM | модель через API или открытая, дообученная на Verilog (VeriGen, RTLCoder) |
| Генераторы RTL | Chisel, SpinalHDL, Amaranth |
Типичные ловушки:
- RTL «похож на правильный», но не работает. Модель уверенно пишет код с ошибками в таймингах, сбросах и граничных случаях. Без симуляции и тестов результату верить нельзя.
- Нереализуемый код. RTL проходит симуляцию, но не синтезируется, например потому, что использует конструкции, допустимые только в тестах. Синтез нужно включать в цикл проверки.
- Слабые тесты. Агент подгоняет RTL под свои же тесты. Тесты нужно писать независимо или проверять формально.
- Утечка бенчмарка. Модель могла видеть решения VerilogEval и RTLLM при обучении, поэтому цифры на них могут быть завышены. Для честной оценки нужны собственные задачи.
- Малые схемы не равны большим. Выигрыш на малых схемах не переносится на большие: RL-агент, обученный на небольших схемах, может ничего не дать на промышленных проектах.
Микроархитектурный уровень абстракции ИС
На микроархитектурном уровне схема представлена как набор функциональных блоков: ядра процессора, кэши, контроллеры памяти, ускорители, периферия и шины или сети, которые их соединяют. Здесь решают, из каких блоков состоит кристалл, как они связаны и сколько ресурсов получает каждый.
Результат уровня — микроархитектура: структура блоков, их параметры (ширина конвейера, размеры кэшей, число вычислительных элементов, ширина шин) и межблочные интерфейсы. Это ещё не RTL, а проект, по которому RTL будут писать.
Главная задача — поиск компромисса между производительностью, энергопотреблением и площадью (PPA) на этапе, когда изменения ещё дёшевы. Принятые здесь решения определяют весь дальнейший проект, и исправлять их позже очень дорого.
Блоки собирают из готовых IP (процессорные ядра, контроллеры DDR, PCIe, USB) и своих блоков, а соединяют стандартными шинами и сетями на кристалле (NoC): AMBA AXI, ACE, CHI, TileLink.
Архитектуру оценивают на быстрых моделях, а не на RTL: потактовых (cycle‑accurate) симуляторах и моделях на SystemC с TLM (уровень транзакций), которые работают на порядки быстрее. Такие модели служат виртуальным прототипом: на них запускают и отлаживают ПО ещё до выхода кристалла. Затем архитектуру проверяют на эмуляторе (FPGA или специализированном «железе») на реальных программах и нагрузках.
Коммерческие пакеты и открытые проекты:
| Задача | Коммерческие пакеты | Открытые проекты |
|---|---|---|
| Исследование архитектуры | Synopsys Platform Architect, Cadence Interconnect Workbench | gem5, Sniper, SystemC/TLM (Accellera) |
| Виртуальные прототипы для ПО | Synopsys Virtualizer, Arm Fast Models | QEMU, Renode |
| Готовые ядра и IP | Arm (Cortex, Neoverse), Synopsys DesignWare, Cadence IP, SiFive | CVA6 (OpenHW), PULP, Rocket, BOOM |
| Сети на кристалле (NoC) | Arteris FlexNoC и Ncore | BookSim, Garnet (gem5) |
| Оценка потребления и памяти | Ansys PowerArtist, PrimePower | McPAT, CACTI |
| Ускорители ИИ | Cadence Stratus и Siemens Catapult (высокоуровневый синтез) | Timeloop и Accelergy, MAESTRO, Gemmini, SCALE-Sim |
| Генераторы SoC целиком | — | Chipyard, ESP, LiteX, OpenPiton |
| Эмуляция и прототипирование | Cadence Palladium и Protium, Synopsys ZeBu, Siemens Veloce | FireSim (эмуляция на FPGA), Verilator |
Генеративные методы на микроархитектурном уровне проектирования ИС
На этом уровне задача ИИ — исследование пространства проектных решений (DSE): подобрать число ядер, размеры кэшей, буферов и ширину шин так, чтобы получить лучший баланс производительности и потребления на заданных нагрузках. Вторая задача — собрать блоки (в том числе ускорители) по описанию на естественном языке или по высокоуровневому описанию.
| Проект | Тип | Что делает |
|---|---|---|
| Cadence Stratus, Siemens Catapult | коммерческий | Высокоуровневый синтез: из кода на C++ или SystemC автоматически строят RTL блока и перебирают микроархитектурные варианты |
| Google Apollo | исследовательский | ML-методы для поиска параметров ускорителей ИИ с учётом ограничений |
| ArchGym (Google, Harvard) | исследовательский, открытый | Среда, в которой разные агенты (RL, байесовская оптимизация, эволюция) исследуют архитектуру на любом симуляторе |
| GPT4AIGChip | исследовательский | Применение LLM к проектированию ускорителей ИИ |
| Timeloop и Accelergy | исследовательский, открытый | Быстрая оценка того, как нейросеть ложится на ускоритель: производительность и энергия по описанию архитектуры |
| Gemmini | исследовательский, открытый | Генератор матричного ускорителя с настраиваемыми параметрами |
| Chipyard, ESP | исследовательский, открытый | Генераторы целых SoC: ядра, ускорители, шины и периферия собираются из параметров |
Как создать ИИ‑агента для микроархитектурного уровня проектирования ИС
На этом уровне RL-агент подбирает параметры архитектуры, а среда — симулятор. Один прогон занимает секунды или минуты, поэтому задача доступна на обычном компьютере.
Шаги:
- Выбрать объект. Начать с одного блока: кэш, конвейер простого ядра или ускоритель для умножения матриц. Для ускорителя подойдёт Timeloop, для процессора gem5.
- Задать параметры. Список «ручек»: размер и ассоциативность кэша, число вычислительных элементов, размеры буферов, ширина шины. Задать допустимые диапазоны.
- Подготовить нагрузки. Набор программ или слоёв нейросетей, на которых измеряют результат (SPEC, MLPerf, слои ResNet или трансформеров).
- Обернуть симулятор в среду Gymnasium или взять готовую ArchGym. Действие — изменение параметров, наблюдение — метрики (время, энергия, площадь), награда — выбранная цель.
- Начать с простых методов. Случайный поиск, байесовская оптимизация (Optuna, BoTorch), генетические алгоритмы. Они часто достаточны и дают базовую линию.
- Добавить RL. Stable-Baselines3 (PPO, SAC). Для больших пространств использовать суррогатную модель: нейросеть, которая предсказывает метрики по параметрам и заменяет дорогую симуляцию.
- Подключить LLM. Языковая модель предлагает конфигурацию или правит код генератора (Chipyard, Gemmini), симулятор оценивает результат и возвращает метрики в запрос.
- Проверить на RTL. Лучшие варианты собрать в RTL и пройти синтез в Yosys и OpenROAD, чтобы оценка PPA была реальной, а не модельной.
Что использовать:
| Часть | Варианты |
|---|---|
| Симуляторы | gem5, Sniper, Timeloop, SCALE-Sim, SystemC/TLM |
| Среды для агентов | ArchGym, Gymnasium |
| Генераторы и ядра | Chipyard, Gemmini, ESP, CVA6, PULP |
| Оценка энергии и памяти | Accelergy, McPAT, CACTI |
| Оптимизация | Optuna, BoTorch, pymoo, CMA-ES |
| RL | Stable-Baselines3, CleanRL, RLlib |
| Нагрузки | SPEC, MLPerf, слои популярных нейросетей |
Типичные ловушки:
- Модель не совпадает с реальностью. Быстрый симулятор даёт приближённые цифры, поэтому лучшие найденные варианты нужно перепроверять на RTL и после синтеза.
- Узкие нагрузки. Архитектура, подобранная под один набор программ, плохо работает на других. Нагрузки нужны разнообразные.
- Агент «ломает» симулятор. Он находит параметры, при которых модель даёт нереалистичный результат (например, огромный кэш с нулевой задержкой). Допустимые диапазоны и зависимости между параметрами нужно задавать явно.
- Дорогие прогоны. Каждая оценка занимает время, поэтому нужны суррогатные модели и параллельный запуск.
- Нет базовой линии. Нужно сравнивать с ручной архитектурой, случайным поиском и простой оптимизацией, иначе непонятно, что даёт именно RL.
Архитектурный уровень абстракции ИС
Архитектурный уровень — это то, что видит программист: система команд (ISA), регистры, модель памяти, прерывания. Это «контракт» между программой и «железом»: компиляторы и операционные системы работают с архитектурой и не зависят от того, как она реализована в микроархитектуре.
Новый уровень профессионализма — уже сейчас
Растёт спрос на специалистов, которые умеют применять и создавать ИИ‑агентов в проектировании ИС. Причины:
-
Кризис сложности. Переход к 3–2 нм, чиплетам и 3D‑упаковке многократно увеличил пространство проектных решений. Классические эвристики перестают находить хорошие решения за разумное время.
-
Дефицит кадров. Индустрия, по оценкам отраслевых ассоциаций, испытывает нехватку десятков тысяч инженеров‑схемотехников и верификаторов.
-
Зрелость LLM для кода. Языки описания аппаратуры (Verilog, SystemVerilog, VHDL, Chisel) — это тоже код, и модели, обученные на программировании, неплохо переносят навыки на RTL.
-
Технологический суверенитет. Государственные программы в США, ЕС, Китае и России стимулируют поиск способов проектировать больше чипов меньшими силами.
Основные направления развития экспертизы
LLM для генерации RTL и HLS
Самый заметный тренд — генерация аппаратного описания по текстовой спецификации. Модели получают описание модуля на естественном языке и выдают Verilog/SystemVerilog, а в связке с симулятором и линтером итеративно исправляют ошибки. Появились специализированные бенчмарки (VerilogEval, RTLLM) и дообученные модели под HDL. Коммерческие EDA‑вендоры встраивают ассистентов прямо в среды проектирования.
Ограничение очевидно: для простых и типовых блоков качество уже приемлемое, но для сложных конвейеров, контроллеров кэша или протокольных блоков модели по‑прежнему ошибаются в тонкостях тайминга и граничных случаях.
Агентные системы для полного цикла
Следующий шаг — не одиночный запрос «напиши модуль», а агент, который планирует архитектуру, пишет RTL, запускает симуляцию, анализирует логи, правит код и доходит до синтеза. Такие мультиагентные конвейеры уже демонстрируют проектирование простых процессорных ядер и ускорителей «от спецификации до GDSII» с использованием открытых маршрутов (OpenROAD, OpenLane) и открытых PDK (SkyWater 130, GF180, IHP).
Генеративная верификация
Верификация занимает от половины до двух третей трудозатрат проекта. Генеративные модели здесь применяются для:
- генерации тестбенчей и стимулов по спецификации;
- автоматического написания SystemVerilog Assertions (SVA) для формальной верификации;
- анализа покрытия и генерации тестов для «дыр» в покрытии;
- разбора логов падений и локализации ошибок.
Это, пожалуй, направление с наиболее быстрым возвратом инвестиций: ошибка в тесте не так фатальна, как ошибка в кремнии.
Обучение с подкреплением и генеративные модели для физического проектирования
Планировка (floorplanning), размещение и трассировка — классические NP‑трудные задачи. Подход на основе обучения с подкреплением для размещения макроблоков получил известность после работ Google над TPU и вызвал оживлённую дискуссию о воспроизводимости результатов. Параллельно развиваются диффузионные и графовые генеративные модели, которые предлагают варианты размещения, а коммерческие инструменты используют ML для автоматической настройки параметров маршрута (design space exploration), экономя недели ручной работы.
Аналоговые и смешанные схемы
Аналоговое проектирование традиционно считается «искусством» и плохо автоматизируется. Генеративные подходы здесь — синтез топологии схемы по требованиям (усиление, полоса, шум), подбор размеров транзисторов с байесовской оптимизацией и RL, генерация аналоговой топологии (layout) с учётом симметрии и паразитных эффектов. Пока это в основном исследовательская область, но именно здесь потенциальный выигрыш наиболее велик.
Литография и производство
Генеративные модели применяются для обратной литографии (ILT), коррекции оптической близости (OPC), предсказания горячих точек и генерации синтетических данных дефектов для систем контроля. Вычислительная литография на GPU уже стала промышленной практикой у ведущих фабрик.
Совместное проектирование «железа» и ИИ
Отдельный тренд — генерация специализированных ускорителей под конкретную нейросеть: модель описывает вычислительный граф, а генеративный конвейер подбирает архитектуру массива, иерархию памяти и разрядность. Это замыкает петлю: ИИ проектирует чипы для ИИ.
Вместо заключения
Генеративный ИИ не заменит инженера‑схемотехника в ближайшие годы, но меняет его роль: от написания каждой строчки RTL — к постановке задачи, контролю качества и архитектурным решениям. Выиграют те команды, которые раньше других научатся встраивать генеративные модели в маршрут проектирования, сохраняя инженерную строгость там, где цена ошибки измеряется в кремнии.