Course
Verifying hardware with t27: testbenches, waveforms, formal, mutation
For a reader who has a design and wants to trust it. Every lesson opens a real verification tool built from real runs on our bench: read a little, then break something on purpose.
27 lessons, one working widget and one t27 spec each: testbenches that check themselves, waveforms, vectors, cosimulation with the board, coverage, assertions, mutation, and a sign-off you can show.
All lessons
Module 1 · Why verify
Designs that compile and are wrong, the model that decides, and the plan written before the code.
Module 2 · Testbenches
Stimulus, checks and a verdict, written as one spec beside the design it judges.
Module 3 · Waveforms
A trace of every signal, read the way a hardware engineer reads it, and two runs compared.
Module 4 · Conformance vectors
Cases with the answer written beside them, kept where the compiler can reach them.
Module 5 · Cosimulation
Spec, simulator and board agreeing on the bench Artix-7 XC7A200T, and what to do when they do not.
Module 6 · Coverage
What the tests touched: lines, toggles, states, and what that number hides.
Module 7 · Formal
Assertions that hold every cycle, bounded search for a counterexample, and why a proof needs induction.
Module 8 · Mutation
Break the design on purpose and count what the tests catch.
Module 9 · Sign-off
One command, every receipt, a clean verdict you can show.