Local UVM Components Aren’t Local

Here’s a tips-n-tricks tidbit for the functional verification engineers in the crowd that are using UVM. You may have found yourself in this situation before, you’re using IP developed by somebody else and that person has deemed a certain UVM component within that IP untouchable by declaring it local. You really need access to that component though because you need to hack its state for a really, really good reason. Sure you could follow the advice of the original developer, leave the component local and find an appropriate work around. Or you could just disregard the fact that it’s local and hack it anyway. Continue reading

Why You Should Go to an Agile Software Conference

It’s that time of year again and people are scrambling to put together conference proposals, with fingers crossed, for the annual Agile Conference in August. This year it’s Agile2013 in Nashville and I, like the others, am scrambling.

Screen Shot 2013-01-22 at 8.58.39 PMI have 2 proposals in this year. Just like the last couple years, the open and interactive submission system has been great for tuning my proposals. Unlike the last couple years, there seems there’s nowhere for a hardware fella to hide. No Embedded Agile stage. No Emerging Applications of Agile stage. This year we’ve been thrown in with the big dogs and it’s getting a tad harder to appear relavent. Continue reading

Property-Driven Development in Hardware

So this is one of those posts where after a short conversation with a colleague, something jumps into my head and I end up asking myself I wonder if this makes sense? The idea has to do with formal verification, which is not my area of expertise, so I figured the best thing for me to do is just get it out. From there, real experts can discuss whether or not it makes sense (or maybe it’s something experts already do in which case I’m late to the party and would appreciate somebody straightening me out :)). Continue reading

My Commitment to Agile Hardware Development

IMG292You’re in a training course. It’s noon on Friday and more than four days have just flown by. You’ve covered several different topics; some you like and some you don’t. A few you want to start using; others not so much. You’ve learned a lot of new things and it’s been a great week. On Monday though you’re going to get thrown into the deep end, all by yourself, where you’ll need to apply your new knowledge. What do you do?

This is what we did.

In early December I delivered a week of hardware TDD training. It was a good week with lots of questions and discussion (not to mention a lot of TDD’ing). At the conclusion of the week, we needed a way to help the team take what we practiced and carry it over to the following Monday and beyond. We had a few choices: Continue reading