Записки CPU designer'a
СтатистикаВсем привет. Меня зовут Николай. Работаю RTL design инженером, амбассадором в RISC-V International. В свободное время пишу о магии процессоростроения и цифровом дизайне.
- Последний пост
- 12 авг.
- Последнее чтение
- 09:13
- Постов за неделю
- 4
- Всего постов
- 22
- Тип
- открытый
- Язык
- русский
- Категория
- Дизайн
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 1 338
- 1/48двое суток
- 1 533
- 1/72трое суток
- 1 653
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
NVIDIA опубликовала 45-страничный whitepaper, подробно раскрывающий архитектуру Vera CPU https://nvdam.widen.net/s/nmw5vblpqd/nvidia_vera_cpu_architecture_whitepaper
Прикольное, Jane Street опубликовали пазл на реверс асика https://blog.janestreet.com/can-you-reverse-engineer-an-asic/
видео или голосовое, без подписи
В продолжение предыдущего поста. Вспомнил, как называется этот open-source формальный инструмент - Kepler-formal. Еще недавно одним из заметных пробелов open-source EDA был полноценный инструмент для Equivalence Checking (как LEC так и SEQ), а теперь появился и такой инструмент. Почему вообще SEC настолько полезен в реальной разработке? Например, у нас есть уже верифицированный блок, но после timing analysis обнаружилась проблема. Мы вносим RTL-изменения, чтобы исправить критический путь: переписываем часть логики, добавляем или переносим регистры. После этого возникает вопрос, а не сломали ли мы при этом функциональность блока? Конечно, можно снова прогонять весь regression set, но это долго и не всегда дает достаточную уверенность. SEC позволяет формально проверить, что старая и новая реализации сохраняют требуемое функциональное поведение. Особенно интересно, что такие инструменты постепенно появляются и в open source. Коммерческим решениям пока, конечно, есть куда расти в плане возможностей и зрелости, но сам факт появления подобных инструментов - хороший показатель развития open-source EDA. Пост написал, осталось на досуге посмотреть насколько вообще тул работоспособен🥲 Но я уверен кто-то из читателей поделится фидбеком👀
видео или голосовое, без подписи
Последнее время все чаще задумываюсь о том, как меняется наш 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-инструменты уже решают все необходимые задачи?
> we have invented a version of curl | bash that costs $5 every time you run it
Токенмаксинг? Одобряем 😱
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-netlist
На фото старая форма FC Barcelona с рекламой от компании Intel. А эта новость из испанского Forbes - ACS усиливает инвестиции в полупроводниковую отрасль, планируя приобрести 51% OpenChip в рамках раунда финансирования объемом 250 млн евро. Казалось бы причем тут футбол? Связь очень простая: председатель ACS - это Флорентино Перес, и он же является президентом футбольного клуба «Реал Мадрид». Осталось узнать, кто теперь будет подходящим соперником для полупроводникового эль-класиско 🤔
видео или голосовое, без подписи
Был на конференции одного из Big 3 EDA-вендоров. Наверное, стоило посчитать, сколько раз со сцены прозвучало слово AI, но я быстро понял, что собьюсь. В целом продуктовые конференции всегда были про одно и то же: почему вам нужно купить еще одно расширение, новую фичу или новый инструмент. Но с приходом AI акцент заметно сместился. Теперь вендор продаёт не просто инструмент - он продаёт LLM-агента с набором скиллов и API к нему. Представьте ситуацию. Вам поручили сделать, например, X-propagation signoff в новом инструменте, который вы раньше никогда не использовали. Может, до этого вы работали с другим EDA-вендором, а может, это вообще ваша первая задача такого рода. Раньше кривая обучения выглядела примерно так: - читаете документацию; - запускаете примеры в песочнице; - разбираетесь, как работает тул; - если что-то непонятно - переписываетесь с саппортом; - в особо сложных случаях бронируете звонок с FAE, чтобы разобраться в нюансах. Теперь вендор говорит, что этот процесс устарел. Для условного инструмента уже есть готовый AI-агент с доступом к документации, вашему проекту и заранее заготовленынм набором скиллов для работы с этим продуктом. Идея в том, что onboarding новой команды или освоение новой фичи должны происходить значительно быстрее. Что интересно, инфраструктура не привязана к одной модели. На слайдах показывали поддержку моделей Google, Anthropic, OpenAI. Даже DeepSeek мелькал. Но появляется новая статья расходов. Теперь вы платите не только за лицензии EDA-инструментов, но и за токены, которые расходуются агентом при решении ваших задач. Я задал вопрос о том, как вообще будет устроена экономика этой модели: как считать потребление токенов, кто за них платит и по какой схеме. Представители вендора пока четкого ответа не дали и предложили обсудить детали позже в переписке. Так или иначе, нравится это кому-то или нет, AI постепенно становится частью индустрии полупроводников. Причем растут не только затраты компаний на новые инструменты и инфраструктуру. Растут и ожидания от инженеров. Если у вас появились более "умные" инструменты, значит, от вас ожидают большей производительности и более короткого time-to-market. Остается открытым только один вопрос. Если требования к инженерам будут расти вместе с производительностью инструментов, будут ли их зарплаты расти такими же темпами? Или весь этот прирост эффективности уже заранее заложен в стоимость лицензий и закупку токенов?
Мечтают ли ИИ-агенты об анализе вейвформ? Мероприятие прошло. Было очень круто 🎧 Спасибо всем кто пришел, и с кем удалось пообщаться! Если вдруг упустили, то я рассказывал про CLI инструмент для анализа и работы с вейвформами, написанный специально для "рук" LLM-агентов. https://github.com/kleverhq/wavepeek Слайды в первом коменте к посту, ну а выступление есть на YouTube Жажду получить любую обратную связь, особенно отзывы по использованию в реальных задачах. Любая движуха приветствуется, кроме нейрослоп-PR конечно 😎 #llm #tools @positiveslack
Классный и актуальный доклад, рекомендую к просмотру 👀
Исходники за 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 подход проекта.
Более 35 лет Arm продавала архитектурные лицензии и IP. Теперь произошло то, что все давно ждали и предсказывали: впервые за всю свою историю Arm выпускает собственный серверный чип - AGI CPU на базе 136 ядер Neoverse V3 (TSMC 3 nm). И это не слайды и не анонс на уровне RTL прототипа: тейпаут уже состоялся и чип прошел внутреннюю валидацию. Однако название AGI CPU - чистый маркетинг и кликбейт. Ядра Neoverse V3 c векторными расширениями SVE2 не заменят GPU в обучении LLM. Реальная роль такого процессора - быть инфраструктурным CPU для AI-систем: управлять ускорителями, оркестрировать задачи, работать с памятью, выполнять код, запускать сервисы, контейнеры и обеспечивать general-purpose вычисления для execution-heavy частей агентных систем. В мире AI снова возникает потребность не только в ускорителях матричных вычислений, но и в эффективных CPU-ядрах и большой памяти для выполнения логики, кода, пайплайнов и других результатов работы агентов. Это честная и важная работа, но называть ее AGI CPU - это «hypemaxxed branding» в чистом виде. Эта роль для семейства Neoverse - не нова. В Европейской процессорной инициативе (EPI) ядра Neoverse V1 уже выполняют аналогичную функцию в чипе Rhea. Ядра Neoverse V1 играют роль хост-процессора, связанного с ускорителями на базе RISC-V - EPAC. Паттерн ровно тот же, что Arm сейчас продает под именем AGI CPU. Главное событие здесь - это сдвиг бизнес-модели Arm. После нескольких конфликтов и лицензионных споров с партнёрами компания делает следующий шаг и начинает продавать не только архитектуру и IP-ядра, но и готовый кремний, напрямую заходя на территорию своих же клиентов. Nvidia выпускает собственный Vera CPU на кастомных ARM-ядрах Olympus и теперь обнаруживает уже не IP, а реальный чип по соседству в серверной стойке в качестве прямого конкурента. Смотреть на независимые бенчмарки, когда они наконец появятся, будет интересно. Пока у нас есть только цифры от самой Arm: заявленный прирост более чем в 2x на стойку относительно актуальных x86-систем, с честной сноской «based on estimates».
видео или голосовое, без подписи
Кстати, можете попробовать угадать, где скриншот классического 5-стадийника из учебника по цифровому дизайну и компьютерным архитектурам, а где Linux-capable ядро. И кстати прочитайте эту статью сами, вдруг этот канал уже давно ведёт AI-бот и набрасывает на классную и перспективную работу. Bip bip bop bop 🤖🤖🤖
А был ли 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-агента прямо признают, что направлять работу таких систем по-прежнему должны опытные архитекторы-люди.
Tenstorrent Cuts 20 Cores From Already-Shipping "Blackhole" P150 Cards Tenstorrent изменила конфигурацию уже проданных AI-ускорителей Blackhole P150: количество Tensix-ядер снижено со 140 до 120. Изменение применяется не только к новым картам, но и к уже проданным устройствам после обновления firmware v19.5+. Согласно изменениям в репозитории прошивки, отключаются два столбца Tensix (по 10 ядер каждый). Это уменьшает размер 2D-сетки вычислительных ядер и фактически приводит её к размерности предыдущего поколения ускорителей. В коммите также указано, что новые P150x используют Bin 3 silicon. Для приведения всех устройств к единой конфигурации firmware отключает эти столбцы и на ранее выпущенных картах. При этом в firmware присутствует скрипт, позволяющий сохранить все столбцы активными, однако такая конфигурация объявлена неподдерживаемой и не гарантируется работа с будущими версиями прошивки.