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

https://t.me/boost/positiveslack
Download Telegram
How to render cloud FPGA useless

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

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

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

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

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

#fpga
@positiveslack
🔥11🤯4
Играемся с Verilator, SMT2, Z3

Сделал тут небольшую песочницу, чтобы поиграться с рандомизацией в вериляторе.

Напоминаю, что в предущих сериях верилятор перешёл на такой формат рандомизации: SV констрейны парсятся, из них составляется запрос в SMT2 синтаксисе, запрос отправляется в решатель в системе (типа z3). Там есть разные хитрости в процессе, захотелось на них посмотреть и поиграть с z3.

В итоге сделал репо, в котором разворачивается верилятор и slang-server, есть сниппеты кода с рандомизацией, а z3 обернут в скрипт, чтобы дампить ввод-вывод в файлы.
https://github.com/esynr3z/verilator-rand

Вот так, например, преобразование выглядит на практике:

Класс с констрейном:

class Test;
rand byte a;

constraint a_c {
a >= 0;
a <= 10;
}
endclass

SMT2 код:

(set-logic QF_ABV)
(check-sat)
(reset)
(set-option :produce-models true)
(set-logic QF_ABV)
(define-fun __Vbv ((b Bool)) (_ BitVec 1) (ite b #b1 #b0))
(define-fun __Vbool ((v (_ BitVec 1))) Bool (= #b1 v))
(declare-fun a () (_ BitVec 8))
(assert (= #b1 (__Vbv (bvsge ((_ sign_extend 24) a) #x00000000))))
(assert (= #b1 (__Vbv (bvsle ((_ sign_extend 24) a) #x0000000a))))
(check-sat)
(get-value ( a))
(assert (= #b0 (bvxor ((_ extract 1 1) a) ((_ extract 2 2) a) ((_ extract 3 3) a) ((_ extract 5 5) a))))

(check-sat)
(get-value ( a))
(assert (= #b1 (bvxor ((_ extract 0 0) a) ((_ extract 2 2) a) ((_ extract 6 6) a) ((_ extract 7 7) a))))

(check-sat)
(get-value ( a))
(assert (= #b1 (bvxor ((_ extract 0 0) a) ((_ extract 1 1) a) ((_ extract 3 3) a) ((_ extract 4 4) a))))

(check-sat)
(get-value ( a))
(assert (= #b1 (bvxor ((_ extract 0 0) a) ((_ extract 1 1) a) ((_ extract 3 3) a) ((_ extract 7 7) a))))

(check-sat)
(get-value ( a))


Понятно, что подобные развлечения они для гурманов, но из практической пользы - можно забрать девконтейнер себе. Можно использовать чтобы баги в вериляторе воспроизводить/репортить, slang-server тестить, ну или просто разработку/ci вести. Удобно когда в два клика в вскоде разворачивается рабочее окружение с нужными версиями тулов и плагинов.

#verilator
@positiveslack
1🔥121
Редко, но каждый раз очень метко

#meme
@positiveslack
😭14😁11
😁37😭15🔥5
Встреча FPGA сообщества в YADRO 2026

Настало время выбраться из берлоги 😊

На ближайшей вечерней FPGA-встрече в Питере расскажу про свой пет-проект LLM-first CLI инструмента для работы с вейвформами.

Дело в том, что агенты хорошо работают с текстом примерно в любом виде, но работать с вейвформами из коробки не умеют. Оно конечно забавно каждый раз наблюдать что именно агент придумает, чтобы дать тебе ответ или получить нужную информацию для дебага. Но хотелось бы всё-таки какого-то инструмента, которым ии оперировал бы также ловко и предсказуемо как ls/find/grep/cat/jq с файлами и текстом.

Самый последний доклад (на сон грядущий) как раз мой: "Мечтают ли ИИ-агенты об анализе вейвформ?".

Подключайтесь или приходите (нужна регистрация). Все подробности — на странице мероприятия и в чате.

@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥26
Verilator AI Policy

Интересно, в верилятор тут добавили AI Policy
https://github.com/verilator/verilator/commit/2bc294ccad45a0772f0c3b7f8a701725fb963e82

Если кратко, то используйте железных как хотите, но не давайте им подписывать код. Ну и отвечать за код будете вы лично. Сделать "оно накодило, я не понимаю, но вроде фиксит что нужно" не поможет.

Так что можно смело брать иишку и вдумчиво пофиксить надоедливую проблему. Так к big4 и доедем.

Кажется у опенсорса никогда не было такого шанса так быстро развиваться. Правда ещё и со слопом недобросовестных контрибьюторов надо бороться. Главное - сил Снайдеру.

#verilator
@positiveslack
🔥12
Верификация всё?

Ну что, пошли вести с полей

Я брал для пробы Клод за 200 баксов - там он безлимитный почти😁
Попросил написать ip по стандарту, cocotb юнит тесты для всех модулей (300+ тс в итоге получилось) и PyUVM для топ левела в связке с верилятором.
В итоге он все написал, сам отдебажил. Написал кучу тесткейзов на проверку соотв. Стандарту. В ручную такая работа месяца 4-6 заняла бы. А тут за неделю уложился 😇

Лимитов так и не достиг. Буду пробовать за 90 в следующем месяце

В общем, если верификацию перенести с SV домена в Py, то тут как раз вся мощь раскрывается этих ЛЛМ.

Получается верилятор + кокотб + фронтир ллм = новая мета для дизайна и верификации?

Кстати, раз тесты пишутся и к спекам ллм сильно внимательнее, то верификаторы уже не нужны получается?

Шучу, конечно нужен хотя бы один, на кого всю ответственность повесить в случае чего 😎

#llm
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14😁9🤯4😭3🤔1
позитивслэк pinned «Встреча FPGA сообщества в YADRO 2026 Настало время выбраться из берлоги 😊 На ближайшей вечерней FPGA-встрече в Питере расскажу про свой пет-проект LLM-first CLI инструмента для работы с вейвформами. Дело в том, что агенты хорошо работают с текстом примерно…»
Building an Open-Source Verilog Simulator with AI: 580K Lines in 43 Days

Тут интересный инцидент пропустил. Затравка в статье из шапки. После её прочтения единственный вопрос это "WTF сейчас происходит?"🏥 И дальше интереснее будет.

Если идти по порядку, то в начале марта некто Thomas Dybdahl Ahle заявил в посте что обнимку с ClaudeCode и Codex он (его команда?) за 43 дня написал около 580к строк кода, в которых:

▫️circt-sim - симулятор SystemVerilog/UVM поверх CIRCT, выбивает 73% на тестсьюте sv-test (Verilator 94%, Icarus 80%) и способен симулировать UVM окружения
▫️circt-bmc/circt-lec - инструменты для формальных доказательств
▫️circt-mut - инструменты для мутационного тестирования

Проходят тесты, всё красиво, но главным минусом нового симулятора конечно же была производительность. Сим заявляется как что-то на 3-4 порядка более медленное чем competitor (предположительно xcelium).

Примерно после публикации этой статьи боты автора неожиданно сходят с ума, и начинают массово комментировать issue в оригинальном репо circt всякими мусорными dev коментами, о том что что-то пофикшено, переделано, нужно закрыть issue и т.д. Вероятно попутав оригинал репо с форком.

Мейнтейнерам это не понравилось, и они буквально за считанные дни приходят к решению, что автора нужно забанить и никакие PR и вклады от него не принимать, т.к. он жестко нарушает всё на свете. И лицензии (усмотрен реверс инженеринг Xcelium и бенчмаркинг против него), и правила разработки с ИИ, принятые в LLVM, в которых прямо говорится что весь код должен быть поревьювен и осмыслен человеками, и вообще за него надо нести ответсвенность (как и за своих агентов).

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

#llm #circt
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯9😁5😭2
позитивслэк
Встреча FPGA сообщества в YADRO 2026 Настало время выбраться из берлоги 😊 На ближайшей вечерней FPGA-встрече в Питере расскажу про свой пет-проект LLM-first CLI инструмента для работы с вейвформами. Дело в том, что агенты хорошо работают с текстом примерно…
Мечтают ли ИИ-агенты об анализе вейвформ?

Мероприятие прошло. Было очень круто 🎧
Спасибо всем кто пришел, и с кем удалось пообщаться!

Если вдруг упустили, то я рассказывал про CLI инструмент для анализа и работы с вейвформами, написанный специально для "рук" LLM-агентов.

https://github.com/kleverhq/wavepeek

Слайды в первом коменте к посту, ну а выступление есть на YouTube

Жажду получить любую обратную связь, особенно отзывы по использованию в реальных задачах. Любая движуха приветствуется, кроме нейрослоп-PR конечно 😎

#llm #tools
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
Forwarded from Юрий Панчул
Я сегодня решил начать монетизировать свою критику ИИ и предложил спор на $1000 энтузиасту программы Claude. Энтузиаст запостил в одной из моих групп (295 членов) ссылку на свой сгенеренную Claude репозиторий, утверждая что Claude сгенерил для него ускоритель симуляции верилога, который работает в 1000 раз быстрее чем верилятор, с помощью расбрасывания вычислений на массив RISC-V ядер, синтезированных на Xilinx FPGA. Я предложил ему запустить на этой слоистой конструкции простой тест, которые исполняется в банальном икарусе за 4 минуты на старом Dell и за 2 минуты на новом Маке. Если то что родил клауд сможет выполнить этот тест на его плате за менее чем 10 секунд, и не будет никакой фигни (скажем оно не будет просто печатать правдоподобный ожидаемый результат), и это произойдет до Дня Независимости 4 июля 2026 года, то я плачу ему тысячу долларов. А если нет - то он мне.

Как вы думаете - товарищ примет спор? Это инженер-американец с 40-летним опытом, который работал над симуляцией аналоговой версии верилога еще в 1990-х.

UPD: Спор был принят. Можете наблюдать за спором в реальном времени:
https://groups.google.com/g/meetsv
🔥19🤔1
Там антропики как раз сегодня новую модель релизнули видимо под это
🍿

У меня один вопрос у посту выше - а что гугл групс ещё существуют?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5
No offence, guys

#meme
@positiveslack
😁19😭6🤔1
Мысли по кодингу с агентами

Тут репо перешагнуло порог в 70к строк (код+тесты+бенчи+скрипты+доки) и надо чего-то думать что с ростом энтропии делать.

Садишься делать ревизию (тщательнее чем обычно), и видишь какие-то скрипты, какие-то дикие if-else защитные навороты, которые пытаются учесть всё на свете вплоть до тепловой смерти вселенной. Иногда там где нужны были "пару батареек" агент вкорячил работающую АЭС, просто потому что ну на всякий случай, смотри как всё абстрактно, защищено и стабильно работает.

И кажется тупо сказать keep it simple stupid не хватает, нужен процесс, который либо мог бы делать аналогичное ревью и резать левые нагромождения, или что-то такое. Пока конечно всё упирается в меня, мою насмотренность и возможность сказать "нам это нахер не нужно здесь", но чет это плохо масштабируется, и зависит от моего ресурса и фокуса на ревью💧
А агентные ревью хоть и ловят реальные проблемы, но иногда раздувают из мухи слона, и в целом особо этому накоплению техдолга не препятствуют.

Начинаешь детальнее разбираться, и оп, оказывается вот эти файлы можно удалить, вот эти 500 строк схлопнуть в 20 и так далее. И всё потому, что там где я опустил детали, или не промптил явно, оно само выбрало "дефолтные решения", а они видимо в среднем тяготеют к оверинжинирингу и over-defense-programming, которые являются обычными штуками в энтерпрайзных копролитах, живущих десятилетия (главный обучающий материал для иишки).

Но с другой стороны оно ведь работает, и может это и норм. И оно даже способно код поддерживать и впиливать новые фичи. Тут правда интересно где будет тот предел, когда энтропия разрастется настолько, что всё начнет рассыпаться🤡

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

#llm
@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11😭5😁1
AMIQ License Key Generation

Привлек внимание пост от Тома.

Если заголовок привлек вас тоже, то возможно разочарую - речь не про AMIQ как вендора EDA софта, а про реверс инжиниринг одноименного старого генератора сигналов. Ну что в общем-то тоже интересно.

По пути там забавное. Пасхалки в коде, типа имени джуна, который увековечил себя😎
И даже ответил на письмо Тома, о том что пасхалка нашлась. Удивились бы вы, если бы вам кто-то написал по поводу кода, что вы создали 30 лет назад?

И ещё из забавного был деактивированный мастер-ключ, подозрительно похожий на телефон штаб-квартиры Rohde & Schwarz в Мюнхене.

Ну и да, какой пост нынче без ллм. Интересно что Тому помогал codex. А ведь эти облачные модели довольно сильно капризные в этом плане и легко уходят в отказ. В отличие от каких-нибудь abliterated моделей от huihui (да, думаю так и читается), у которых моральный компас хирургически удален. Но видимо правильные заклинания и дозированный контекст делают своё дело.

Ну и да, похоже в реверсе тоже все эксперты рано или поздно вымрут, т.к. ллм делает это бодрее и быстрее, с чем и поздравляю🥳

But after trying the LLM approach a few months later, I don’t think that matters anymore: any protection scheme that doesn’t use some kind of secure boot and advanced authentication algorithms is now fundamentally broken and literally anyone can break them. All you need is the executable, an LLM, and a single prompt.


@positiveslack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🥱3😭3