If you want to know how the uvm_printer works, in detail, I don’t think you’ll find a better explanation anywhere than my unit tests. This comes after I went through a refactoring exercise in our open-source UVM-UTest project – that’s where we’re unit testing the code in the UVM framework – specifically for the purposes of making my code more readable.
Here’s one of the tests I’ve written to get the idea of where I’m going:
A colleague and I have just started a new open-source project that we think will demonstrate the merits of unit testing in hardware. It’s quite an ambitious project called UVM-UTest. The framework-under-test, in case it’s not obvious, is UVM.
The project is hosted on Github. If you’re interested in knowing more about what we’re doing, here’s a link to our UVM-UTest project charter. The entire project charter is one hand-written page so reading it won’t take long. It’ll give you a better idea of what we’re doing and why we’re doing it. If you’re interested in the abbreviated version, I’m comfortable paraphrasing it as:
We’re unit testing UVM.
We have a progress page that shows you how far we’ve come so far. It shows classes and class members that we’ve unit tested. We update that a few times a day so it’s always quite current.
We’re about 3 weeks in and the project is going well. We’ve got about 250 unit tests that take about 10sec to run and we filed our first issues in the eda.org mantis database last week (you can filter out the issues filed by ‘Neil_Johnson’ to see what they are).
There’s a first planned release of UVM-UTest scheduled for June 7. That’s when you’ll be able to download the code and run the tests we have for yourself!
Get the latest version of MiniTB
[CSSBUTTON target=”https://github.com/nosnhojn/miniTB/archive/master.zip” color=”000000″ textcolor=”ffffff” float=”left” newwindow=”true”]Download MiniTB[/CSSBUTTON]
Through the hardware industry’s continuing infatuation with leading verification technologies – constrained-random verification, functional coverage, numerous fancy methodologies, intelligent testbenches and a host of others – the needs of designers have been thoroughly ignored. That changes with MiniTB. Continue reading
My First SVUnit Test Challenge. It’s easy and perfect for anyone new to SVUnit. Continue reading
Let’s have some fun, shall we? I’m looking for people to show their commitment to hardware quality by taking the
Get the latest version of SVUnit from GitHub
[CSSBUTTON target=”https://github.com/nosnhojn/svunit-code/archive/master.zip” color=”000000″ textcolor=”ffffff” float=”left”
I’ve had some good feedback from a couple fellows using the report mock and today I released a new version to start incorporating it. SVUnit v1.4
includes a new UVM report mock.
Two significant changes… Continue reading