T27.AI

Блог

Курс 3: проверка железа с t27 за 27 уроков

2026-10-07 · 4 мин чтения

[исполнитель в браузере пока не исполняет тест-блоки тестбенчей (trinity#1477); три spec урока заменены чистыми соседями; specs/fpga/coverage.t27 попадает в gHashTag/t27 отдельным PR] Четвёртый курс t27 отвечает на вопрос, который три предыдущих оставили открытым: откуда вы знаете, что дизайн работает? 27 уроков в 9 модулях по 3 -- тестбенчи, временные диаграммы, векторы, косимуляция, покрытие, формальные методы, мутации, приёмка -- в каждом открывается один работающий виджет и один spec t27, а каждое число на странице измерено виджетом, рядом с которым оно стоит.

Гравюрный триптих к статье: Курс 3: проверка железа с t27 за 27 уроков
Открыть полный триптих в исходном размере
#t27#Course#FPGA

Появился курс 3: «Проверка железа с t27», 27 уроков в 9 модулях по 3, и, как у его трёх предшественников, в каждом уроке открывается один работающий виджет и один spec t27, который читатель может запустить в плеере. Курс 1 учил потоку от spec до чипа, курс 2 -- числам, которые хранят ИИ-чипы; этот отвечает на вопрос, который оба оставили открытым: откуда вы знаете, что дизайн работает? Тестбенчи, временные диаграммы, векторы, косимуляция, покрытие, формальные методы, мутации, приёмка -- в этом порядке, и у каждого шага есть квитанция.

Девять модулей

МодульНазваниеВопрос, на который он отвечает
1Зачем проверятьДизайны, которые компилируются и всё равно ошибаются; золотая модель; план, записанный до кода
2ТестбенчиСтимулы, ожидания, проверки и вердикт в одном spec
3Временные диаграммыVCD как текст, отладка настоящего измеренного бага, сравнение двух прогонов
4Векторы соответствияВходы с ответом, записанным рядом, там, откуда их достанет компилятор
5КосимуляцияSpec, симулятор и плата, приведённые к одному ответу на стенде
6ПокрытиеЧего коснулись тесты, бит за битом, дуга за дугой -- и что прячет число
7Формальные методыАссерты, проверяемые каждый такт; ограниченный поиск; честная индукция
8МутацииЛомайте дизайн нарочно и считайте, что заметили тесты
9ПриёмкаОдна команда, все квитанции, вердикт, который можно показать

Каждое число измерено

Виджеты -- это записи настоящих прогонов инструментов, а тексты уроков используют только числа, которые показывают эти записи или названный в них spec. Линк UART, запросивший 115,200 бод и получивший на проводе 115,385 -- ошибку делителя +0.16 %, невидимую в коде и очевидную в захвате; 3,000,000 делится нацело, и провод согласен. 31 из 1,428 слитых spec, чьи печати не записывают вывода, на 16 spec, и 3 из них не названы журналом, который им это имя должен. 367 pull request'ов, пришедших за 14 дней, из которых 11 удалили тесты или ассерты, а один удалил все 26 тестов своего файла -- и ничего не упало. Курс о проверке не имеет права цитировать числа, которые не может показать.

Новый spec: coverage.t27

Уроку 16 понадобилась модель покрытия, её не было -- и она написана там, где живут спеки: gHashTag/t27, specs/fpga/coverage.t27, а сайт отдаёт уроку вендоренную копию. Она моделирует точки строк, переключений, состояний и переходов автоматов со счётчиками срабатываний, целочисленные проценты, возвращающие 0, когда ничего не измерено, и запретные переходы, обязанные остаться на нуле срабатываний; в ней 26 тестов и 4 инварианта, в стиле плоских массивов, как у соседей simulator.t27 и vcd_trace.t27.

Чем за это заплатила галерея

Курсу нужно 27 виджетов с отдельными страницами, которых не использует ни один урок ни одного курса. В галерее было 96 карточек, и почти все были заняты, поэтому 17 записей настоящих прогонов инструментов -- прогон соответствия, самопроверки, аудит печатей, пересчёт переписи, подсчёт мутаций и test-touch -- стали карточками на двух полках, которым они принадлежат, и каждая стала главным виджетом ровно одного урока. Теперь spec галереи объявляет 113 виджетов, а его тесты закрепляют якоря полок, чтобы прогоны fpga, compiler и game оставались непрерывными.

Чего он не делает

Попробовать

Чего это не решает

Пруфы

Поработаем вместе

Нужно довести FPGA/RTL-задачу до замеров на железе?

Работаю по контракту и part-time с hardware-AI, FPGA/RTL и ML-системами — от спецификации и открытого тулчейна до воспроизводимых измерений.