позитивслэк
854 subscribers
130 photos
41 files
192 links
ASIC, FPGA, SystemVerilog, UVM. Цифровой дизайн, программирование, духота и мемы. С уклоном в верификаторство.

https://t.iss.one/boost/positiveslack
Download Telegram
Obsidian + Excalidraw

Btw, веду свои личные заметки в Obsidian по мере сил.

Часто текста не хватает и нужна графика - тут я привык использовать drawio (сейчас это diagrams.net). Хотя раньше были также попытки использования excalidraw, но чёт каждый раз не удавалось закрепить это почему-то.

Сейчас попалось видео от создателя плагина для excalidraw и это просто
🐸🐸🐸

https://youtu.be/P_Q6avJGoWI?si=uCBIT0Y7d25PizWU

Там за 17 минут показываются все основные фичи, и плотность фич, как и степень интеграции запредельная.

Даже если не пользуетесь просто посмотрите, по ощущениям это примерно как будто к двумерному миру добавляют ещё одну ось, делая его трехмерным☀️

#workflow
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106
constrainedrandom

Кажется, у этого питоньего пакета преступно мало звёзд на гитхабе. Или я чего-то не знаю?

Обычно для рандомизации с констрейнами в cocotb тестбенчах PyVSC является выбором по умолчанию. Однако, он довольно медленный.

Текущий пакет по сути обёртка над random и constraint. И он в десятки раз быстрее PyVSC. А на небольших наборах транзакций вполне себе соизмерим с солверами в коммерческих симуляторах. Ребята из Imagination в проде у себя его используют, но это правда не удивительно, т.к. пакет там и был рожден.

Картинки из недавнего доклада на ORConf: видео, слайды.

#cocotb #python
@positiveslack
🔥96
Кстати, интересная мысль прозвучала в докладе из поста выше.

Большие вендоры влили/вливают очень много ресурсов, чтобы их солверы для SV поддерживали всё многообразие констрейнов и были эффективными. Но результатами понятное дело не делятся.

А у опенсорс сообщества по сути одна дорога - консолидироваться вокруг доступных SAT солверов. Интересно, что автор не упоминает, но verilator уже идёт этой дорогой. И кажется успешно - количество поддерживаемых констрейнов увеличивается постепенно.

Т.е. для того что-то похожее на SV рандомизацию появилось для питоньих тестбенчей в максимально эффективном виде, нужно всего-то подсмотреть как это делают в вериляторе, написать подобное отдельной прослойкой на плюсах/расте, сделать биндинги в питон. И кажется будет красиво. Надеюсь когда-нибудь найдется герой для этого подвига 😭

#python
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤔3
Firejail + Codex

Однажды Эрнест Хемингуэй поспорил, что сможет написать самый короткий рассказ, способный растрогать любого:

CLAUDE: Looking at your log, here's the catastrophic command that was run:
rm -rf tests/ patches/ plan/ ~/
See that ~/ at the end? That's your entire home directory.

(кстати красивый финальный панчлайн он выдал)

Вот такие истории как выше только подтверждают мои переживания, о том, что не сломает ли мне этот llm-джин вдруг что-то на хосте при очередном запуске. Понятно что там довольно много "если" должно сложиться вплоть до прямого разрешения выполнять команды в консоли, не требуя подтверждения от юзера. Но тем не менее.

Поэтому сделал небольшой скрипт обертку для Codex (это cli агент от OpenAI), которая даёт ему в доступ только к текущему рабочему каталогу. Думаю что подобное можно сделать и для cursor и для других штук, если нужно.
https://gist.github.com/esynr3z/31e34a8e5037079ff0c9a3b2f1b39c2c

Не то чтобы это какая-то мощная гарантия, но уже что-то. Дальше наверное только выполнять агентов в каком-то изолированном контейнере/VM, но тут уже комбинацию спокойствие/риски/удобство надо оценивать.

P.S. Если у вас есть в загашнике тоже есть подобное, или в скрипте видны проблемы, то рад обратной связи.

#llm #tool
@positiveslack
🔥62😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Topwrap

А вы видели, что ребята из Antmicro сделали стильный опенсорсный тул для блок-дизайна?

https://antmicro.github.io/topwrap/introduction.html

Можно парсить существующий RTL и визуализировать, можно соединять и сохранять подключения во враппер. Притом можно работать с тулом как из GUI, так и через YAML и CLI.

И что меня особо радует, как любителя разработки всякой автоматизации и тулов, что всё это на их же открытом Pipeline Manager. На основе этой штуки можно строить свои красивые тулы для работы с любыми графо-подобными данными и сущностями.

#tool
@positiveslack
1🔥18🤯1
Когда спрашивают на собесе с какими AMBA протоколами кандидат знаком

P.S. Бонус в комментах, протоколоведы

#meme
@positiveslack
1😁21
Testplanner & Coverview

Тут увидел, что благодаря Antmicro, некоторые из скриптов проекта OpenTitan были причесаны и отпочкованы в отдельные инструменты. В первую очередь могут быть интересны верификаторам.

Tesplanner - инструмент для ведения тестпланов в HJSON. Машиночитаемый формат как единственный source-of-truth, а дальше из него генерируется документация и разные производные форматы для трекинга прогресса. Например, запуски тестов аннотируются и попадают в красивый дашборд. При этом исходники тестов, документация и дашборд с результатами связаны перекресными ссылками, что удобно для анализа. Интеграция в cocotb тоже на месте.

Есть статья в блоге с более детальным описанием.

Coverview - инструмент для генерации дашбордов для анализа покрытия. Умеет в стандартный формат LCOV (а кто-то из big3 умеет в такое?) и в общем-то нейтрален к исходному языку. Применительно к RTL понимает только кодовое покрытие. Ребята еще развернули отдельный просмотрщик в github pages, куда можно загрузить свой zip архив с правильным наполнением и посмотреть результаты.

Статья в блоге тоже имеется.

P.S. Да, я фанат Antmicro, а их github профиль насчитывает 824 репо, так что буду еще что-то хайлайтить оттуда, что поделаешь 😊

#tool #verification
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥132
slang-server

Ну и закрою тему тулов в этом году новым LSP для SystemVerilog поверх Slang. Есть подозрение, что в будущем это может стать выбором по умолчанию для написания SV 🎧

Ликбез. LSP это та штука, что живёт в IDE и даёт редактору возможность делать переходы по символам,показывать хинты, делать автодополнение и другие вещи для нужного языка. Ну а Slang это просто наиболее полный и самый быстрый парсер SV (по заявлениям разработчиков).

В итоге в IDE получаем ту самую эргономику в написании SV, которая есть по умолчанию у программистов на языках высокого уровня. Все фичи перечислять долго, лучше посмотрите доклад или полистайте слайды.

Некоторые хайлайты:
▫️поддерживается neovim и vscode из коробки (последний пока в меньшей мере)
▫️индексация тысяч sv файлов на десятки мегабайт менее чем за секунду
▫️автодополнение, переходы по ссылкам, всплывающие хинты, раскрытие макросов
▫️иерархия, список модулей, поиск по инстансам
▫️интеграция с surfer для связывания кода и вейформ, трассировки driver/load и отображение текущих значений в коде (экспериментально)

Из будущих фич зацепило что будет больше хинтов, переименование символов (рефакторинг), более тесная интеграция с vscode и surfer, автофиксы и slang-format. Полноценный форматтер 🍒

Btw, сервер разработан в Hudson River Trading (там и автор slang работает кстати), а ещё кто-то говорил что HFTшники ничего полезного не делают 🫣

В соседнем чатике даже отзыв-сравнение есть:
Уже недели 3 пользуюсь этим LSP, фантастическая штука
Из всего, что пробовал, мне этот больше всего нравится. У verible слабый препроцессор, на макросах сразу падает, пришлось вообще выключить. Svls не умеет делать symbol rename, да и линт что-то не понравился, уже не помню почему. Svlangserver в основном хорошее автодополнение, но фич немного, опять же нет symbol rename. Хочу попробовать еще verilog-mode, но для этого надо выучить emacs, так что как-нибудь потом.

#tool #systemverilog
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥10
😁198🔥3🤔1
2025

Для канала год прошел под лозунгом "на меня забили".

Но показательно, что больше половины постов (12) вышло в конце ноября и декабря. А всё потому что я съездил на конфу FPGA-systems. В первый раз, кстати.

Общение с единомышленниками заряжает. Поэтому делайте крутые штуки, рассказывайте о них, объединяйтесь, общайтесь, творите. И никогда не задавайтесь вопросом "а вдруг это никому не интересно". Интересно.

Увидимся в 2026!

@positiveslack
1🎉27🔥3
Лекция о микроархитектуре x86-процессоров на примере Intel Skylake.

Разбираются базовые принципы работы современного out-of-order CPU: конвейер, декодирование x86-инструкций в микрооперации (µops), внеочередное исполнение, переименование регистров и аппаратные механизмы повышения производительности.

Лектор: Мэтт Годболт
Создатель Compiler Explorer и
C++ разработчик.
🔥7
How to render cloud FPGA useless

Очень крутой доклад на тему исследования возможных векторов атак на облачные плисины (типа AWS) через питание и прогрев.

tl;dr атакующий должен хирургически точно организовать нужное количество осцилляторов (ring oscillator) внутри дизайна, чтобы либо увести плату или инстанс в отказ, либо повредить/"состарить" конкретные пути в плисине. Обе атаки работают. В первом случае удалось сделать сотню инстансов недоступными на часы, а во втором удалось состарить некоторые пути так, что они стали медленнее на 50-70%.

Довольно много интересных деталей всего процесса с мемными комментариями докладчика.

Интересно, что базовые DRC в AWS пропускают такие "вредоносные" дизайны, поэтому исследователи даже предложили "щит" против своего же "меча".

Доклад с конфы 39c3.

#fpga
@positiveslack
🔥11🤯3