{"id":12739,"date":"2017-02-16T10:37:17","date_gmt":"2017-02-16T17:37:17","guid":{"rendered":"https:\/\/blogs.mentor.com\/verificationhorizons\/?p=12739"},"modified":"2026-03-27T08:38:06","modified_gmt":"2026-03-27T12:38:06","slug":"how-any-verification-engineer-can-quickly-create-a-complex-testbench","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/2017\/02\/16\/how-any-verification-engineer-can-quickly-create-a-complex-testbench\/","title":{"rendered":"How Any Verification Engineer Can Quickly Create a Complex Testbench"},"content":{"rendered":"<p>Over the past decade or so, the state of the art in design verification has taken a huge leap forward to meet the challenge of comprehensively-verifying designs that are mind-numbingly complex. The goal, of course, was to achieve more-comprehensive verification without radically increasing the resources applied to the task. Constrained-random stimulus helped engineers several orders of magnitude more stimulus using automation. Commercial verification IP provided engineers more-efficient ways to interact with complex interface protocols. The UVM brought reuse methodology to verification environments, both in terms of reuse of infrastructure and in terms of knowledge. All of these things increased how much a verification team could accomplish.<\/p>\n<p>Designs have continued to get more complex, and project cycles have continued to get shorter, and verification teams are now responsible for verifying even more. The key question, of course, is where to look to increase verification efficiency and achieve even more verification with the resources we have.<\/p>\n<p>There are several recognized areas of inefficiency with the verification process being used today. The good news, though, is that automation can be applied to bring efficiency to all of these areas!<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/54\/2017\/02\/TestbenchAutomationThreePillars.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-12740\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/54\/2017\/02\/TestbenchAutomationThreePillars-520x318.png\" alt=\"TestbenchAutomationThreePillars\" width=\"520\" height=\"318\" \/><\/a><\/p>\n<p><strong>UVM Framework<\/strong><\/p>\n<p>Setting up the structure of a complex UVM environment requires the creation of a significant amount of \u201cboilerplate\u201d code. As a consequence, it can take days or weeks to create the structure of a UVM environment from scratch. This becomes a key bottleneck when a team is responsible for verifying multiple designs per year.<\/p>\n<p>Mentor\u2019s UVM Framework helps verification engineers quickly generate the framework a UVM testbench environment \u2013 whether simple or complex. The UVM Framework scripts quickly take care of setting up key testbench structure, that can later be customized by the verification engineer. The end result is a functional testbench in a couple of hours instead of a few days or weeks.<\/p>\n<p><strong>Questa VIP Configurator\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/strong><\/p>\n<p>Verification IP insulates the verification engineer from understanding all the minutia of today\u2019s complex interface protocols. However, today\u2019s VIP is highly configurable to support all variants and use models of an interface protocol. Sifting through all the configuration options and selecting a proper and legal configuration is error prone and time consuming.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/54\/2017\/02\/VIPConfigurator.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-12741\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/54\/2017\/02\/VIPConfigurator-520x308.png\" alt=\"VIPConfigurator\" width=\"520\" height=\"308\" \/><\/a><\/p>\n<p>Questa VIP\u2019s configurator steps the verification engineer through the process of selecting a proper configuration for a VIP. The output of the Questa VIP configurator integrates with the UVM Framework, such that the configured VIP is easily and automatically be stitched into the UVM environment. This, of course, saves the verification engineer time both in terms of selecting a proper configuration, and in terms of integrating the configured VIP into the testbench environment!<\/p>\n<p><strong>Questa inFact<\/strong><\/p>\n<p>Directed tests are, of course, known to suffer from low test-creation productivity, and from the limitations of the test writer to envision corner cases. Constrained-random tests definitely boosted stimulus-generation raw productivity and helped to generate hard-to-envision corner cases. However, they also suffer from generating redundant tests (\u201crandom\u201d is right there in the name, of course), and from being difficult to steer. Furthermore, transaction-level constrained random really doesn\u2019t scale well to generating comprehensive scenarios.<\/p>\n<p>Questa inFact is a portable stimulus test tool that brings efficient and automated test generation to block, subsystem, and SoC-level verification environments. inFact allows a verification engineer to suppress redundant stimulus, and provides a high degree of control over focusing the generated stimulus. inFact enables extremely-efficient transaction-level verification, but also enables creation of comprehensive and reusable scenario-level tests. In both cases, enabling the verification engineer to accomplish more with the same resources.<\/p>\n<p><strong>Testbench Automation from Mentor Graphics<\/strong><\/p>\n<p>If you\u2019re attending DVCon, come see our tutorial titled <em>Testbench Automation : How to Create a Complex Testbench in a Couple of Hours<\/em>. Also, be sure to stop by the Mentor Graphics booth! We\u2019d love to talk with you about how you too can boost your verification productivity and verify more with the same resources!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the past decade or so, the state of the art in design verification has taken a huge leap forward&#8230;<\/p>\n","protected":false},"author":71642,"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":[663,759,799,825],"industry":[],"product":[],"coauthors":[],"class_list":["post-12739","post","type-post","status-publish","format-standard","hentry","category-news","tag-questa-infact","tag-testbench-automation","tag-uvm-framework","tag-verification-ip"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/12739","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\/71642"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/comments?post=12739"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/12739\/revisions"}],"predecessor-version":[{"id":19840,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/12739\/revisions\/19840"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/media?parent=12739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/categories?post=12739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/tags?post=12739"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/industry?post=12739"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/product?post=12739"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/coauthors?post=12739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}