A testbench that needs a human to read waveforms is a debug aid, not a verification environment. Self-checking means every test prints its own machine-greppable verdict and returns an exit code that automation can act on. Hundreds of such runs across seeds form a regression.
This topic covers the verdict contract, seeds and replay, logging that scripts can parse, and the flow from one testbench to a nightly regression.
Lesson | What it covers | Path |
|---|---|---|
One error counter, one verdict banner, and an exit code that automation can trust. | Required | |
Seed every run, print the seed, and replay any failure exactly. | Required | |
Leveled log lines with scope and transaction ids that scripts can grep. | Optional | |
Dispatch the matrix in parallel, bucket failures by signature, and rerun to green. | Recommended |
Path tells you how to spend your time. Required is the core first pass for building a layered testbench. Recommended is what most learners should read. Optional is reference, specialist or revision material that you can return to later.
No. A run passes only when the PASS banner is present and the exit code is zero. Anything else is a failure or an infrastructure problem.