{"id":14089,"date":"2020-04-15T12:48:11","date_gmt":"2020-04-15T19:48:11","guid":{"rendered":"https:\/\/blogs.mentor.com\/verificationhorizons\/?p=14089"},"modified":"2026-03-27T08:40:04","modified_gmt":"2026-03-27T12:40:04","slug":"how-to-increase-uvm-code-generation-productivity","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/2020\/04\/15\/how-to-increase-uvm-code-generation-productivity\/","title":{"rendered":"How to Increase UVM Code Generation Productivity"},"content":{"rendered":"<p>I think most project teams agree that there is a lot of benefit in adopting UVM in terms of improving verification productivity and quality. Yet, let\u2019s face it, for someone getting started with UVM it can be overwhelming and a steep learning curve. To address this, we have developed the UVM Framework (UVMF), which provides both a jump-start for learning UVM and a code generator for automating the creation of UVM verification environments.\u00a0 The great thing about UVMF is that it is free and available for download out on the Verification Academy. And, we have just released UVMF version 2020.1 with numerous updates and enhancements. In addition to the UVM code generators and documentation, we also offer the <em><a href=\"https:\/\/verificationacademy.com\/courses\/UVM-Framework-One-Bite-at-a-Time\" target=\"_blank\" rel=\"noopener\">UVM Framework &#8211; One Bite at a Time<\/a><\/em> course, also free out on the Verification Academy. This extensive consist of eighteen video training sessions covering all aspects of UVMF in small consumable portions.<\/p>\n<p><a href=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/54\/2020\/04\/IMG_3919.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-14090\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/54\/2020\/04\/IMG_3919-520x242.jpg\" alt=\"\" width=\"520\" height=\"242\" \/><\/a><\/p>\n<p>So what is UVMF? The UVM Framework is a reuse methodology that verification teams can leverage.\u00a0 It supports component level verification reuse across projects and environment reuse from block through chip to system level simulation.\u00a0 The UVM Framework is an established UVM use model that is in use at many companies in multiple industries across North America and Europe.<\/p>\n<p>UVMF defines an architecture and reuse methodology upon UVM, enabling teams new to UVM to be productive from the beginning while coming up the UVM learning curve.\u00a0 The UVM code generator (provided free in the UVMF download) automates the creation of the files, infrastructure and interconnect for interface packages, environment packages and project benches.\u00a0 Interface packages, environment packages, and project benches are characterized using YAML or a python API.\u00a0 The UVMF generator uses these characterizations to create UVM source.\u00a0 Once generated, developers can promptly focus on adding functionality specific to the design and interfaces used.<\/p>\n<p>One of the key features of the UVM Framework is that it provides an architecture that supports both pure simulation as well as accelerated simulation using emulation.\u00a0 This enables the creation of a single unified environment that supports block, subsystem, chip and system level tests, and with the choice of running on a pure simulation platform (e.g. Questa) or a hardware-assisted acceleration platform using emulation (e.g. Veloce and Strato).<\/p>\n<p>For additional information on <a href=\"https:\/\/verificationacademy.com\/courses\/UVM-Framework-One-Bite-at-a-Time\" target=\"_blank\" rel=\"noopener\">UVMF version 2020.1<\/a>, visit the <a href=\"https:\/\/verificationacademy.com\/\" target=\"_blank\" rel=\"noopener\">Verification Academy<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I think most project teams agree that there is a lot of benefit in adopting UVM in terms of improving&#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":[326,457,504,506,718,787,810],"industry":[],"product":[],"coauthors":[],"class_list":["post-14089","post","type-post","status-publish","format-standard","hentry","category-news","tag-accellera","tag-emulation","tag-functional-coverage","tag-functional-verification","tag-simulation","tag-uvm","tag-uvmf"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/14089","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=14089"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/14089\/revisions"}],"predecessor-version":[{"id":19892,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/14089\/revisions\/19892"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/media?parent=14089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/categories?post=14089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/tags?post=14089"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/industry?post=14089"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/product?post=14089"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/coauthors?post=14089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}