Записки CPU designer'a
описание
Всем привет. Меня зовут Николай. Работаю RTL design инженером, амбассадором в RISC-V International. В свободное время пишу о магии процессоростроения и цифровом дизайне.
3 483
подписчиков
Охват к подписчикам
99,9%
ERR
Реакции к просмотрам
0,77%
535 на 20 постов
Пересылки к просмотрам
0,98%
683
Постов в день
0,3
всего 22
Где отзываются чаще
доля реакций к просмотрам- 6 авг.> we have invented a version of curl | bash that costs $5 every time you run it2,61%
- 7 авг.Последнее время все чаще задумываюсь о том, как меняется наш workflow в RTL-дизайне и верификации. Микроэлектроника всегда была довольно консервативной отраслью. Да и бесконечные разговоры о том, заменит ли ИИ инженеров, на мой взгляд, не несут большой практической ценности. Гораздо интереснее обсуждать не прогнозы, а то, что уже происходит прямо сейчас: какие инструменты появляются и как они меняют нашу ежедневную работу. Недавно наткнулся на WaveCrux. Это современный waveform viewer, который пытается выйти далеко за рамки обычного просмотра VCD/FST. Помимо самого viewer'а, в нем уже есть декодеры популярных протоколов, визуализация конечных автоматов, AI (конечно же) и другие возможности. Проект пока еще сырой - я бы назвал его скорее ранней beta, чем продуктом, готовым к повседневному использованию. Но он хорошо показывает направление, в котором развивается экосистема инструментов для RTL. При этом сам WaveCrux интересен мне не столько своими возможностями, сколько идеей, которую он отражает. Мне кажется, будущее не за одним огромным EDA-комбайном с AI, а за большим количеством небольших специализированных инструментов, каждый из которых отлично решает свою задачу. Хороший пример - WavePeek. Он позволяет агенту эффективно анализировать waveform вместо того, чтобы пытаться восстановить картину происходящего через логи, повторные запуски симуляции и другие косвенные способы отладки. Агент получает доступ к источнику информации напрямую, а не вынужден самостоятельно строить маршрут анализа. Другой пример - Slang Netlist, о котором я уже рассказывал. Хотя название, на мой взгляд, не самое удачное: что-то вроде Elaboration Dependency Graph гораздо лучше отражало бы его назначение. Вместо сотен вызовов "grep" агент может практически мгновенно находить взаимосвязи между двумя сигналами и понимать, каким путем они связаны внутри дизайна. И именно такие инструменты начинают складываться в экосистему. Представьте условного SPI-агента (подставьте сюда название любого блока). Он знает спецификацию SPI, понимает допустимые последовательности транзакций, умеет анализировать waveform через WavePeek, ориентируется в структуре дизайна через Slang Netlist и способен самостоятельно локализовать большинство типичных ошибок. Точно так же можно сделать специализированных агентов для AXI4, FPU, DMA-контроллера или практически любого другого IP. На этом возможности не заканчиваются. Чем больше появляется подобных небольших инструментов, тем более интересные сценарии можно строить вокруг агентного подхода. Например, агент может автоматически исправить ошибки, найденные SpyGlass Lint. Но одного исправления недостаточно. Нужно убедиться, что оно не изменило функциональность блока. Для этого следующим шагом мог бы стать запуск Sequential Equivalence Check, который формально докажет, что после внесенных изменений логика дизайна осталась эквивалентной исходной. Получается законченный цикл: агент нашел проблему, исправил ее и сам же доказал корректность своего исправления. Кажется, совсем недавно я видел open-source проект, который двигался именно в этом направлении, но, к сожалению, сейчас не могу найти на него ссылку и сам пока не успел его протестировать. Поэтому пока оставлю этот пример скорее как направление, в котором, возможно, экосистема будет развиваться в ближайшее время. Мне кажется, именно так и будет выглядеть рабочий процесс RTL-инженера в ближайшие годы. Не один универсальный ИИ, который якобы умеет все, а множество специализированных агентов, каждый из которых использует небольшой набор инструментов для решения своей задачи. А роль инженера постепенно сместится в сторону оркестрации этих агентов, выбора правильных инструментов и проверки полученных результатов. Интересно узнать мнение читателей канала. Каких инструментов вам сегодня действительно не хватает? Какие интересные сценарии использования AI-инструментов вы уже нашли и применяете в своей работе? Или вы считаете, что все это - лишь пустая трата денег, вычислительных ресурсов и времени, а современные EDA-инструменты уже решают все необходимые задачи?1,78%
- 5 авг.Slang продолжает развиваться. В проекте появился новый инструмент - slang-netlist. Теперь можно построить структурный граф непосредственно из RTL на SystemVerilog, без работы с инструментами синтеза. Это открывает возможность проще анализировать дизайн еще на раннем этапе разработки. Что уже умеет slang-netlist: Bit-level resolution of data dependencies across continuous and procedural assignments. Procedural flow analysis in always blocks, including evaluation of constant-valued conditions, unrolling of static loops, and tracking of non-blocking assignments. Path finding and combinational loop detection. Driver, port, and register reporting. Для разрабочиков это означает, что многие задачи по анализу связности и путей сигналов, изучению проекта - значительно упрощается. Отдельно интересно, как это можно использовать вместе с WavePeek и LLM-агентами. Вместо множества "grep" по RTL файлам для поиска всех вхождений сигнала агент может один раз построить граф зависимостей через "slang-netlist" и дальше выполнять навигацию по нему. Это делает анализ fan-in/fan-out и поиск путей между сигналами значительно быстрее и надежнее, поскольку агент работает со структурой дизайна, а не с текстом исходников. Репозиторий: https://github.com/jameshanlon/slang-netlist1,71%
- 11 авг.Прикольное, Jane Street опубликовали пазл на реверс асика https://blog.janestreet.com/can-you-reverse-engineer-an-asic/1,52%
- 23 мар.Кстати, можете попробовать угадать, где скриншот классического 5-стадийника из учебника по цифровому дизайну и компьютерным архитектурам, а где Linux-capable ядро. И кстати прочитайте эту статью сами, вдруг этот канал уже давно ведёт AI-бот и набрасывает на классную и перспективную работу. Bip bip bop bop 🤖🤖🤖1,33%
- 3 июл.Был на конференции одного из Big 3 EDA-вендоров. Наверное, стоило посчитать, сколько раз со сцены прозвучало слово AI, но я быстро понял, что собьюсь. В целом продуктовые конференции всегда были про одно и то же: почему вам нужно купить еще одно расширение, новую фичу или новый инструмент. Но с приходом AI акцент заметно сместился. Теперь вендор продаёт не просто инструмент - он продаёт LLM-агента с набором скиллов и API к нему. Представьте ситуацию. Вам поручили сделать, например, X-propagation signoff в новом инструменте, который вы раньше никогда не использовали. Может, до этого вы работали с другим EDA-вендором, а может, это вообще ваша первая задача такого рода. Раньше кривая обучения выглядела примерно так: - читаете документацию; - запускаете примеры в песочнице; - разбираетесь, как работает тул; - если что-то непонятно - переписываетесь с саппортом; - в особо сложных случаях бронируете звонок с FAE, чтобы разобраться в нюансах. Теперь вендор говорит, что этот процесс устарел. Для условного инструмента уже есть готовый AI-агент с доступом к документации, вашему проекту и заранее заготовленынм набором скиллов для работы с этим продуктом. Идея в том, что onboarding новой команды или освоение новой фичи должны происходить значительно быстрее. Что интересно, инфраструктура не привязана к одной модели. На слайдах показывали поддержку моделей Google, Anthropic, OpenAI. Даже DeepSeek мелькал. Но появляется новая статья расходов. Теперь вы платите не только за лицензии EDA-инструментов, но и за токены, которые расходуются агентом при решении ваших задач. Я задал вопрос о том, как вообще будет устроена экономика этой модели: как считать потребление токенов, кто за них платит и по какой схеме. Представители вендора пока четкого ответа не дали и предложили обсудить детали позже в переписке. Так или иначе, нравится это кому-то или нет, AI постепенно становится частью индустрии полупроводников. Причем растут не только затраты компаний на новые инструменты и инфраструктуру. Растут и ожидания от инженеров. Если у вас появились более "умные" инструменты, значит, от вас ожидают большей производительности и более короткого time-to-market. Остается открытым только один вопрос. Если требования к инженерам будут расти вместе с производительностью инструментов, будут ли их зарплаты расти такими же темпами? Или весь этот прирост эффективности уже заранее заложен в стоимость лицензий и закупку токенов?1,20%
- 12 авг.NVIDIA опубликовала 45-страничный whitepaper, подробно раскрывающий архитектуру Vera CPU https://nvdam.widen.net/s/nmw5vblpqd/nvidia_vera_cpu_architecture_whitepaper1,10%
- 22 мар.А был ли Linux? Мысли о новом "прорыве" в AI-проектировании процессоров и рынке труда Вышла очередная статья о том, как AI-агент с нуля за 12 часов спроектировал процессор (статья: "Design Conductor: An agent autonomously builds a 1.5 GHz Linux-capable RISC-V CPU" ), получив на вход документ с техническим заданием всего на 219 слов. Начну издалека. С одной стороны, я по-хорошему завидую нынешним студентам: появилось огромное количество открытых курсов и AI-инструментов, помогающих в обучении и практике круглосуточно. Стало намного проще осваивать смежные области. Например, вы уже разобрались в HDL, но никак не можете понять, почему возникает ошибка в Bash или Tcl-скрипте - тут AI-ассистент вас быстро выручит, и не придется искать ответы на руинах Stack Overflow. С другой стороны, я совершенно не понимаю, как вчерашнему студенту теперь искать первую работу. Помню, как после магистратуры я написал простейшее однотактное (даже не конвейерное) RISC-V ядро, подготовил битстрим для ПЛИС, снял метрики вроде slack и area, а затем рассылал резюме, прикладывая ссылку на репозиторий. И это здорово помогало! Буквально избавляло от нервного этапа лайв-кодинга на интервью, когда нужно в онлайн-редакторе (а иногда и в Google Docs) писать очередное FIFO "по Каммингсу" или искать ошибку в FSM. Сейчас же, если студент принесет мне такой же проект, первым делом возникнет вопрос: а кто автор? Студент или AI-агент? Базовые требования к выпускникам, по моим ощущениям, значительно выросли. Да, учат сейчас лучше: если я на лабах по процессорным архитектурам делал ядро, которое программировалось буквально машинными кодами без ассемблера, то сейчас студенты работают сразу с индустриальным стандартом RISC-V и взрослой софтверной экосистемой. Но ведь AI-агенты уже могут за 12 часов не только написать Verilog, но и параллельно подготовить скрипты для синтеза, написать констрейнты и проделать все остальное для RTL-маршрута вплоть до готового GDSII. Или всё-таки не могут? В названии статьи явно указано «Linux-capable». Но если открыть и прочитать текст, окажется, что слово «Linux» встречается там ровно один раз (в самом заголовке). В статье нет ни слова про атомарное расширение, необходимое для поддержки Linux-машины, ни про имплементацию CSR. И, конечно, не приведено главного доказательства «Linux-capable» ядра - успешного бута ОС на FPGA-плате, выполнения условного ls -lh в терминале и чтения версии ядра. Не знаю, оставили ли авторы это на потом, но пока это выглядит как самый обычный кликбейт. Интересный проект подается под соусом очередной AI-сенсации, где нам обещают конкурента Intel Celeron 2011 года (на базе синтетического теста CoreMark) , а по факту показывают классический 5-стадийный конвейер, натренированный на десятках open-source ядер и, наверное, учебнике Харрисов. При всем скепсисе, AI-агенты явно ускорят работу, особенно в процессах автоматизации рутины. Там, где у стартапов нет времени на написание документации, система из нескольких агентов может изучать код и генерировать на его основе подробную микроархитектурную документацию. Это кратно ускорит онбординг новых специалистов. Генерация простых скриптов для парсинга больших и неповоротливых синтез-репортов тоже сильно упрощает работу с PPA и STA. Возможно, скоро инженеры действительно перестанут писать код руками, заменяя его промптами. Но я уверен: глубокое понимание PPA, трейдоффов при проектировании сложных систем, знание архитектуры и микроархитектуры всё так же останутся критически ценными навыками. Вместо заключения - не бойтесь ИИ. В любой производственной цепочке всегда должен быть ответственный человек, который сможет проанализировать результат и сказать, валидно выполнил свою работу ИИ или нет. Агент может сгенерировать мегабайты кода и красивых отчетов, но именно инженер с критическим мышлением должен верифицировать результат, отлавливать галлюцинации и принимать финальное решение об отправке чипа в производство. К слову, даже создатели этого AI-агента прямо признают, что направлять работу таких систем по-прежнему должны опытные архитекторы-люди.0,95%
- 7 маяИсходники за 10 лет работы и $200 миллионов инвестиций в открытом доступе Помните стартап Esperanto, который разрабатывал чип с 1000+ RISC-V ядрами в составе сложной manycore системы и в итоге обанкротился? Стартап Ainekko, как и обещал, после приобретения прав на интеллектуальную собственность Esperanto Technologies открыл исходный код и микроархитектурную документацию на часть их разработок. Более подробно о видении и дальнейших планах команды вы можете ознакомиться в их посте: «The Next Thousand Chips». Сейчас доступен код так называемого CORE-ET (ядра ET-Minion), который фактически является энергоэффективным вычислительным узлом и содержит исходники кастомного векторного сопроцессора. Подробнее про номенклатуру и архитектуру Esperanto можно прочитать в статье журнала Microprocessor Report. Почему не открыли всё и сразу? Дело в том, что оригинальный коммерческий код зачастую тесно переплетен с закрытыми проприетарными блоками от сторонних вендоров (Synopsys, UltraSoC, Movellus и др.). Юридически открыть эти модули невозможно. Именно поэтому управляющие ядра ET-Maxion пока остаются под вопросом, а команде сейчас приходится переписывать часть логики на SystemVerilog, заменяя проприетарный код. Даже в таком виде релиз - это колоссальное событие. Индустриальные проекты такого масштаба почти никогда не становятся открытыми. Это редчайшая возможность для инженеров изучить настоящие микроархитектурные решения реального коммерческого SoC, с историей успешного tape-out (и не успешной моделью программирования), а не просто академического прототипа. Ссылка на проект: https://github.com/openhwgroup/core-et p.s. А позже мы подробнее обсудим микроархитектуру проекта, возможные причины провала стартапа и я с десяток раз похвалю verilator-compatible подход проекта.0,95%
- 10 авг.В продолжение предыдущего поста. Вспомнил, как называется этот open-source формальный инструмент - Kepler-formal. Еще недавно одним из заметных пробелов open-source EDA был полноценный инструмент для Equivalence Checking (как LEC так и SEQ), а теперь появился и такой инструмент. Почему вообще SEC настолько полезен в реальной разработке? Например, у нас есть уже верифицированный блок, но после timing analysis обнаружилась проблема. Мы вносим RTL-изменения, чтобы исправить критический путь: переписываем часть логики, добавляем или переносим регистры. После этого возникает вопрос, а не сломали ли мы при этом функциональность блока? Конечно, можно снова прогонять весь regression set, но это долго и не всегда дает достаточную уверенность. SEC позволяет формально проверить, что старая и новая реализации сохраняют требуемое функциональное поведение. Особенно интересно, что такие инструменты постепенно появляются и в open source. Коммерческим решениям пока, конечно, есть куда расти в плане возможностей и зрелости, но сам факт появления подобных инструментов - хороший показатель развития open-source EDA. Пост написал, осталось на досуге посмотреть насколько вообще тул работоспособен🥲 Но я уверен кто-то из читателей поделится фидбеком👀0,83%
- 14 июл.На фото старая форма FC Barcelona с рекламой от компании Intel. А эта новость из испанского Forbes - ACS усиливает инвестиции в полупроводниковую отрасль, планируя приобрести 51% OpenChip в рамках раунда финансирования объемом 250 млн евро. Казалось бы причем тут футбол? Связь очень простая: председатель ACS - это Флорентино Перес, и он же является президентом футбольного клуба «Реал Мадрид». Осталось узнать, кто теперь будет подходящим соперником для полупроводникового эль-класиско 🤔0,81%
- 27 маяМечтают ли ИИ-агенты об анализе вейвформ? Мероприятие прошло. Было очень круто 🎧 Спасибо всем кто пришел, и с кем удалось пообщаться! Если вдруг упустили, то я рассказывал про CLI инструмент для анализа и работы с вейвформами, написанный специально для "рук" LLM-агентов. https://github.com/kleverhq/wavepeek Слайды в первом коменте к посту, ну а выступление есть на YouTube Жажду получить любую обратную связь, особенно отзывы по использованию в реальных задачах. Любая движуха приветствуется, кроме нейрослоп-PR конечно 😎 #llm #tools @positiveslack0,61%