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