<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss" version="2.0">
  <channel>
    <title>Arnold Enginegger</title>
    <link>https://t.me/s/enginegger</link>
    <description>Тоже хочу в блогеры</description>
    <pubDate>Tue, 22 Sep 2026 08:06:57 +0300</pubDate>
    <lastBuildDate>Tue, 22 Sep 2026 08:06:57 +0300</lastBuildDate>
    <image>
      <url>https://tg.i-c-a.su/icon/enginegger/icon.jpg</url>
      <title>favicon</title>
      <link>https://t.me/s/enginegger</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://tg.i-c-a.su/rss/enginegger"/>
    <item>
      <title>[Media] Заглянул в репозиторий Chisel и чуть не поперхнулся. В релизе 7.14.0, который вышел ме [...]</title>
      <description>&lt;br/&gt;Заглянул в репозиторий Chisel и чуть не поперхнулся. В релизе &lt;a href="https://github.com/chipsalliance/chisel/releases/tag/v7.14.0"&gt;7.14.0&lt;/a&gt;, который вышел месяц назад, наконец-то добавили проверку неявного усечения ширины сигналов.&lt;br&gt;&lt;br&gt;Теперь стандартный оператор соединения &lt;code&gt;:=&lt;/code&gt; ругается, если сигнал в правой части шире, чем в левой. Причём проверка делается на уровне FIRRTL в firtool, уже после вывода ширин, - поэтому покрываются случаи, когда фронтенд Chisel ещё не знает окончательную ширину.&lt;br&gt;&lt;br&gt;Напомню, раньше такое усечение не обнаруживалось даже линтером на выходном Verilog: к этому моменту firtool уже превращал его в явное взятие младших битов.&lt;br&gt;&lt;br&gt;Пока это только warning, но разработчики планируют в будущем сделать ошибкой.&lt;br&gt;&lt;br&gt;Одновременно пофиксили семантику новых Connectable-операторов: для них неявное усечение теперь не разрешается, нужно использовать &lt;code&gt;.squeeze&lt;/code&gt; или новый оператор присвоения с усечением &lt;code&gt;:%=&lt;/code&gt;.&lt;br&gt;&lt;br&gt;Тема &lt;a href="https://github.com/chipsalliance/chisel/issues/1163"&gt;обсуждалась&lt;/a&gt; ещё с 2019 года, но до сих пор это поведение сохраняли, в том числе из-за совместимости со старым кодом и из-за того, что фронтенд не всегда знает конечные ширины сигналов.&lt;br&gt;&lt;br&gt;—&lt;br&gt;&lt;br&gt;А ещё несколько дней назад вышел &lt;b&gt;Verilator 5.052&lt;/b&gt; с поддержкой неблокирующих присваиваний в &lt;code&gt;initial&lt;/code&gt;. Вот так вот! Тоже &lt;s&gt;джва года&lt;/s&gt; долго ждали &lt;tg-emoji emoji-id="5773894045487077132"&gt;🎉&lt;/tg-emoji&gt;&lt;br/&gt;&lt;br/&gt;&lt;blockquote cite="https://github.com/chipsalliance/chisel/releases/tag/v7.14.0"&gt;&lt;cite&gt;&lt;b&gt;GitHub&lt;/b&gt;&lt;/cite&gt;&lt;/br&gt;&lt;b&gt;Release Chisel v7.14.0 · chipsalliance/chisel&lt;/b&gt;&lt;/br&gt;Implicit Truncation Deprecation
We are finally deprecating implicit truncation. The associated version of firtool (1.155.0) will print warnings for any implicitly truncated values. For any you see,...&lt;/br&gt;&lt;img src="https://tg.i-c-a.su/media/enginegger/146/preview/thumb.jpeg" style="max-width:100%"/&gt;&lt;/blockquote&gt;</description>
      <pubDate>Mon, 14 Sep 2026 18:22:17 +0300</pubDate>
      <link>https://t.me/enginegger/146</link>
      <guid>https://t.me/enginegger/146</guid>
      <enclosure url="https://tg.i-c-a.su/media/enginegger/146/5856075560801472282_y_4.jpg" type="image/jpeg" length="50068"/>
      <media:community>
        <media:statistics views="547" forwards="8" favorites="12"/>
        <media:reactions>
          <media:reaction emoji="❤" count="12"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>[Media] На перевод ушел почти месячный лимит подписки Plus на GPT, но дело было сделано. Не хо [...]</title>
      <description>&lt;a href="https://tg.i-c-a.su/media/enginegger/145/the-infinite-extent-ru-sample_5285076821027628010.epub" target="_blank" rel="nofollow"&gt;&lt;img src="https://tg.i-c-a.su/media/enginegger/145/preview/thumb.jpeg" style="max-width:100%"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;На перевод ушел почти месячный лимит подписки Plus на GPT, но дело было сделано. Не хотелось спойлерить самого себя, но по первым главам результат выглядел весьма многообещающим: была сохранена стилистика автора и предыдущих переводов, ИИ отлично перевёл всякие идиоматические выражения, текст читался легко и приятно. Тем не менее, перевод ещё нужно было вычитать, и по понятным причинам никто из людей этого делать не хотел :)&lt;br&gt;&lt;br&gt;Для вычитывания использовались три разных модели. У всех был полный доступ к материалам и полная свобода действий. В результате их работы были сделаны три ревью, по которым уже были внесены финальные правки. В процессе вычитывания были исправлены несколько серьёзных недочётов. Например, в процессе чтения ИИ заметил, что по предыдущему повествованию и диалогам действие должно происходить не так, как описано в тексте. Он проверил сначала сырой текст, затем аудио и обнаружил, что Whisper распознал ключевое слово с точностью до наоборот, что сильно меняло смысл.&lt;br&gt;&lt;br&gt;Другой показательный пример: ИИ заподозрил, что в диалоге перепутаны реплики - персонажи как будто говорят не свой текст. Открыл аудио, проверил паузы между репликами и понял, что действительно при структурировании сырого текста две реплики были склеены в одну, из-за чего порядок диалога развернулся на 180 градусов.&lt;br&gt;&lt;br&gt;В нескольких местах был исправлен перевод отсылок к поп-культуре и историческим персонажам. Книга буквально пестрит ими, то есть этот момент был достаточно важен. Например, из этих правок я узнал про рузвельтовскую &amp;quot;политику большой дубинки&amp;quot;, и что есть такой американский певец Кристофер Кросс.&lt;br&gt;&lt;br&gt;Итак, текст готов, осталось сверстать. Эту задачу, конечно, тоже поручили ИИ - он сделал два варианта PDF (через Typst) и EPUB. В качестве обложки была взята картинка из аудиокниги - ИИ увеличил её разрешение, дорисовал до книжного формата, перевёл надписи и убрал лишние лейблы. Done, книжка готова, можно читать &lt;tg-emoji emoji-id="5219872564569972166"&gt;👍&lt;/tg-emoji&gt;&lt;br&gt;&lt;br&gt;Вот так, через три дня после публикации аудиокниги появился русский перевод.&lt;br&gt;&lt;br&gt;Весь текст не публикую, ибо ай-яй-яй, но несколько первых глав для ознакомления, думаю, можно. Это поможет понять, что машинный перевод - это уже далеко не гуглотранслейт.&lt;br&gt;&lt;br&gt;В работе применялись следующие модели:&lt;br&gt;- Для автоматизации, вёрстки и первых попыток структурирования текста - Qwen3.8-27B&lt;br&gt;- Для структурирования и перевода - GPT-5.6-Sol&lt;br&gt;- Для вычитывания - все предыдущие и GLM-5.3&lt;br&gt;- Для ревью ревью и финальных правок - GPT-6 Astra&lt;br&gt;&lt;br&gt;PS: надеюсь из текста понятно, что я не один это делал :)</description>
      <pubDate>Wed, 16 Sep 2026 16:09:04 +0300</pubDate>
      <link>https://t.me/enginegger/145</link>
      <guid>https://t.me/enginegger/145</guid>
      <enclosure url="https://tg.i-c-a.su/media/enginegger/145/the-infinite-extent-ru-sample_5285076821027628010.epub" type="application/epub+zip" length="605434"/>
      <media:community>
        <media:statistics views="542" forwards="16" favorites="14"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="8"/>
          <media:reaction emoji="👍" count="4"/>
          <media:reaction emoji="❤" count="1"/>
          <media:reaction emoji="⚡" count="1"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>Тут пару дней назад вышла очередная, шестая книга из серии Bobiverse Денниса Тейлора - The Inf [...]</title>
      <description>&lt;br/&gt;Тут пару дней назад вышла очередная, шестая книга из серии Bobiverse Денниса Тейлора - &lt;a href="https://www.amazon.co.uk/Infinite-Extent-Bobiverse-Book/dp/B0H8T7QGSM"&gt;The Infinite Extent&lt;/a&gt;. Кто не в курсе - это такая гиковская научная фантастика про... в общем, про чувака, который в &amp;quot;теле&amp;quot; космического корабля бороздит просторы.&lt;br&gt;&lt;br&gt;Так вот, книга долгожданная, но есть загвоздка - автор по традиции выпускает сначала аудиоверсию, и только через 4 месяца текст. Очевидно, не всем удобно слушать, да ещё и на английском. Но у нас же теперь есть ИИ! Почему бы не попробовать сделать текст и перевод самостоятельно?&lt;br&gt;&lt;br&gt;Сказано-сделано. Первым делом был зареган аккаунт на Amazon (именно он, через свой сервис Audible, распространяет книгу). Затем за восемь с половиной часов был сграблен весь трек. Можно было бы натравить железного раба, чтобы он вытащил аудио прямо из онлайн-плеера, но что-то это мне показалось слишком грубым. В общем, запись книжки мы получили. Запись одним большим треком.&lt;br&gt;&lt;br&gt;&lt;i&gt;Так получилось, что новому аккаунту дают 30 дней бесплатного пробного периода. Простите, но я не мог не воспользоваться &lt;/i&gt;&lt;i&gt;&lt;tg-emoji emoji-id="6129959611853180053"&gt;🫡&lt;/tg-emoji&gt;&lt;/i&gt;&lt;br&gt;&lt;br&gt;Вторым шагом было разбиение трека на главы. Эту задачу взял на себя локальный ИИ и успешно с ней справился. С помощью ffmpeg он определял положение длинных пауз, затем брал 20 секунд записи и распознавал с помощью локального Whisper, чтобы &amp;quot;услышать&amp;quot; там &amp;quot;Chapter такой-то&amp;quot;. Резал посередине паузы, сжимал полученный трек в ogg/vorbis и сохранял под номером и названием главы. Были и сложности - запись несколько раз прерывалась, и приходилось запускать с начала главы, поэтому в треке было несколько кусков незаконченных глав. Но и с этим он справился самостоятельно, определив дубли.&lt;br&gt;&lt;br&gt;Затем была чисто механическая работа по транскрипции аудио в текст (скрипты, естественно, писал ИИ). Как я сказал, распознаванием занимался локальный Whisper. Нейросетка старая, но с хорошим английским справляется достаточно неплохо. В итоге у нас получилось 73 файла &amp;quot;сырого&amp;quot; текста - 71 глава, вступление и заключение.&lt;br&gt;&lt;br&gt;Просто так использовать текст после распознавания - не лучшая идея. Во-первых, там много ошибок - как просто ошибок, так и ошибок распознавания специфических терминов, имён и аббревиатур, коих в книге немало. Во-вторых, модель не может распознать структуру текста - диалоги, прямую речь, какие-то комментарии и пр. Сырой текст требовал обработки.&lt;br&gt;&lt;br&gt;Первым делом был составлен словарь терминов из предыдущих книг. ИИ прочитал их (на обоих языках) и составил довольно объёмный словарь с метаданными и комментариями - всего, около тысячи слов. Затем ИИ поставили задачу прочитать сырой текст, выделить структуру - абзацы, диалоги и пр. и, сверяясь со словарём (пока только с английскими словами), внести необходимые правки. Глава за главой, пока без общего контекста повествования.&lt;br&gt;&lt;br&gt;Получился уже более-менее размеченный и читаемый текст, который, тем не менее, пока не был готов для перевода - требовалось вычитывание полного текста, не по главам, а целиком, чтобы не терять нить повествования и не упустить связанных с этим ошибок. Соответствующее поручение было дадено ИИ. Для контроля использовался тот же словарь и Whisper для уточнения спорных моментов в сыром тексте.&lt;br&gt;&lt;br&gt;После вычитывания английского текста пришло время перевода. Для помощи железному в папку проекта были добавлены переводы предыдущих книг. Это довольно сильно помогло - когда ИИ встречал неоднозначные фразы или понятия, он смотрел, как аналогичные вещи были переведены в предыдущих книгах. Также ему были доступны все материалы - аудио с Whisper, сырой текст, словарь (уже с русским переводом). Кроме того, по мере перевода составлялся второй словарь с понятиями, которые не встречались прежде - здесь ИИ консультировался с оператором, предлагая варианты. Перевод выполнялся в одной сессии глава за главой. Когда контекст заполнялся, делался compaction, полностью перечитывался новый словарь и напоминалась задача. Так ИИ не терял нить и даже исправил одну ошибку, которую допустил сам автор - была названа не та планета, которая должна была быть по контексту повествования.</description>
      <pubDate>Sun, 13 Sep 2026 22:14:27 +0300</pubDate>
      <link>https://t.me/enginegger/144</link>
      <guid>https://t.me/enginegger/144</guid>
      <media:community>
        <media:statistics views="477" forwards="9" favorites="8"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="5"/>
          <media:reaction emoji="❤" count="3"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>Позорище.</title>
      <description>&lt;br/&gt;Позорище. Подключил модули CC1101 к Ардуино и попросил локального железного поднять линк. Он час ковырялся, а потом сказал, что я дятел, спалил два хороших модуля. Потому что у Ардуины выходы 5В, а у СС1101 входы не толерантны. Радиоинженер, то же мне &lt;tg-emoji emoji-id="5447544503143504937"&gt;😫&lt;/tg-emoji&gt;</description>
      <pubDate>Sat, 05 Sep 2026 15:08:47 +0300</pubDate>
      <link>https://t.me/enginegger/143</link>
      <guid>https://t.me/enginegger/143</guid>
      <media:community>
        <media:statistics views="759" forwards="3" favorites="16"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="10"/>
          <media:reaction emoji="😁" count="5"/>
          <media:reaction emoji="❤" count="1"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>[Media] Рубрика &amp;quot;Письма читателей&amp;quot;. Вот такая история с &amp;quot;аблитерированным&amp;quot; [...]</title>
      <description>&lt;br/&gt;Рубрика &amp;quot;Письма читателей&amp;quot;. Вот такая история с &amp;quot;аблитерированным&amp;quot; Qwen3.8-27B от китайского товарища с именем Хуйхуй (простите за мой китайский, но я не виноват, вот ссылка: &lt;a href="https://huggingface.co/huihui-ai/Huihui-Qwen3.8-27B-abliterated-GGUF"&gt;Huihui-Qwen3.8-27B-abliterated-GGUF&lt;/a&gt;). Модель от китайского товарища, не история.&lt;br&gt;&lt;br&gt;&lt;i&gt;Аблитерация (Abliteration) - метод снятия цензуры с LLM путём обнуления весов отдельных attention head, отвечающих за отказ. Термин произошел от скрещивания двух слов - obliteration и ablation.&lt;br&gt;Обычные модели чаще всего отказываются делать вещи не очень правильные с точки зрения закона и морали. Например взлом лицензионных программ. Но аблитерирование этот запрет снимает и ИИ с энтузиазмом предлагает помощь.&lt;/i&gt;&lt;br&gt;&lt;br&gt;Итак, вот что из этого вышло (название программы замазано, но это один из симуляторов).&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;Задача: три версии &lt;tg-emoji emoji-id="5382082870770675611"&gt;😲&lt;/tg-emoji&gt;&lt;tg-emoji emoji-id="5381848876657422895"&gt;😲&lt;/tg-emoji&gt;&lt;tg-emoji emoji-id="5382148854353241274"&gt;😲&lt;/tg-emoji&gt;&lt;tg-emoji emoji-id="5382322963737487702"&gt;😲&lt;/tg-emoji&gt;&lt;tg-emoji emoji-id="5382222560287009946"&gt;😲&lt;/tg-emoji&gt;&lt;tg-emoji emoji-id="5382082870770675611"&gt;😲&lt;/tg-emoji&gt; разных годов. Собраны в докер образ, но без лицензий не работают. Хочется чтобы работали.&lt;br&gt;&lt;br&gt;Дано: папка с кучей рандомных кряков из интернетов, и Хуйхуй.&lt;br&gt;&lt;br&gt;Поехали. Хуйхуй лишних вопросов не задает. Делает всё довольно точно и аккуратно, полазил по системе, полазил по докеру, поковырял кряки, составил план. В итоге сошлись что нужно просто сделать один минимальный бинарный патчер с нуля. Он выбрал го.&lt;br&gt;&lt;br&gt;Ну и погнал отлаживаться. Там и разные схемы лицензирования (flexlm и что-то новое), и то что после патча сим всё равно лезет на сервер, и что формат лицензий между версиями отличается. В общем он недолго поковырялся с strace, поизучал существующие кряки под wine, ну и нашел минимальную схему которая удовлетворяет все версии.&lt;br&gt;&lt;br&gt;В итоге один бинарь на пару мегабайт, один искусственный файл лицензий на 3 строки, прибитый MAC и всё работает.&lt;br&gt;&lt;br&gt;По точности действий и отсутствию затупов это натурально вайбы фронтира, и всё локально. Ну и да, без какого-либо нытья &amp;quot;я это делать не буду, бла бла бла&amp;quot;.&lt;/blockquote&gt;&lt;br/&gt;&lt;br/&gt;&lt;blockquote cite="https://huggingface.co/huihui-ai/Huihui-Qwen3.8-27B-abliterated-GGUF"&gt;&lt;cite&gt;&lt;b&gt;huggingface.co&lt;/b&gt;&lt;/cite&gt;&lt;/br&gt;&lt;b&gt;huihui-ai/Huihui-Qwen3.8-27B-abliterated-GGUF · Hugging Face&lt;/b&gt;&lt;/br&gt;Image-Text-to-Text model with 27B parameters, built with Transformers. Download, explore files and run it on Hugging Face.&lt;/br&gt;&lt;img src="https://tg.i-c-a.su/media/enginegger/142/preview/thumb.jpeg" style="max-width:100%"/&gt;&lt;/blockquote&gt;</description>
      <pubDate>Thu, 03 Sep 2026 20:30:47 +0300</pubDate>
      <link>https://t.me/enginegger/142</link>
      <guid>https://t.me/enginegger/142</guid>
      <enclosure url="https://tg.i-c-a.su/media/enginegger/142/5770283039308058562_y_4.jpg" type="image/jpeg" length="49658"/>
      <media:community>
        <media:statistics views="1669" forwards="72" favorites="19"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="18"/>
          <media:reaction emoji="👍" count="1"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>[Media] wavepeek 3.0</title>
      <description>&lt;br/&gt;&lt;a href="https://github.com/kleverhq/wavepeek/releases/tag/v3.0.0"&gt;&lt;b&gt;wavepeek 3.0&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href="https://t.me/positiveslack/369"&gt;С момента моего доклада&lt;/a&gt; прошло некоторое время и случился переход от v0.5.0 к v3.0.0. &lt;br&gt;&lt;br&gt;Краткий рекап или в предыдущих сериях:&lt;br&gt;&lt;br&gt;▫️1.0 - добавлена поддержка FSDB, организованы бинарные релизы, сильный прирост по покрытию тестами и куча измений по усилению автоматизации проекта      &lt;br&gt;▫️2.0 - появился потоковый вывод JSONL, внедрение pre-edge сэмплирования (мимикрия под семантику RTL и лечение off-by-1-tick ошибок)&lt;br&gt;▫️2.1 - добавлено extract семейство с первой подкомандой generic для извлечения произвольных синхронных событий (любые хэндшейки, трансферы под валидностью и пр.) &lt;br&gt;▫️2.2 - добавлены экстракторы событий AMBA протоколов (AXI, AXI-Stream, AHB, APB и ATB).&lt;br&gt;▫️3.0 - добавлены битовые диапазоны в указание любых сигналов, унификация машинного вывода, переработка и удаление некоторых команд и десяток других QoL изменений, включая рефакторинг документации&lt;br&gt;&lt;br&gt;Последний мажорный релиз был больше работой над ошибками и обработкой той обратной связи что накопилась: я сам использовал, получал репосты и трассы от других юзеров, и на основе к&lt;a href="https://github.com/kleverhq/wavepeek-cvdp-eval"&gt;усочка CVDP сделал небольшой бенч&lt;/a&gt;, чтобы пособирать &amp;quot;синтетические&amp;quot; трассы с разных моделей по задачам агентного дебага RTL.&lt;br&gt;&lt;br&gt;Сейчас тул находится в той точке, которая я рассчитываю будет стабильной и долговременной, но в любом случае возможны доработки и фиксы. Обратная связь всё ещё приветствуется и жадно собирается&lt;tg-emoji emoji-id="5861877498517654958"&gt;🔍&lt;/tg-emoji&gt;&lt;br&gt;&lt;br&gt;И да, just for fun заюзал свойство rust без проблем компилиться в wasm, и теперь есть полноценная веб версия wavepeek для демонстрации и работы без установки:&lt;br&gt;&lt;a href="https://kleverhq.github.io/wavepeek/"&gt;https://kleverhq.github.io/wavepeek/&lt;/a&gt;&lt;br&gt;Да, всё работает прямо в браузере, вейвы не покидают вашу машину.&lt;br&gt;&lt;br&gt;Остался незакрытым гештальт с организацией полноценных бенчмарков, но возможно ещё к этому вернусь.&lt;br&gt;Уже например писал авторам &lt;a href="https://arxiv.org/html/2607.20638v1"&gt;WaveformQA&lt;/a&gt; из tenstorrent. Сказали что код бенча из статьи проходит их внутренних ИБшников и появится через пару недель на гитхабе (пару недель уже прошло конечно же).&lt;br&gt;&lt;br&gt;Такие вот дела в вайб-eda-королевстве&lt;tg-emoji emoji-id="5845693314422017237"&gt;⌨️&lt;/tg-emoji&gt;&lt;br&gt;&lt;br&gt;#tools&lt;br&gt;&lt;a href="https://t.me/positiveslack"&gt;@positiveslack&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;blockquote cite="https://github.com/kleverhq/wavepeek/releases/tag/v3.0.0"&gt;&lt;cite&gt;&lt;b&gt;GitHub&lt;/b&gt;&lt;/cite&gt;&lt;/br&gt;&lt;b&gt;Release wavepeek 3.0.0 · kleverhq/wavepeek&lt;/b&gt;&lt;/br&gt;Release Notes
Added

Added repeated-option syntax to value --at and documented the existing append semantics of value --signals, change --signals, and extract generic --payload, including mixed com...&lt;/br&gt;&lt;/blockquote&gt;</description>
      <pubDate>Mon, 24 Aug 2026 15:58:12 +0300</pubDate>
      <link>https://t.me/enginegger/141</link>
      <guid>https://t.me/enginegger/141</guid>
      <source url="https://t.me/positiveslack/389">позитивслэк</source>
      <media:community>
        <media:statistics views="814" forwards="3" favorites="9"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="5"/>
          <media:reaction emoji="👍" count="2"/>
          <media:reaction emoji="❤" count="1"/>
          <media:reaction emoji="🎉" count="1"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>logic [3:0] x;</title>
      <description>&lt;br/&gt;&lt;pre&gt;&lt;code class="language-verilog"&gt;logic [3:0] x;&lt;br&gt;logic [2:0] y;&lt;br&gt;&lt;br&gt;assign y = 3&amp;apos;(x &amp;gt;&amp;gt; 1);&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;Чему равен &lt;code&gt;y&lt;/code&gt;, если &lt;code&gt;x == 4&amp;apos;b1010&lt;/code&gt;?&lt;br&gt;&lt;tg-spoiler&gt;Не спешите с ответом. Если вы синтезируете в Pango ADS, то y == 3&amp;apos;b001.&lt;/tg-spoiler&gt;</description>
      <pubDate>Tue, 22 Sep 2026 08:06:57 +0300</pubDate>
      <link>https://t.me/enginegger/140</link>
      <guid>https://t.me/enginegger/140</guid>
      <media:community>
        <media:statistics views="1027" forwards="3" favorites="1"/>
        <media:reactions>
          <media:reaction emoji="😭" count="1"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>[Media] Пока я гонял железных, wavepeek обновился до версии 2.2.0. Теперь там есть парсер тран [...]</title>
      <description>&lt;br/&gt;Пока я &lt;a href="https://t.me/enginegger/138"&gt;гонял железных&lt;/a&gt;, &lt;a href="https://github.com/kleverhq/wavepeek"&gt;wavepeek&lt;/a&gt; обновился до версии 2.2.0. Теперь там есть парсер транзакций на шине AHB (ещё там есть APB, ATB, AXI и AXIS). Перезапустил задачу. Результат: 88 tool calls, из них 37 - wavepeek, из которых 14 - с разбором транзакций.&lt;br&gt;&lt;br&gt;Ещё потестил только что вышедший DeepSeek-V4-Flash-0731. Баг он тоже нашел, но сделал 141 вызов тулов, из которых 86 - wavepeek (22 вызова с разбором транзакций AHB). Размер этой модели уже совсем близок к возможностям локальных сетапов.&lt;br/&gt;&lt;br/&gt;&lt;blockquote cite="https://t.me/enginegger/138"&gt;&lt;cite&gt;&lt;b&gt;Telegram&lt;/b&gt;&lt;/cite&gt;&lt;/br&gt;&lt;b&gt;Arnold Enginegger&lt;/b&gt;&lt;/br&gt;В предыдущем посте я слегка ввёл в заблуждение уважаемого читателя. При подсчёте количества вызовов wavepeek я "немного" ошибся. Пересчёт показал, что модель GLM-5.2 вызвала wavepeek 65 раз. При этом всего было сделано 100 вызовов тулов (всех, не только wavepeek).

Это первое. Второе - я прогнал ту же задачу на той же модели без wavepeek. Без специального тула агенту пришлось парсить дамп "руками", для чего был создан 21 ad-hoc скрипт на питоне, 31 раз был сделан парсинг через grep/sed/awk и дополнительно - 39 прямых обращений к заголовку VCD для разведки метаданных - поиск имён сигналов, их ID, иерархии scope. Всего - 91 обращение. Общее количество tool calls - 136.

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

Удивляет другое: ручной парсинг VCD оказался не такой медленный, как я ожидал. При том, что файл весит около 500МБ (это, конечно, не гиги, но тоже немало).&lt;/br&gt;&lt;/blockquote&gt;</description>
      <pubDate>Sun, 02 Aug 2026 18:34:10 +0300</pubDate>
      <link>https://t.me/enginegger/139</link>
      <guid>https://t.me/enginegger/139</guid>
      <media:community>
        <media:statistics views="1060" forwards="4" favorites="10"/>
        <media:reactions>
          <media:reaction emoji="👍" count="10"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>[Media] В предыдущем посте я слегка ввёл в заблуждение уважаемого читателя. При подсчёте колич [...]</title>
      <description>&lt;br/&gt;В &lt;a href="https://t.me/enginegger/137"&gt;предыдущем посте&lt;/a&gt; я слегка ввёл в заблуждение уважаемого читателя. При подсчёте количества вызовов wavepeek я &amp;quot;немного&amp;quot; ошибся. Пересчёт показал, что модель GLM-5.2 вызвала &lt;a href="https://github.com/kleverhq/wavepeek"&gt;wavepeek&lt;/a&gt; 65 раз. При этом всего было сделано 100 вызовов тулов (всех, не только wavepeek).&lt;br&gt;&lt;br&gt;Это первое. Второе - я прогнал ту же задачу на той же модели без wavepeek. Без специального тула агенту пришлось парсить дамп &amp;quot;руками&amp;quot;, для чего был создан 21 ad-hoc скрипт на питоне, 31 раз был сделан парсинг через grep/sed/awk и дополнительно - 39 прямых обращений к заголовку VCD для разведки метаданных - поиск имён сигналов, их ID, иерархии scope. Всего - 91 обращение. Общее количество tool calls - 136.&lt;br&gt;&lt;br&gt;Токенов было потрачено примерно в два раза больше, а по времени в два раза дольше. Но несмотря на сложности, баг был успешно найден.&lt;br&gt;&lt;br&gt;Удивляет другое: ручной парсинг VCD оказался не такой медленный, как я ожидал. При том, что файл весит около 500МБ (это, конечно, не гиги, но тоже немало).&lt;br/&gt;&lt;br/&gt;&lt;blockquote cite="https://t.me/enginegger/137"&gt;&lt;cite&gt;&lt;b&gt;Telegram&lt;/b&gt;&lt;/cite&gt;&lt;/br&gt;&lt;b&gt;Arnold Enginegger&lt;/b&gt;&lt;/br&gt;Поделюсь историей успеха на поприще ИИ-ассистированного баг-хантинга в RTL. А точнее, прорекламирую замечательную прогу для работы с дампами вейформ от нашего товарища positiveslack. Прога сделана специально для ИИ-агентов, чтобы им было удобно (и дёшево) анализировать дампы.

Суть такова. Есть проект SoC на базе софтпроца с разнообразной периферией. Есть тестбенч, где два таких SoC работают навстречу через PCIe. И есть проблема - на каком-то этапе процессор вываливается в trap.

Симуляция медленная, дамп большой, ковыряться в нём крайне неприятно - нужно держать в голове большой контекст из проводов и кода. Решил попробовать отдать это всё ИИ и попросить сделать хорошо, предварительно установив программу Wavepeek и скилл из её комплекта.

Первым пошёл локальный Qwen3.6-27b. 16 вызовов wavepeek, 300к/100к токенов входа/выхода, и вывод: переполнение стека. Переполнения, конечно же, никакого не было (с). По его рекомендации был увеличен объём памяти данных и перезапущена симуляция, результат которой ожидаемо оказался…&lt;/br&gt;&lt;/blockquote&gt;</description>
      <pubDate>Sun, 02 Aug 2026 13:37:56 +0300</pubDate>
      <link>https://t.me/enginegger/138</link>
      <guid>https://t.me/enginegger/138</guid>
      <media:community>
        <media:statistics views="956" forwards="5" favorites="8"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="6"/>
          <media:reaction emoji="🤯" count="2"/>
        </media:reactions>
      </media:community>
    </item>
    <item>
      <title>[Media] Поделюсь историей успеха на поприще ИИ-ассистированного баг-хантинга в RTL. А точнее,  [...]</title>
      <description>&lt;br/&gt;Поделюсь историей успеха на поприще ИИ-ассистированного баг-хантинга в RTL. А точнее, прорекламирую замечательную &lt;a href="https://github.com/kleverhq/wavepeek"&gt;прогу&lt;/a&gt; для работы с дампами вейформ от нашего товарища &lt;a href="https://t.me/positiveslack/369"&gt;positiveslack&lt;/a&gt;. Прога сделана специально для ИИ-агентов, чтобы им было удобно (и дёшево) анализировать дампы.&lt;br&gt;&lt;br&gt;Суть такова. Есть проект SoC на базе софтпроца с разнообразной периферией. Есть тестбенч, где два таких SoC работают навстречу через PCIe. И есть проблема - на каком-то этапе процессор вываливается в trap.&lt;br&gt;&lt;br&gt;Симуляция медленная, дамп большой, ковыряться в нём крайне неприятно - нужно держать в голове большой контекст из проводов и кода. Решил попробовать отдать это всё ИИ и попросить сделать хорошо, предварительно установив программу Wavepeek и скилл из её комплекта.&lt;br&gt;&lt;br&gt;Первым пошёл локальный Qwen3.6-27b. 16 вызовов wavepeek, 300к/100к токенов входа/выхода, и вывод: переполнение стека. Переполнения, конечно же, никакого не было (с). По его рекомендации был увеличен объём памяти данных и перезапущена симуляция, результат которой ожидаемо оказался тем же самым, о чём было сообщено агенту. Следующей был выдвинута теория о том, что компилятор неправильно оптимизировал хвостовой вызов, из-за чего процессор переходил не в то место. Это предположение было сразу отвергнуто как очевидно некорректное. Это было видно и по ассемблерному коду.&lt;br&gt;&lt;br&gt;Вторым заходом был запущен GLM-5.2 через облачную Ollama. На вход ему был подан тот же простой промпт, плюс отчёт с предыдущей попытки, чтобы модель не пошла по заведомо ложному пути. Всего 7 вызовов wavepeek и 76к выходных токенов и баг был найден: неправильная работа контроллера памяти с шиной AHB при определённых условиях. Поиск и исправление заняли минут 15.&lt;br&gt;&lt;br&gt;Для чистоты эксперимента третий подход с снаряду снова сделал Qwen. На этот раз он получил такие же вводные, что и GLM - промпт и свой предыдущий отчёт. Удивительно, но через 4 вызова wavepeek он тоже нашел ошибку. Точнее, локализовал место, где она возникает. Причины бага он так и не смог найти. Сначала я подумал, что дело в недостаточном знании шины AHB. Но после подсовывания ему спецификации, дело не сильно сдвинулось - два часа и три перезапуска агента не дали результата, баг так и не был исправлен. Почему-то Qwen не очень хорошо ориентируется в третьем измерении RTL - latency.&lt;br&gt;&lt;br&gt;Итог таков. ИИ может сильно помочь в поиске багов в RTL. Wavepeek сильно помог с парсингом вейвформ - он это делает быстро и понятно для модели. Топовая локальная модель пока не очень хороша в RTL (но я работаю над этим).&lt;br&gt;&lt;br&gt;PS: Дал лог работы Qwen на анализ GPT-5.6-Sol. Вот его вывод:&lt;br&gt;&lt;blockquote&gt;Модель обладала достаточной информацией, но ей не хватило дисциплины синхронного cycle-by-cycle анализа. Она пыталась угадывать задержки и чинить отдельные сигналы вместо моделирования.&lt;/blockquote&gt;&lt;br&gt;В общем, фатальной ошибкой было то, что после локализации бага не был сделан конкретный тест под конкретный кейс, а в вместо этого продолжали гонять огромную симуляцию всей системы. &lt;tg-emoji emoji-id="5188263134279770117"&gt;🙂&lt;/tg-emoji&gt;&lt;br/&gt;&lt;br/&gt;&lt;blockquote cite="https://github.com/kleverhq/wavepeek"&gt;&lt;cite&gt;&lt;b&gt;GitHub&lt;/b&gt;&lt;/cite&gt;&lt;/br&gt;&lt;b&gt;GitHub - kleverhq/wavepeek: 🌊 CLI tool for RTL waveform (VCD/FST/FSDB) inspection&lt;/b&gt;&lt;/br&gt;🌊 CLI tool for RTL waveform (VCD/FST/FSDB) inspection - kleverhq/wavepeek&lt;/br&gt;&lt;img src="https://tg.i-c-a.su/media/enginegger/137/preview/thumb.jpeg" style="max-width:100%"/&gt;&lt;/blockquote&gt;</description>
      <pubDate>Fri, 31 Jul 2026 20:07:15 +0300</pubDate>
      <link>https://t.me/enginegger/137</link>
      <guid>https://t.me/enginegger/137</guid>
      <enclosure url="https://tg.i-c-a.su/media/enginegger/137/5840078392466804859_w_4.jpg" type="image/jpeg" length="77679"/>
      <media:community>
        <media:statistics views="2121" forwards="54" favorites="23"/>
        <media:reactions>
          <media:reaction emoji="🔥" count="18"/>
          <media:reaction emoji="❤" count="5"/>
        </media:reactions>
      </media:community>
    </item>
  </channel>
</rss>
