The last 2 days at DVCon have been about the best possible for SVUnit. Maybe even better than that.
First was the poster sessions on Tuesday just before lunch. Josh Rensch and I had a paper called Do You Verify Your Verification Components. Being that this was my first time to DVCon, I had no idea how the turn out would be and/or whether or not people would be interested enough in the paper to stop and discuss it. To be honest, I had prepared myself to just stand there for 90min while people walked by. Thankfully that didn’t happen.
Even though it was a paper about testing testbench IP that talked about TDD and SVUnit – none of which are remotely close to being mainstream ideas – people were actually interested. Lots of questions, lots of great discussion and I got the feeling there was actual acceptance which was a tad surreal. Credit goes to Josh for taking the lead on writing the paper and putting together the poster. He did most of the work. I was in the car on my way back to the hotel when I got a text from him saying we got a 3rd place award for the paper. Pretty cool.
That was Tuesday. The highlight from Wednesday was the SVUnit User Group Lunch. Full disclosure: I was nervous about this from the moment we started planning it. Never before attempted by me. I wasn’t sure people would show up. That and I doubted we would have enough to talk about. Happy to say, though, that the lunch went better than I could have hoped. Way better.
We had 18 people in total, which is about a dozen more than I thought was possible. There was a perfect mix of experts, soon-to-be-experts, people who’ve been interested in SVUnit but haven’t had a chance to get started and others who didn’t really know much about it. I did my best to get the discussion rolling and then everyone else just kind of took over. It was ideal.
Thanks to everyone that came to the lunch, spoke up, asked questions, chimed in with opinions, signed the SVUnit banner and posed for a picture (extra thanks to my colleague Rich DesMarais for organizing). It was a pretty special day. I felt like this was a big step in building a community around SVUnit. Hopefully, it’s the first of many!
We’ve hit a notable day in SVUnit history today with an hour training course going live on Mentor’s Verification Academy.
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… Continue reading
Version 3.8 of SVUnit, just released, improves support and usability for people unit testing UVM components.
XtremeEDA, are responsible for adding and testing the version 3.8 features. That makes Colleen and Dave the newest active contributors to SVUnit!
But before we talk about new features, I want to mention that the cool part of this release… for me anyway… is that I didn’t have to do anything! Colleen Piercey and Dave Read, colleagues of mine from
As far as new 3.8 features, people can now use create_unit_test.pl to generate a UVM specific test case template. The template gives test writers placeholders for connectivity in an auto-generated UUT wrapper. It also inserts file includes, package imports and required function calls in the setup and teardown to avoid people having to do it themselves. Importantly, the new UVM test case template compiles and runs with UVM as-generated so you start writing tests from a known good state. Continue reading
The inaugural SVUnit User Group Lunch will take place the week of DVCon in San Jose. Bringing SVUnit users together is something I’ve wanted to do for a while. So much so that I’ve held off using the word ‘inaugural’ for my entire life, saving it for exactly this moment!
Details are still being worked out, but so far it’s looking like lunch time, Wednesday March 2, somewhere near the Doubletree Hotel in San Jose. It’ll be an informal gathering where developers that are either using, evaluating or thinking of using SVUnit can get together, get to know each other and share experience and opinions. We’ll have room for about a dozen people (happy to say I’ve got 3 confirmed already).
This is an important community building exercise that I’m pretty excited about. With the SVUnit user base growing, now seems like the right time to start learning from each other. If you’re an SVUnit user and/or you want to meet other SVUnit users over lunch, please let me know at: email@example.com. I’ll follow-up with details as they get sorted out.
For me, 2016 starts with new work on SVUnit…
- I’ll be doing a little work on the library itself, adding some new UVM support and updated scripting
- I’ve got an article in the works for testing UVM checkers with SVUnit
- A bigger job is polishing off an hour long unit testing training module (I’m hoping I get through that by the end of January so it’s done and posted before DVCon)
- I’m thinking of doing another real-time Q&A/discussion with SVUnit users
Given the last couple bullets on my todo list, I’m hoping there are a few people out there that will help me out… Continue reading
I figured the new user guide made SVUnit look like a real product. And since real products have a logo, I stayed up late one night and did logo. But if it has a logo, shouldn’t it also have a tagline? I guess, so now it has a tagline. But having a tagline means… well… you get the idea.
(For anyone curious about what goes on in my head, we’ve reached the point of real-time brain dump. It happens to me once in a while. Not sure how long it’ll last. Hopefully it’s entertaining.)
While I find reading EDA user guides hard enough, writing them is way worse, which is why I’ve avoided it for as long as I have. Alas, with usage of SVUnit growing pretty steady and people hinting for better instruction, I figured it was finally time to get something out there.
So whether you’re new to SVUnit or you’re a seasoned SVUnit old-timer, the SVUnit User Guide will probably have some useful tidbits of information to improve your experience. It’s in a state of incomplete so far, but useful nonetheless. It’ll slowly come together toward a state of completeness over the next few weeks.
As always, feedback is welcome at firstname.lastname@example.org.
Slacking off? Me?? I guess maybe I have been because someone finally got sick of waiting for me to get to a new SVUnit feature and added it themselves…
…and that made me happy.
As of 2 about weeks ago, Tudor Timisescu is the latest addition to the list of active SVUnit developers-at-large. That brings us to a grand total of 1… which is 1 more than the 0 we had before! Continue reading
You’ve started doing TDD or unit testing your systemverilog code with SVUnit, your defect rate is down and you’re producing better code. You’re at the point where your experience could benefit the rest of your team but you’re not sure how to get the point across.
What do you do? Continue reading
I just posted version 3.1 of SVUnit to GitHub. If you’ve been waiting patiently for me to get rid of the makefiles, the wait is over. From here on, we’ve got a simple command line script to run SVUnit unit tests with any of IUS, Questa, Modelsim, Riviera PRO and VCS.
The best place to start with version 3.1 is the README.txt in the release package. Pay attention to step 5 because that’s where everything changes (for the simpler and better). All the code in the release package, including the examples, has been updated to match the new scripts so there shouldn’t be anything misleading in there. Also exciting is that all the documentation has been removed (it was incredibly out-of-date and misleading to say the least). I still need to update the SVUnit on demand videos which I’ll do as soon as I can.
Lastly, here’s the usage for the new run script that I’ve been touching up over the past several weeks…
If you spot anything that needs attention, I’d appreciate it if you could file a ticket. Touch-ups should be easy to turn around quickly. FYI… the next updates I’m considering are support for UVM1.2 and parameterized unit test classes as well as a few other things people have been asking for.
Thanks to those that gave feedback and helped get us to version 3.1!