5 Steps to Unit Testing Success

Seeing unit testing catch on and flourish with a new team has made the last few months at work pretty fun for me. Getting to this point, though, has been a ton of work. Considering the journey toward unit testing can have a lot of twist, turns, surprises and disappointments, I figured it would be a good time to recap in hopes my experience helps others grow unit testing within their teams. Continue reading

Simple Clock and Reset Support in SVUnit

Screen Shot 2016-04-28 at 8.54.17 AMIn a post a couple weeks ago called Sorry Design Engineers, I Can Do Better, I told design engineers that I’d do a better job of giving them what they need to unit test their RTL. I felt like I’ve been neglecting design engineers and decided I needed to set a new, more inclusive course. Tonight I took a first step in that direction. I’ve released SVUnit 3.10 with a simple clock and reset utility that’ll make it easier for design engineers to unit test synchronous and asynchronous logic. I also recorded a 25min code demo for design engineers to show how they can use SVUnit to unit test RTL modules. Continue reading

SVUnit for Chip Leads and Managers

Advanced verification methods put chip leads and managers at a real disadvantage, especially when it comes to visibility and predictability. With long testbench development times, early progress in constrained random is essentially based on trust; being random, the inherent uncertainty makes predictable scheduling and release milestones rare. Continue reading

Join the SVUnit User Group

One suggestion that came out of the SVUnit User Group Lunch last week during DVCon was a mailing list so that SVUnit users could keep in touch with questions, etc. Sounded good to me so I’ve set up an SVUnit User Group. It’s a google group. Anyone can join.

With the lunch being a great first step (for me it felt like a giant leap) in building a real community around SVUnit, my hope is that this is the natural next step giving us users an online home to congregate and support each other.

If you’re an SVUnit expert, someone entirely new to SVUnit or anyone in between, I hope you’ll join us in the SVUnit User Group to share your questions and experience!

-neil

SVUnit Training on Verification Academy

Screen Shot 2016-02-22 at 4.19.12 PMWe’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

SVUnit Improves Support for UVM

 

Version 3.8 of SVUnit, just released, improves support and usability for people unit testing UVM components.

Download the Latest Version of SVUnit from GitHubBut 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 XtremeEDA, are responsible for adding and testing the version 3.8 features. That makes Colleen and Dave the newest active contributors to SVUnit!

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

Inaugural SVUnit User Group Lunch

svunit-tagThe 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: neil.johnson@agilesoc.com. I’ll follow-up with details as they get sorted out.

-neil

Are You Using SVUnit?

svunit-tagFor 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

Introduction to SVUnit

svunit-tagOur SVUnit user base is growing… and I’d like to do what I can to help things along further. If you’re on a team that is:

  • interested in SVUnit but need a nudge to get going;
  • evaluating SVUnit and want to be sure it fits your need; or
  • using SVUnit and want to know you’re getting the most out of it

…I’m here to help. For teams looking to take the next steps with SVUnit, regardless of where you are now, I’d like to offer an hour of my time for an informal Q&A to address any questions or concerns. Contact me at neil.johnson@agilesoc.com to book a time.

-neil

Whatever Happened to UVM Express?

Back in February, 2012, Mentor started promoting a new method for building UVM testbenches. It was a 3 step method called UVM Express and it suggested a methodical way of adopting UVM by separately focusing on BFM development, coverage and stimulus. Mentor still has material on their website, but having heard very little of it since, I get the idea it fizzled out.

When it was first announced, I thought UVM Express was a great idea. Now I think it’s a shame that its disappeared. I know it’s almost 4 years later, but considering UVM seems here to stay for the foreseeable future, I’d like to see Mentor give UVM Express another shot. I’d like to see a UVM Express 2015. So much so that I’ve given Mentor a head start. Continue reading