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 |
|---|---|
One error counter, one verdict banner, and an exit code that automation can trust. | |
Seed every run, print the seed, and replay any failure exactly. | |
Leveled log lines with scope and transaction ids that scripts can grep. | |
Dispatch the matrix in parallel, bucket failures by signature, and rerun to green. |
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.