{"id":402,"date":"2009-12-14T20:45:15","date_gmt":"2009-12-15T03:45:15","guid":{"rendered":"https:\/\/blogs.mentor.com\/verificationhorizons\/?p=402"},"modified":"2026-03-27T08:33:35","modified_gmt":"2026-03-27T12:33:35","slug":"evolution-is-a-tinkerer","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/2009\/12\/14\/evolution-is-a-tinkerer\/","title":{"rendered":"Evolution is a tinkerer"},"content":{"rendered":"<p class=\"MsoNormal\"><span><span>I was recently quoted in an <span><span><a href=\"http:\/\/www.edadesignline.com\/guest_blogs\/221901260\" target=\"_blank\" rel=\"noopener\">EDA DesignLine<\/a><\/span><\/span> blog as saying that \u201cit is a myth that ABV is a mainstream technology.\u201d Actually, the original quote comes from an extended abstract I wrote for an invited tutorial at Computer-Aided Engineering (CAV) in 2008 titled <span><a href=\"http:\/\/www.springerlink.com\/content\/mn33743226652759\/\" target=\"_blank\" rel=\"noopener\">Assertion-Based Verification: Industry Myths to Realities<span>.<\/span><\/a> <\/span>My claim is based on the Farwest Research 2007 study (comissioned and sponsored by Mentor Graphics) that found approximately 37 percent of the industry had adopted simulation-based ABV techniques, and 19 percent of the industry had adopted formal ABV techniques. Now, those of you who know me know that I am an optimist\u2014and therefore the statistics from these industry studies reveal a wonderful opportunity for design projects to improve themselves. \ud83d\ude09 <\/span><span>However, the problem of adopting advanced functional verification techniques is not just limited to ABV.<span>\u00a0 <\/span>For example, the study revealed that only 48 percent of the industry performs code coverage. Let me repeat that, I said code coverage, not even something as exotic as functional coverage (which was observed to be about 40 percent\u00a0of the industry)! Furthermore, only about 41 percent of the industry has adopted constrained random verification. <\/span><\/span><span><a rel=\"attachment wp-att-404 noopener\" href=\"https:\/\/blogs.mentor.com\/verificationhorizons\/blog\/2009\/12\/14\/evolution-is-a-tinkerer\/image001\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-404\" src=\"https:\/\/blogs.mentor.com\/verificationhorizons\/files\/2009\/12\/image001-520x390.gif\" alt=\"Advanced Functional Verification Adoption\" width=\"520\" height=\"390\" \/><\/a><\/span><\/p>\n<p class=\"MsoNormal\"><span>Now, we could argue about which is the best approach to measuring coverage or achieving functional closure, but that is not the point. The question is, how do we as an industry evolve our verification capabilities beyond 1990 best practices?<\/span><\/p>\n<p class=\"MsoNormal\"><span>In my mind, one of the first steps in the evolutionary process is to define a model for assessing an organization\u2019s existing verification capabilities. For a number of years I\u2019ve studied variants of the Capability Maturity Model Integration (that is, CMM and CMMI) as a possible tool for assessment. After numerous discussions with many industry thought leaders and experts, I\u2019ve concluded that the CMM is really not an ideal model for assessing hardware organizations. Nonetheless, there is certainly a lot we can learn from observing CMM applied on actual software projects.<\/span><\/p>\n<p class=\"MsoNormal\"><span>For those of you unfamiliar with the CMM, its origins date back to the early 1980\u2019s. During this period, the United States Department of Defense established the Software Engineering Institute at Carnegie Mellon University in response to a perceived software development crisis related to escalating development costs and quality problems. One of the key contributions resulting from this effort was the published work titled The Capability Maturity Model: Guidelines for Improving the Software Process. The CMM is a framework for assessing effective software process, which provides an evolutionary path for improving an organization\u2019s processes from ad hoc, immature processes to developed, mature, disciplined ones. <\/span><\/p>\n<p class=\"MsoNormal\"><span>Fundamental to maturing an organization\u2019s process capabilities is an investment in developing skills within the organization. To assist in this effort, we have launched an ambitious project to evolve an organization\u2019s advanced functional verification skills through the <a href=\"http:\/\/verification-academy.mentor.com\/\" target=\"_blank\" rel=\"noopener\">Verification Academy<\/a>. In fact, we have an introductory module titled <a href=\"http:\/\/verification-academy.mentor.com\/content\/evolving-capabilities-module\" target=\"_blank\" rel=\"noopener\">Evolving Capabilities<\/a> that provides my first attempt at a simple assessment model. I anticipate that this model will itself evolve over time as I receive valuable feedback on refining and improving it. Nonetheless, the simple Evolving Capabilities model as it exists today provides a wonderful framework for organizing multiple modules focused on evolving an organization\u2019s advanced functional verification capabilities. <\/span><\/p>\n<p class=\"MsoNormal\"><span>I realize that evolving technical skills is obviously only part of the solution to successfully advancing the industry\u2019s functional verification capabilities. Yet, education is an important step. I\u2019d be interested in hearing your thoughts on the subject. Why do you think the industry as a whole has been slow in its adoption of advanced functional verification techniques? What can be done to improve this situation?<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was recently quoted in an EDA DesignLine blog as saying that \u201cit is a myth that ABV is a&#8230;<\/p>\n","protected":false},"author":71592,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[350,820],"industry":[],"product":[],"coauthors":[],"class_list":["post-402","post","type-post","status-publish","format-standard","hentry","category-news","tag-assertion-based-verification","tag-verification-academy"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/users\/71592"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/comments?post=402"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/402\/revisions"}],"predecessor-version":[{"id":19716,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/402\/revisions\/19716"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/media?parent=402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/categories?post=402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/tags?post=402"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/industry?post=402"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/product?post=402"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/coauthors?post=402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}