Записки CPU designer'a


Гео и язык канала: Россия, Русский
Категория: Технологии


Всем привет. Меня зовут Николай.
Работаю RTL design инженером, амбассадором в RISC-V International.
В свободное время пишу о магии процессоростроения и цифровом дизайне.

Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


За последний месяц только и пишу о новых крутых опенсорс-проектах, которые повышают QoL в ежедневной рабочей рутине.

Половина из них к тому же разработана инженерами, с которыми я знаком👀

Так что спасибо LLM-кам и инженерам, которые находят свободное время, чтобы контрибьютить в эти проекты и делать жизнь людей в индустрии немножечко лучше😺


Репост из: позитивслэк
wavepeek 3.0

С момента моего доклада прошло некоторое время и случился переход от v0.5.0 к v3.0.0.

Краткий рекап или в предыдущих сериях:

▫️1.0 - добавлена поддержка FSDB, организованы бинарные релизы, сильный прирост по покрытию тестами и куча измений по усилению автоматизации проекта
▫️2.0 - появился потоковый вывод JSONL, внедрение pre-edge сэмплирования (мимикрия под семантику RTL и лечение off-by-1-tick ошибок)
▫️2.1 - добавлено extract семейство с первой подкомандой generic для извлечения произвольных синхронных событий (любые хэндшейки, трансферы под валидностью и пр.)
▫️2.2 - добавлены экстракторы событий AMBA протоколов (AXI, AXI-Stream, AHB, APB и ATB).
▫️3.0 - добавлены битовые диапазоны в указание любых сигналов, унификация машинного вывода, переработка и удаление некоторых команд и десяток других QoL изменений, включая рефакторинг документации

Последний мажорный релиз был больше работой над ошибками и обработкой той обратной связи что накопилась: я сам использовал, получал репосты и трассы от других юзеров, и на основе кусочка CVDP сделал небольшой бенч, чтобы пособирать "синтетические" трассы с разных моделей по задачам агентного дебага RTL.

Сейчас тул находится в той точке, которая я рассчитываю будет стабильной и долговременной, но в любом случае возможны доработки и фиксы. Обратная связь всё ещё приветствуется и жадно собирается🔍

И да, just for fun заюзал свойство rust без проблем компилиться в wasm, и теперь есть полноценная веб версия wavepeek для демонстрации и работы без установки:
https://kleverhq.github.io/wavepeek/
Да, всё работает прямо в браузере, вейвы не покидают вашу машину.

Остался незакрытым гештальт с организацией полноценных бенчмарков, но возможно ещё к этому вернусь.
Уже например писал авторам WaveformQA из tenstorrent. Сказали что код бенча из статьи проходит их внутренних ИБшников и появится через пару недель на гитхабе (пару недель уже прошло конечно же).

Такие вот дела в вайб-eda-королевстве⌨️

#tools
@positiveslack


Репост из: Verification Haven


NVIDIA опубликовала 45-страничный whitepaper, подробно раскрывающий архитектуру Vera CPU

https://nvdam.widen.net/s/nmw5vblpqd/nvidia_vera_cpu_architecture_whitepaper


Репост из: Марков цепи пропил
Видео недоступно для предпросмотра
Смотреть в Telegram
Прикольное, Jane Street опубликовали пазл на реверс асика

https://blog.janestreet.com/can-you-reverse-engineer-an-asic/


А какой у вас опыт формальной верификации?
Опрос
  •   Formal Enjoyer. JasperGold, VC Formal - мои лучшие друзья
  •   В компании активно не используем, но пытаемся разобраться и интегрировать formal в цикл разработки
  •   И без формалки справляемся: на неё нет ресурсов и времени
124 голосов


В продолжение предыдущего поста. Вспомнил, как называется этот 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-инструменты уже решают все необходимые задачи?


Репост из: /g/'s Tech Memes
> 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 - это Флорентино Перес, и он же является президентом футбольного клуба «Реал Мадрид».

Осталось узнать, кто теперь будет подходящим соперником для полупроводникового эль-класиско 🤔


Что там по зарплатам? Будут расти?
Опрос
  •   Да, конечно. Сразу после того, как AI начнет сам согласовывать бюджеты
  •   И так уже выросли Возможность работать с передовыми AI инструментами это альтернативная компенсация
  •   Это все конечно здорово, а можно посты писать чаще чем раз в 2 месяца?
50 голосов


Был на конференции одного из 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 подход проекта.

7.1k 5 143 11 87

Более 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».

4.7k 4 57 23 31

Кстати, можете попробовать угадать, где скриншот классического 5-стадийника из учебника по цифровому дизайну и компьютерным архитектурам, а где Linux-capable ядро.

И кстати прочитайте эту статью сами, вдруг этот канал уже давно ведёт AI-бот и набрасывает на классную и перспективную работу.
Bip bip bop bop 🤖🤖🤖

Показано 20 последних публикаций.