by Neil Johnson, Principal Consultant, XtremeEDA, and Mark Glasser, Principal Engineer, Verification Architect, NVIDIA
Writing tests, particularly unit tests, can be a tedious chore. More tedious - not to mention frustrating - is debugging testbench code as project schedules tighten and release pressure builds. With quality being a non-negotiable aspect of hardware development, verification is a pay-me-now or pay-me-later activity that cannot be avoided. Building and running unit tests has a cost, but there is a greater cost of not unit testing. Unit testing is a proactive pay now technique that helps avoid running up debts that become much more expensive to pay later.
Despite academics and software developers advocating the practice of