Тесты — часть спеки
Вы узнаете
Почему каждая спека t27 несёт свои тесты и что показывает временная диаграмма.
В t27 спека не закончена без своих утверждений: блоки test, инварианты и бенчи живут в том же файле, что и проверяемый ими код, а спеку без них компилятор отвергает. Тест можно запустить и как вентили в симуляторе. Диаграммы ниже — настоящая симуляция Verilog, сгенерированного из спеки троичного умножения с накоплением, на тестовых векторах этой же спеки.
Попробуйте
Приблизьте один такт и прочитайте значения на шинах в отметке pass.

Открыть спеку урока в плеере: specs/tutorial/07_tests_invariants_benches.t27
Все уроки
Модуль 1 · Чип
Что такое FPGA, какой чип у нас и как его выводы встречаются с платой.
Модуль 2 · Числа в железе
Биты, триты и форматы чисел, и сколько стоит арифметика в логике.
Модуль 3 · Ваша программа на t27
Напишите спеку, проверьте её и увидьте, почему «компилируется» не значит «верно».
Модуль 4 · Внутри t27c
Как компилятор читает спеку и что он пишет, включая нативный t27b.
Модуль 5 · От спеки к железу
Verilog, который пишет t27c, ячейки, в которые он превращается, и что делает одна LUT.
Модуль 6 · Читаем синтез
Что yosys сообщает о вашем дизайне и какие предупреждения важны.
Модуль 7 · Размещение, трассировка, тайминг
Где ячейки оказываются на кристалле и успевает ли тактовая частота.
Модуль 8 · Битстрим
Как оттрассированный дизайн становится битами, которые загружает чип, без Vivado.
Модуль 9 · На плате
Спросите чип, кто он, загрузите биты и проверьте их.
Модуль 10 · Лаборатория: наши исследования
Свой формат чисел, честная таблица результатов и таблицы модели, перемноженные на плате.