Posted by Alex Seibulescu on May 25, 2011
The few of you who regularly read this blog, may have wondered what happened to my friend Coverage in the past 3 months. It turns out he has been on a worldwide quest to collect wisdom from verification experts near and far. The other day I bumped into him and he was clearly troubled. After some prodding he grudgingly admitted to his concerns. “People are amassing coverage data as if it was an inflation hedge”, he blurted. “Soon it will overwhelm them to the point where it will be difficult to extract useful information from it and they will start ignoring it”.
I left my friend thinking he was clearly exaggerating the extent of the problem. People get pessimistic streaks at times, after all, the other day the world was supposed to end according to some. But then I realized that indeed the temptation to trade off quality for quantity is great when it comes to writing and collecting coverage. Developing quality coverage targets, the kinds that give you the warm, cozy feeling of verification confidence is by no means trivial, whereas crossing a few signals and generating massive amounts of coverage targets that may or may not be relevant is a piece of cake. Besides storage is cheap, so why not collect it, we’ll figure out later what to do with it. To some degree this reminds me of how taking pictures has changed since digital cameras became ubiquitous. In the old days, your film could hold only so many pictures and they needed to be printed so a lot more thought went into releasing the shutter. These days I find myself clicking away voraciously, always thinking I will go and select the good pictures later which of course never happens. Disk is cheap, right? Well yes, but when a friend comes along and I want to boast about our latest vacation, I can quickly sense the boredom setting in after seeing the 10th version of the same picture. The essence of the vacation gets lost.
Back to our coverage problem. First, we need to make sure we create a quality coverage model, one that covers the test plan, no pun intended. Planning tools help to keep track of that to some extent but developing the coverage targets is still left to the skilled DV engineers. Second, we need to stop collecting coverage on targets that have been hit over and over and over again. Tools can help again by stopping to count after a specified limit. But then there’s a third component, one that has the potential to affect our coverage collection in a more subtle way. We all want to steer the stimulus towards hitting our coverage holes for reasons. But there is a flip side to this, how about steering the stimulus away from coverage that’s been hit over and over and over again? Kind of like a camera that makes you move and take different pictures all the time. I bet my friend will want one of those on his next worldwide tour.
"Coverage is by now pervasive in most verification flows but has in the modest opinion of this blogger, yet to reach its full potential. Although I have spent most of my 18 years in EDA (ouch!) on the R&D side, I have always been a good listener to our customers' concerns. My hope is that this blog will be an informal venue for all of us to explore how to push the benefits of Coverage and related methodologies to new levels" —Alex Seibulescu