Posted by Alex Seibulescu on August 2, 2010
Coverage and I got acquainted fairly late in my life. This has nothing to do with me getting old and my dear wife outfitting me with Abercrombie gear to cover my age, it has to do with me joining a startup called Nusym back in 2008. That’s when Coverage and I became friends. Nusym pioneered the technology that lies at the root of what the good marketing folks call “Coverage Convergence Technology”, “Intelligent Testbench” and some other tempting names that make even the most cold blooded verification engineer purr with anticipation. Nusym’s exciting technology has in the meantime become part of the Synopsys family and I have followed it partly out of loyalty to my friend Coverage.
I have been bothered for a while now by the way people generally refer to my friend Coverage and today is the day I will gather my courage and take a stand. You see, Coverage is often called just a metric to measure things like verification quality or project completness. First of all just a metric is demeaning for all metrics in the world. Metrics are important, they allow us to quantify the various activities we engage in and they give substance to the otherwise elusive notion of progress. In a recent blog, Janick referred to constrained random verification as a journey. Now think of your verification manager as the kids in the back of the car on this journey, the manager keeps asking “are we there yet, are we there yet?” and all you can do is point to the latest coverage numbers and say “be patient, we’re getting close”. So yes, my friend Coverage is also a metric but not just a metric, he is a very useful metric, a good friend in time of need and aggravated management eager to tape out definitely qualifies as time of need.
However, my friend Coverage is a lot more than a metric. Think again of the journey, only this time picture yourself as a road inspector whose job is to make sure all roads are in good shape. Sure, you can aimlessly drive on whatever road you fancy but you see, some roads are more important than others. Take for instance the roads around popular landmarks, amusement parks, shopping malls, etc. A lot of people travel on them so they better be safe. Functional coverage targets are the landmarks that need to be visited, they give random constrained verification direction and prioritize the paths that need to be explored. Today, the steering towards the landmarks that have been missed is a job better suited for voodoo practitioners. The car has no GPS oh and heck, there is even no driver at the wheel! The turns have to be decided in advance with only a very imprecise map available. Tomorrow however, some clever technology (a bell should be ringing at this point) may help make the map more precise and even better, put you, the verification engineer, behind the wheel.
Today my friend Coverage just sits on those landmarks and shouts “come here, come here” and that’s already plenty useful, but tomorrow he may be able to throw some crumbs along the way a la Hansel and Gretel or talk you through the turns you can take to get to him. Your journey will then be a lot more efficient and relaxing.
But for that, please don’t call him just a metric anymore.
"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