TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
позитивслэк

17 Jul, 17:00

Open in Telegram Share Report

Проверка верилятора на прочность

Всё началось с проверки того, а насколько реально verilator поддерживает конструкции функционального покрытия. Спойлер, хоть есть существенные ограничения, но уже довольно неплохо, кажется для cocotb уже можно отказаться от pyvsc в пользу нативных кавергруп в интерфейсе. Но любопытно больше то, что железный ещё мне и багов пачку еще принес, которые нашел в процессе.

Стало интересно, а что если поженить "публичную поверхность" верилятора (issue, pr, доки, зеленые клетки sv-tests) прямо с главами стадарта и проверить на прочность а насколько хорошо действительно поддержано заявленное.

Включил /goal в кодексе и sol-xhigh погнал. В итоге вся работа (в несколько этапов) заняла 42 часа машинного времени и довольно прилично токенов (38.9M used, 1.38B in, 5.27M out). Все главы (3-41) были проработаны одна за другой и получилась примерно такая воронка:

🔻~3.5к сниппетов кода
🔻~1.5к из них диагностировали проблемы
🔻~630 кандидатов багов, проверенных против публичной инфы, икаруса и vcs
🔻~500 багов, без известных issue/pr.

И конечно же, больше всего дефектов в sva, coverage, randomization и configurations (кто-то вообще в реальности применяет config ... endconfig конструкции?), как самых молодых областях поддержки. Тут конечно возникает вопрос об отделении "фича пока не сделана" и "фича сделана с багом", но там есть варианты буквально всех сортов:

- легальная конструкция не принимается
- нелегальная конструкция принимается
- принимается, но игнориуется
- реализовано, но работает неправильно
- краши, внутренние ошибки на компиляции
- ошибки в рантайме

Особенно опасненькими выглядят баги из 7 главы про массивы - там есть и классические off-by-1 ошибки с потерей данных, и неожиданная аллокация данных, и порча данных.

Многие знания - многие скорби💧 Что делать теперь с этим богатством? Можно конечно форкнуть верилятор и сделать slopelator через "fix all bugs, make no mistakes", но думаю нужно идти максимально скучным способом. Руками валидировать наиболее критичные проблемы, репортить и предлагать помощь по фиксу.

Да, многие критикуют вайбкоженные симуляторы (1, 2), мол, ерундой занимаются, лучше бы верилятор сделали лучше. Но проблема в том, что это кратно менее веселая исследовательская задача и уже сильно больше похожая на работу🤡 Ведь просто одним промптом зарепортить 500 багов и предложить PR тоже не выйдет - вызовут санитаров и уедешь в дурку бан навсегда.

P.S. Красивая нейропдфка с визуализацией результатов в коментах.

P.P.S. Интересная сторонняя находка в том, что оказывается sv-tests довольно слабый и поверхностный, и на самом деле слабо отражает реальную степень поддержки стандарта. Поэтому кажется логичным текущие наработки дополнить и перевести в полноценный публичный torture-suite для EDA тулов против стандарта. Но это уже в другой серии...

P.P.P.S. Еще очень раздражало что у openai постоянно тригерились cybersecurity checks в районе проверок глав 30+, и тормозили выполнение /goal (пауза, пока не прожимешь enter руками). Видно VPI/DPI это очень подозрительно и нормальные люди таким не должны заниматься🙂

#verilator #llm
@postiveslack

855 0 5 21 13
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot