{"id":1236,"date":"2010-05-21T12:55:57","date_gmt":"2010-05-21T19:55:57","guid":{"rendered":"https:\/\/blogs.mentor.com\/verificationhorizons\/?p=1236"},"modified":"2026-03-27T08:44:38","modified_gmt":"2026-03-27T12:44:38","slug":"uvm-container","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/2010\/05\/21\/uvm-container\/","title":{"rendered":"An Extension to UVM: The UVM Container"},"content":{"rendered":"<h3><a href=\"http:\/\/www.ovmworld.org\/contributions-details.php?id=78&amp;keywords=UVM_Early_Adopter_Kit_Available_from_Accellera\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" style=\"margin-left: 0px;margin-right: 0px;border: 0pt none\" src=\"https:\/\/blogs.mentor.com\/verificationhorizons\/files\/2010\/05\/uvm-logo-thumb.jpg\" border=\"0\" alt=\"UVM_Logo\" width=\"117\" height=\"86\" align=\"right\" \/><\/a> Easier DUT to Testbench Connections<\/h3>\n<p>This package introduces a very simple class called uvm_container. In this package Mentor shows how to use this class to link a Design Under Test (DUT) and a testbench.\u00a0 The UVM Container can be downloaded <a href=\"http:\/\/www.ovmworld.org\/contributions-details.php?id=79&amp;keywords=UVM_Container_-_Easier_DUT_to_TB_connections#\" target=\"_blank\" rel=\"noopener\">here<\/a> as a companion to the <a href=\"http:\/\/www.accellera.org\/\" target=\"_blank\" rel=\"noopener\">Accellera<\/a> UVM 1.0 EA.<\/p>\n<p>This extension also introduces the dual top methodology. This methodology isolates the connections between the DUT and interface in a protocol module as well as provide a convenient site to add protocol specific assertions.\u00a0 These protocol modules automatically register the virtual interface with the UVM configuration using the uvm_container so that they can be used later by the testbench.<\/p>\n<p>A technical paper, <em>UVM Configuration and Virtual Interfaces<\/em>, accompanies the UVM Container extension in the docs directory.\u00a0 The paper explores some more complex issues related to the best use of the configuration in the context of large, scalable testbenches. The two examples provide small but sufficiently complicated examples of this methodology.<\/p>\n<p>This package will be of interest to anyone who has struggled to find a consistent and scalable methodology to integrate a DUT and testbench using the UVM configuration mechanism.\u00a0 It has been built to work with <a href=\"http:\/\/www.ovmworld.org\/contributions-details.php?id=78&amp;keywords=UVM_Early_Adopter_Kit_Available_from_Accellera\" target=\"_blank\" rel=\"noopener\">UVM 1.0 EA<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Easier DUT to Testbench Connections This package introduces a very simple class called uvm_container. In this package Mentor shows how&#8230;<\/p>\n","protected":false},"author":71541,"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,787,827],"industry":[],"product":[],"coauthors":[],"class_list":["post-1236","post","type-post","status-publish","format-standard","hentry","category-news","tag-accellera","tag-uvm","tag-verification-methodology"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/1236","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\/71541"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/comments?post=1236"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/1236\/revisions"}],"predecessor-version":[{"id":14656,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/posts\/1236\/revisions\/14656"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/media?parent=1236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/categories?post=1236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/tags?post=1236"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/industry?post=1236"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/product?post=1236"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/verificationhorizons\/wp-json\/wp\/v2\/coauthors?post=1236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}