Agile2012 Round-up: Day 4

It’s day 4 and time for an abbreviated post. Today I made it to the first session in the morning, hung around in the open space to listen in on some post-talk discussion and met some friends for lunch to talk about some open-source development.

But the big news of the day was that the final votes were counted and the winner of the Agile2012 Conference Gold Star Award for Outstanding Accidental Contribution To The Field Of Hardware Verification… or repeat winner would be more accurate… is Elisabeth Hendrickson! She was the big winner last year and she did it again this year by spending another hour with me today showing me how to use cucumber to write acceptance tests. She’s also helped get me thinking about the possibilities for next year’s conference so congratulations (and thank you :)). Continue reading

Agile2012 Round-up: Day 1

It’s a big week for agile software developers with Agile2012 officially starting today in Dallas.

Last year, Agile2011 was 5 action packed days and it’s looking like more of the same for Agile2012! After a late flight in last night and a solid 4 hours sleep (I had a late start from Calgary and an extra hour layover in Denver so I didn’t get into my room until about 2:15am), we’re off to a great start with today’s sessions. Continue reading

SVUnit 101 For Designers

If you read my last post, Why Use SVUnit?, you’ll see that someone responding to my announcement about SVUnit v0.1 on pointed out that I haven’t done an outstanding job of explaining why people would actually use SVUnit. Seems the last post took us a step in the right direction by explaining a little more about who can use and SVUnit and where they’d use it. You’ll see though that in the follow-up, krupan suggests I go a step further, which I agreed to… on one condition! Continue reading

Why Use SVUnit?

I recently came across the following comment on in response to my posting of a link to the first publicly available, v0.1 version of SVUnit…

I have attempted to read each of the blog posts about svunit, but they are mostly a bunch of arguments about why I should use it and how great testing is. Are there any code examples I could look at? I’m still not totally clear on what I should use svunit for. Is it for testing RTL design code? You mention being able to test UVM classes. Is it for testing my testbench code (which is so meta)? My team has talked about “micro testbenches” that designers could quickly write while developing, since UVM testbenches are beyond the scope of their need. Could svunit fill that need?

It’s pretty easy to spot the frustration in the first sentence. When someone talks about “attempting to read” something, it probably means they tried as hard as they could to get through it, hoping to eventually find what they were looking for and in the end they’ve come up short… which means I’ve come up short. Continue reading

TDD Applied To Testbench Development

When we were writing about TDD back in November 2011 during our TDD month, admittedly I had very little experience with it. The goal with TDD month was to spread the word and drum up a little interest in a technique the the software folks have been using successfully for years. I’d used it on a small scale but lacked the experience to back up a lot of what I was writing.

Over the last few months though, that’s changed. I’ve spent a good amount of time collecting feedback from and supporting SVUnit early adopters. That’s been good for getting a feel for how others in hardware development see TDD. Just as important, I’ve been using TDD myself to build testbenches and it’s been going well… very, very well. I’m at the point where I’m going through a pretty repeatable cycle that I think could be useful for others contemplating TDD. I’ve talked about this cycle before, but it’s worth revisiting now that I’ve been through it. Continue reading

Unit Testing And TDD: Too Different To Compare

Here’s another post inspired by James Grenning and his “TDD with C” tutorial. Going through an abbreviated version of that tutorial last year in Salt Lake City at Agile2011 was what got me started with TDD. It inspired TDD month on last November. It encouraged me to get knee deep into SVUnit and TDD of verification IP. It also, in part, motivated my Agile2012 submission: TDD and A New Paradigm For Hardware Verification.

My second time through it was at ESC in San Jose this past March. This time around, I found myself fascinated by some skepticism in the audience when a fellow piped up with the comment “I see the value of unit testing but it’s hard for me to see the extra value of TDD”.

It was easy to see it wasn’t the first time James had seen this kind of skepticism during one of his talks. His response was “My goal is to show the value of TDD… but if all I can do is convince you there’s value in unit testing and that’s as far as you get, that’s great, too. That’s a start.” Continue reading