| <html><head><title>Factory Component and Object Wrappers</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!-- |
| if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script> |
| |
| <!-- Generated by Natural Docs, version Development Release 01-12-2008 (1.35 base) --> |
| <!-- http://www.naturaldocs.org --> |
| |
| <!-- saved from url=(0026)http://www.naturaldocs.org --> |
| |
| |
| |
| |
| |
| |
| |
| |
| <!--TOP - START OF CONTENT--> |
| <div id=Content> |
| |
| |
| <!--CONTENT index=0 --> |
| <div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Factory_Component_and_Object_Wrappers" href="../../src/base/uvm_registry.svh">Factory Component and Object Wrappers</a></h1><div class=CBody> |
| |
| <!--START_ND_SUMMARY index=0--> |
| <div class=Summary><div class=STitle>Contents</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=0 --> |
| |
| <tr class="SMain"><td class=SEntry><a href="#Factory_Component_and_Object_Wrappers" >Factory Component and Object Wrappers</a></td><td class=SDescription></td></tr> |
| <!-- index=1 --> |
| |
| <tr class="SGeneric"><td class=SEntry><a href="#Intro" >Intro</a></td><td class=SDescription>This section defines the proxy component and object classes used by the factory. </td></tr> |
| <!-- index=2 --> |
| |
| <tr class="SSMethod SMarked"><td class=SEntry><a href="#uvm_component_registry#(T,Tname)" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">uvm_component_registry #(T,Tname)</a></td><td class=SDescription>The uvm_component_registry serves as a lightweight proxy for a component of type <i>T</i> and type name <i>Tname</i>, a string. </td></tr> |
| <!-- index=10 --> |
| |
| <tr class="SSMethod"><td class=SEntry><a href="#uvm_object_registry#(T,Tname)" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">uvm_object_registry #(T,Tname)</a></td><td class=SDescription>The uvm_object_registry serves as a lightweight proxy for a <a href="uvm_object-svh.html#uvm_object" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">uvm_object</a> of type <i>T</i> and type name <i>Tname</i>, a string. </td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=1 --> |
| <div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Intro" href="../../src/base/uvm_registry.svh">Intro</a></h3><div class=CBody><p>This section defines the proxy component and object classes used by the factory. To avoid the overhead of creating an instance of every component and object that get registered, the factory holds lightweight wrappers, or proxies. When a request for a new object is made, the factory calls upon the proxy to create the object it represents.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=2 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_component_registry#(T,Tname)" href="../../src/base/uvm_registry.svh">uvm_component_registry #(T,Tname)</a></h2><div class=CBody><p>The uvm_component_registry serves as a lightweight proxy for a component of type <i>T</i> and type name <i>Tname</i>, a string. The proxy enables efficient registration with the <a href="uvm_factory-svh.html#uvm_factory" class=LClass id=link12 onMouseOver="ShowTip(event, 'tt11', 'link12')" onMouseOut="HideTip('tt11')">uvm_factory</a>. Without it, registration would require an instance of the component itself.</p><p>See <a href="../overviews/tlm1-txt.html#Usage" class=LGroup id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">Usage</a> section below for information on using uvm_component_registry.</p> |
| |
| <!--START_ND_SUMMARY index=2--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=2 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_component_registry#(T,Tname)" id=link5 onMouseOver="ShowTip(event, 'tt1', 'link5')" onMouseOut="HideTip('tt1')">uvm_component_registry #(T,Tname)</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The uvm_component_registry serves as a lightweight proxy for a component of type <i>T</i> and type name <i>Tname</i>, a string. </td></tr> |
| |
| <!-- HIERARCHY --> |
| <tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td></tr> |
| <tr class="SPrototype SIndent1"><td colspan=2 class=SDescription> |
| <div class=ClassHierarchy> |
| <table border=0 cellspacing=0 cellpadding=0> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_factory-svh.html#uvm_object_wrapper" class=LClass id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">uvm_object_wrapper</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>uvm_component_registry#(T,Tname)</div></div></td></tr> |
| </table> |
| </div> |
| </td></tr> |
| |
| |
| |
| <!-- PROTOTYPE --> |
| <tr class="SPrototype SIndent1"><td colspan=2 class="SEntry SIndent1">Class Declaration</td></tr> |
| <tr class="SPrototype SIndent1"><td colspan=2 class=SDescription> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>class uvm_component_registry #(</td> </tr><tr><td> </td> <td class=PType nowrap>type </td> |
| <td class=PParameter nowrap>T</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>uvm_component,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>Tname</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"<unknown>"</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>) extends uvm_object_wrapper</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| </td></tr> |
| |
| <!-- index=3 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=4 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).create_component" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">create_component</a></td><td class=SDescription>Creates a component of type T having the provided <i>name</i> and <i>parent</i>. </td></tr> |
| <!-- index=5 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).get_type_name" id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">get_type_name</a></td><td class=SDescription>Returns the value given by the string parameter, <i>Tname</i>. </td></tr> |
| <!-- index=6 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).get" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">get</a></td><td class=SDescription>Returns the singleton instance of this type. </td></tr> |
| <!-- index=7 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).create" id=link9 onMouseOver="ShowTip(event, 'tt8', 'link9')" onMouseOut="HideTip('tt8')">create</a></td><td class=SDescription>Returns an instance of the component type, <i>T</i>, represented by this proxy, subject to any factory overrides based on the context provided by the <i>parent</i>’s full name. </td></tr> |
| <!-- index=8 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).set_type_override" id=link10 onMouseOver="ShowTip(event, 'tt9', 'link10')" onMouseOut="HideTip('tt9')">set_type_override</a></td><td class=SDescription>Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type, <i>T</i>, represented by this proxy, provided no instance override applies. </td></tr> |
| <!-- index=9 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_component_registry#(T,Tname).set_inst_override" id=link11 onMouseOver="ShowTip(event, 'tt10', 'link11')" onMouseOut="HideTip('tt10')">set_inst_override</a></td><td class=SDescription>Configures the factory to create a component of the type represented by <i>override_type</i> whenever a request is made to create an object of the type, <i>T</i>, represented by this proxy, with matching instance paths. </td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=3 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).Methods" href="../../src/base/uvm_registry.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=4 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).create_component" href="../../src/base/uvm_registry.svh">create_component</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=3>virtual function uvm_component create_component (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap width=100%>name,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap width=100%>parent</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=3>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Creates a component of type T having the provided <i>name</i> and <i>parent</i>. This is an override of the method in <a href="uvm_factory-svh.html#uvm_object_wrapper" class=LClass id=link14 onMouseOver="ShowTip(event, 'tt4', 'link14')" onMouseOut="HideTip('tt4')">uvm_object_wrapper</a>. It is called by the factory after determining the type of object to create. You should not call this method directly. Call <a href="#uvm_component_registry#(T,Tname).create" class=LMethod id=link15 onMouseOver="ShowTip(event, 'tt8', 'link15')" onMouseOut="HideTip('tt8')">create</a> instead.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=5 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).get_type_name" href="../../src/base/uvm_registry.svh">get_type_name</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name() |
| </td></tr></table></blockquote><div class=CBody><p>Returns the value given by the string parameter, <i>Tname</i>. This method overrides the method in <a href="uvm_factory-svh.html#uvm_object_wrapper" class=LClass id=link16 onMouseOver="ShowTip(event, 'tt4', 'link16')" onMouseOut="HideTip('tt4')">uvm_object_wrapper</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=6 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).get" href="../../src/base/uvm_registry.svh">get</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get() |
| </td></tr></table></blockquote><div class=CBody><p>Returns the singleton instance of this type. Type-based factory operation depends on there being a single proxy instance for each registered type.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=7 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).create" href="../../src/base/uvm_registry.svh">create</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function T create(</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>contxt</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Returns an instance of the component type, <i>T</i>, represented by this proxy, subject to any factory overrides based on the context provided by the <i>parent</i>’s full name. The <i>contxt</i> argument, if supplied, supersedes the <i>parent</i>’s context. The new instance will have the given leaf <i>name</i> and <i>parent</i>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=8 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).set_type_override" href="../../src/base/uvm_registry.svh">set_type_override</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_type_override (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>replace</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>1</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type, <i>T</i>, represented by this proxy, provided no instance override applies. The original type, <i>T</i>, is typically a super class of the override type.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=9 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_component_registry#(T,Tname).set_inst_override" href="../../src/base/uvm_registry.svh">set_inst_override</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_inst_override(</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>inst_path,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Configures the factory to create a component of the type represented by <i>override_type</i> whenever a request is made to create an object of the type, <i>T</i>, represented by this proxy, with matching instance paths. The original type, <i>T</i>, is typically a super class of the override type.</p><p>If <i>parent</i> is not specified, <i>inst_path</i> is interpreted as an absolute instance path, which enables instance overrides to be set from outside component classes. If <i>parent</i> is specified, <i>inst_path</i> is interpreted as being relative to the <i>parent</i>’s hierarchical instance path, i.e. <i>{parent.get_full_name(),”.”,inst_path}</i> is the instance path that is registered with the override. The <i>inst_path</i> may contain wildcards for matching against multiple contexts.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=10 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_object_registry#(T,Tname)" href="../../src/base/uvm_registry.svh">uvm_object_registry #(T,Tname)</a></h2><div class=CBody><p>The uvm_object_registry serves as a lightweight proxy for a <a href="uvm_object-svh.html#uvm_object" class=LClass id=link27 onMouseOver="ShowTip(event, 'tt3', 'link27')" onMouseOut="HideTip('tt3')">uvm_object</a> of type <i>T</i> and type name <i>Tname</i>, a string. The proxy enables efficient registration with the <a href="uvm_factory-svh.html#uvm_factory" class=LClass id=link28 onMouseOver="ShowTip(event, 'tt11', 'link28')" onMouseOut="HideTip('tt11')">uvm_factory</a>. Without it, registration would require an instance of the object itself.</p><p>See <a href="#uvm_object_registry#(T,Tname).Usage" class=LGroup id=link29 onMouseOver="ShowTip(event, 'tt19', 'link29')" onMouseOut="HideTip('tt19')">Usage</a> section below for information on using uvm_component_registry.</p> |
| |
| <!--START_ND_SUMMARY index=10--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=10 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_object_registry#(T,Tname)" id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">uvm_object_registry #(T,Tname)</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The uvm_object_registry serves as a lightweight proxy for a <a href="uvm_object-svh.html#uvm_object" class=LClass id=link19 onMouseOver="ShowTip(event, 'tt3', 'link19')" onMouseOut="HideTip('tt3')">uvm_object</a> of type <i>T</i> and type name <i>Tname</i>, a string. </td></tr> |
| |
| <!-- HIERARCHY --> |
| <tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td></tr> |
| <tr class="SPrototype SIndent1"><td colspan=2 class=SDescription> |
| <div class=ClassHierarchy> |
| <table border=0 cellspacing=0 cellpadding=0> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_factory-svh.html#uvm_object_wrapper" class=LClass id=link17 onMouseOver="ShowTip(event, 'tt4', 'link17')" onMouseOut="HideTip('tt4')">uvm_object_wrapper</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>uvm_object_registry#(T,Tname)</div></div></td></tr> |
| </table> |
| </div> |
| </td></tr> |
| |
| |
| |
| <!-- PROTOTYPE --> |
| <tr class="SPrototype SIndent1"><td colspan=2 class="SEntry SIndent1">Class Declaration</td></tr> |
| <tr class="SPrototype SIndent1"><td colspan=2 class=SDescription> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>class uvm_object_registry #(</td> </tr><tr><td> </td> <td class=PType nowrap>type </td> |
| <td class=PParameter nowrap>T</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>uvm_object,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>Tname</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"<unknown>"</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>) extends uvm_object_wrapper</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| </td></tr> |
| |
| <!-- index=11 --> |
| |
| <tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).create_object" id=link20 onMouseOver="ShowTip(event, 'tt13', 'link20')" onMouseOut="HideTip('tt13')">create_object</a></td><td class=SDescription>Creates an object of type <i>T</i> and returns it as a handle to a <a href="uvm_object-svh.html#uvm_object" class=LClass id=link21 onMouseOver="ShowTip(event, 'tt3', 'link21')" onMouseOut="HideTip('tt3')">uvm_object</a>. </td></tr> |
| <!-- index=12 --> |
| |
| <tr class="SMethod SIndent1"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).get_type_name" id=link22 onMouseOver="ShowTip(event, 'tt14', 'link22')" onMouseOut="HideTip('tt14')">get_type_name</a></td><td class=SDescription>Returns the value given by the string parameter, <i>Tname</i>. </td></tr> |
| <!-- index=13 --> |
| |
| <tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).get" id=link23 onMouseOver="ShowTip(event, 'tt15', 'link23')" onMouseOut="HideTip('tt15')">get</a></td><td class=SDescription>Returns the singleton instance of this type. </td></tr> |
| <!-- index=14 --> |
| |
| <tr class="SMethod SIndent1"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).create" id=link24 onMouseOver="ShowTip(event, 'tt16', 'link24')" onMouseOut="HideTip('tt16')">create</a></td><td class=SDescription>Returns an instance of the object type, <i>T</i>, represented by this proxy, subject to any factory overrides based on the context provided by the <i>parent</i>’s full name. </td></tr> |
| <!-- index=15 --> |
| |
| <tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).set_type_override" id=link25 onMouseOver="ShowTip(event, 'tt17', 'link25')" onMouseOut="HideTip('tt17')">set_type_override</a></td><td class=SDescription>Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type represented by this proxy, provided no instance override applies. </td></tr> |
| <!-- index=16 --> |
| |
| <tr class="SMethod SIndent1"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).set_inst_override" id=link26 onMouseOver="ShowTip(event, 'tt18', 'link26')" onMouseOut="HideTip('tt18')">set_inst_override</a></td><td class=SDescription>Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type represented by this proxy, with matching instance paths. </td></tr> |
| <!-- index=17 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_object_registry#(T,Tname).Usage" >Usage</a></td><td class=SDescription>This section describes usage for the uvm_*_registry classes.</td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=11 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).create_object" href="../../src/base/uvm_registry.svh">create_object</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function uvm_object create_object(</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Creates an object of type <i>T</i> and returns it as a handle to a <a href="uvm_object-svh.html#uvm_object" class=LClass id=link30 onMouseOver="ShowTip(event, 'tt3', 'link30')" onMouseOut="HideTip('tt3')">uvm_object</a>. This is an override of the method in <a href="uvm_factory-svh.html#uvm_object_wrapper" class=LClass id=link31 onMouseOver="ShowTip(event, 'tt4', 'link31')" onMouseOut="HideTip('tt4')">uvm_object_wrapper</a>. It is called by the factory after determining the type of object to create. You should not call this method directly. Call <a href="#uvm_object_registry#(T,Tname).create" class=LMethod id=link32 onMouseOver="ShowTip(event, 'tt16', 'link32')" onMouseOut="HideTip('tt16')">create</a> instead.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=12 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).get_type_name" href="../../src/base/uvm_registry.svh">get_type_name</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name() |
| </td></tr></table></blockquote><div class=CBody><p>Returns the value given by the string parameter, <i>Tname</i>. This method overrides the method in <a href="uvm_factory-svh.html#uvm_object_wrapper" class=LClass id=link33 onMouseOver="ShowTip(event, 'tt4', 'link33')" onMouseOut="HideTip('tt4')">uvm_object_wrapper</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=13 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).get" href="../../src/base/uvm_registry.svh">get</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get() |
| </td></tr></table></blockquote><div class=CBody><p>Returns the singleton instance of this type. Type-based factory operation depends on there being a single proxy instance for each registered type.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=14 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).create" href="../../src/base/uvm_registry.svh">create</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function T create (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"",</td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>contxt</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Returns an instance of the object type, <i>T</i>, represented by this proxy, subject to any factory overrides based on the context provided by the <i>parent</i>’s full name. The <i>contxt</i> argument, if supplied, supersedes the <i>parent</i>’s context. The new instance will have the given leaf <i>name</i>, if provided.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=15 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).set_type_override" href="../../src/base/uvm_registry.svh">set_type_override</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_type_override (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>replace</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>1</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type represented by this proxy, provided no instance override applies. The original type, <i>T</i>, is typically a super class of the override type.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=16 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).set_inst_override" href="../../src/base/uvm_registry.svh">set_inst_override</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_inst_override(</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>inst_path,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type represented by this proxy, with matching instance paths. The original type, <i>T</i>, is typically a super class of the override type.</p><p>If <i>parent</i> is not specified, <i>inst_path</i> is interpreted as an absolute instance path, which enables instance overrides to be set from outside component classes. If <i>parent</i> is specified, <i>inst_path</i> is interpreted as being relative to the <i>parent</i>’s hierarchical instance path, i.e. <i>{parent.get_full_name(),”.”,inst_path}</i> is the instance path that is registered with the override. The <i>inst_path</i> may contain wildcards for matching against multiple contexts.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=17 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_object_registry#(T,Tname).Usage" href="../../src/base/uvm_registry.svh">Usage</a></h3><div class=CBody><p>This section describes usage for the uvm_*_registry classes.</p><p>The wrapper classes are used to register lightweight proxies of objects and components.</p><p>To register a particular component type, you need only typedef a specialization of its proxy class, which is typically done inside the class.</p><p>For example, to register a UVM component of type <i>mycomp</i></p><blockquote><pre>class mycomp extends uvm_component; |
| typedef uvm_component_registry #(mycomp,"mycomp") type_id; |
| endclass</pre></blockquote><p>However, because of differences between simulators, it is necessary to use a macro to ensure vendor interoperability with factory registration. To register a UVM component of type <i>mycomp</i> in a vendor-independent way, you would write instead:</p><blockquote><pre>class mycomp extends uvm_component; |
| `uvm_component_utils(mycomp); |
| ... |
| endclass</pre></blockquote><p>The <a href="../macros/uvm_object_defines-svh.html#`uvm_component_utils" class=LMacro >`uvm_component_utils</a> macro is for non-parameterized classes. In this example, the typedef underlying the macro specifies the <i>Tname</i> parameter as “mycomp”, and <i>mycomp</i>’s get_type_name() is defined to return the same. With <i>Tname</i> defined, you can use the factory’s name-based methods to set overrides and create objects and components of non-parameterized types.</p><p>For parameterized types, the type name changes with each specialization, so you cannot specify a <i>Tname</i> inside a parameterized class and get the behavior you want; the same type name string would be registered for all specializations of the class! (The factory would produce warnings for each specialization beyond the first.) To avoid the warnings and simulator interoperability issues with parameterized classes, you must register parameterized classes with a different macro.</p><p>For example, to register a UVM component of type driver #(T), you would write:</p><blockquote><pre>class driver #(type T=int) extends uvm_component; |
| `uvm_component_param_utils(driver #(T)); |
| ... |
| endclass</pre></blockquote><p>The <a href="../macros/uvm_object_defines-svh.html#`uvm_component_param_utils" class=LMacro >`uvm_component_param_utils</a> and <a href="../macros/uvm_object_defines-svh.html#`uvm_object_param_utils" class=LMacro >`uvm_object_param_utils</a> macros are used to register parameterized classes with the factory. Unlike the non-param versions, these macros do not specify the <i>Tname</i> parameter in the underlying uvm_component_registry typedef, and they do not define the get_type_name method for the user class. Consequently, you will not be able to use the factory’s name-based methods for parameterized classes.</p><p>The primary purpose for adding the factory’s type-based methods was to accommodate registration of parameterized types and eliminate the many sources of errors associated with string-based factory usage. Thus, use of name-based lookup in <a href="uvm_factory-svh.html#uvm_factory" class=LClass id=link34 onMouseOver="ShowTip(event, 'tt11', 'link34')" onMouseOut="HideTip('tt11')">uvm_factory</a> is no longer recommended.</p></div></div></div> |
| |
| </div><!--Content--> |
| |
| |
| |
| <!--START_ND_TOOLTIPS--> |
| <div class=CToolTip id="tt1"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>class uvm_component_registry #(</td> </tr><tr><td> </td> <td class=PType nowrap>type </td> |
| <td class=PParameter nowrap>T</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>uvm_component,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>Tname</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"<unknown>"</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>) extends uvm_object_wrapper</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| The uvm_component_registry serves as a lightweight proxy for a component of type <i>T</i> and type name <i>Tname</i>, a string. </div></div><div class=CToolTip id="tt2"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>class uvm_object_registry #(</td> </tr><tr><td> </td> <td class=PType nowrap>type </td> |
| <td class=PParameter nowrap>T</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>uvm_object,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>Tname</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"<unknown>"</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>) extends uvm_object_wrapper</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| The uvm_object_registry serves as a lightweight proxy for a uvm_object of type <i>T</i> and type name <i>Tname</i>, a string. </div></div><div class=CToolTip id="tt3"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_object extends uvm_void |
| </td></tr></table></blockquote>The uvm_object class is the base class for all UVM data and hierarchical classes. </div></div><div class=CToolTip id="tt4"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_object_wrapper |
| </td></tr></table></blockquote>The uvm_object_wrapper provides an abstract interface for creating object and component proxies. </div></div><div class=CToolTip id="tt5"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=3>virtual function uvm_component create_component (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap width=100%>name,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap width=100%>parent</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=3>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Creates a component of type T having the provided <i>name</i> and <i>parent</i>. </div></div><div class=CToolTip id="tt6"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name() |
| </td></tr></table></blockquote>Returns the value given by the string parameter, <i>Tname</i>. </div></div><div class=CToolTip id="tt7"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get() |
| </td></tr></table></blockquote>Returns the singleton instance of this type. </div></div><div class=CToolTip id="tt8"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function T create(</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>contxt</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Returns an instance of the component type, <i>T</i>, represented by this proxy, subject to any factory overrides based on the context provided by the <i>parent</i>’s full name. </div></div><div class=CToolTip id="tt9"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_type_override (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>replace</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>1</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type, <i>T</i>, represented by this proxy, provided no instance override applies. </div></div><div class=CToolTip id="tt10"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_inst_override(</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>inst_path,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Configures the factory to create a component of the type represented by <i>override_type</i> whenever a request is made to create an object of the type, <i>T</i>, represented by this proxy, with matching instance paths. </div></div><div class=CToolTip id="tt11"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_factory |
| </td></tr></table></blockquote>As the name implies, uvm_factory is used to manufacture (create) UVM objects and components. </div></div><div class=CToolTip id="tt12"><div class=CGroup>This example illustrates basic TLM connectivity using the blocking put interface.</div></div><div class=CToolTip id="tt13"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function uvm_object create_object(</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Creates an object of type <i>T</i> and returns it as a handle to a uvm_object. </div></div><div class=CToolTip id="tt14"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name() |
| </td></tr></table></blockquote>Returns the value given by the string parameter, <i>Tname</i>. </div></div><div class=CToolTip id="tt15"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get() |
| </td></tr></table></blockquote>Returns the singleton instance of this type. </div></div><div class=CToolTip id="tt16"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function T create (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"",</td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null,</td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>contxt</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Returns an instance of the object type, <i>T</i>, represented by this proxy, subject to any factory overrides based on the context provided by the <i>parent</i>’s full name. </div></div><div class=CToolTip id="tt17"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_type_override (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>replace</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>1</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type represented by this proxy, provided no instance override applies. </div></div><div class=CToolTip id="tt18"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>static function void set_inst_override(</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_object_wrapper </td> |
| <td class=PParameter nowrap>override_type,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>inst_path,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>uvm_component </td> |
| <td class=PParameter nowrap>parent</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Configures the factory to create an object of the type represented by <i>override_type</i> whenever a request is made to create an object of the type represented by this proxy, with matching instance paths. </div></div><div class=CToolTip id="tt19"><div class=CGroup>This section describes usage for the uvm_*_registry classes.</div></div><!--END_ND_TOOLTIPS--> |
| |
| <script language=JavaScript><!-- |
| if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> |