Компилируется — не значит верно
Вы узнаете
Почему зелёные галочки — не доказательство и как поймать код, который компилируется и неверен.
Компилятор, принявший ваш код, говорит только, что код правильно оформлен. Он не говорит, что код значит то, что вы имели в виду. Эта запись показывает инструмент, нашедший спеки, которые компилируются, проходят все проверки и всё равно прочитаны неправильно. Для железа урок ещё жёстче: ошибку в кремнии не исправить патчем. Внесите ошибку сами в записи с мутациями и посмотрите, как тесты её ловят.
Попробуйте
Откройте запись с мутациями в «Ещё попробуйте» и посчитайте, сколько подложенных ошибок поймали тесты.

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