An Introduction to Unit Testing with SVUnit is a 5 part video course. It starts with my opinions on how advanced verification methods have failed to reach their potential, goes on to introduce SVUnit with a couple of coding examples and finishes with data from case studies that show the value of unit testing with SVUnit.
While the course is meant to flow naturally beginning to end, each of the 5 parts stands well on its own. Depending on what you’re after, here’s a little guidance on what sessions and details are best for you…
Verification leads and methodology engineers are the primary audience. If that’s you, I can recommend the whole course. Noteworthy is part 1 where I explain the shortcomings of constrained-random verification. Ideas from that will become part of your argument motivating others toward unit testing. The full course is an hour; I’d recommend taking it in over 2 or 3 days so you have time to think as you go.
Verification engineers looking for an SVUnit kickstart or introduction to the mechanics can focus in on part 3 and part 4. For both, I recorded a live coding session to take you through all the steps required to write passing and failing unit tests. Verification engineers using UVM will specifically want to watch part 4. This is where I demonstrate unit testing a uvm_component using the newest SVUnit support for UVM.
If you’re a design engineer looking for a similar kickstart, you could probably focus in on just part 3. I use a class as a unit-under-test in that video, but you could go through the same steps with a module; change your bogus into a module, wire in some connectivity to the input/output ports and the rest is pretty much the same. As you begin, put yourself in an SVUnit-for-smoke-testing mindset, then ponder how you can use SVUnit to formalize your smoke testing to become part of a typical regression flow.
For chip leads and managers I’d recommend watching part 1 and part 5. Together, that’s about 15 minutes which I guarantee are entirely worth your time. You’ll see why your team has such a difficult time closing constrained-random verification efforts, why testbench quality is so important (and lacking) and why it’s so hard to get a concrete measure of progress during development. You’ll also see some clues as to how you’ll be blindsided when things unexpectedly fall apart and how your team can use SVUnit to guard against that happening. If you want to take a step further and advocate for SVUnit within your team and organization, I’d also watch part 2 for some background and general information.
The whole course is hosted on Verification Academy. Anyone can browse the course details. To watch, though, you’ll need a login which is pretty painless to get. The course is sponsored by my employer XtremeEDA.
Hope you enjoy the course. As usual, feel free to log any questions in the comments below and/or reach out for questions or more information at firstname.lastname@example.org.