| <html><head><title>UVM HDL Backdoor Access support routines.</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="UVM_HDL_Backdoor_Access_support_routines" href="../../src/dpi/uvm_hdl.svh">UVM HDL Backdoor Access support routines.</a></h1><div class=CBody><p>These routines provide an interface to the DPI/PLI implementation of backdoor access used by registers.</p><p>If you DON’T want to use the DPI HDL API, then compile your SystemVerilog code with the vlog switch</p><blockquote><pre>vlog ... +define+UVM_HDL_NO_DPI ...</pre></blockquote> |
| |
| <!--START_ND_SUMMARY index=0--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=0 --> |
| |
| <tr class="SMain"><td colspan=2 class=SEntry><a href="#UVM_HDL_Backdoor_Access_support_routines" >UVM HDL Backdoor Access support routines.</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>These routines provide an interface to the DPI/PLI implementation of backdoor access used by registers.</td></tr> |
| <!-- index=1 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#Variables" >Variables</a></td><td class=SDescription></td></tr> |
| <!-- index=2 --> |
| |
| <tr class="SVariable SIndent2"><td class=SEntry><a href="#UVM_HDL_MAX_WIDTH" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">UVM_HDL_MAX_WIDTH</a></td><td class=SDescription>Sets the maximum size bit vector for backdoor access. </td></tr> |
| <!-- index=3 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=4 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_hdl_check_path" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">uvm_hdl_check_path</a></td><td class=SDescription>Checks that the given HDL <i>path</i> exists. </td></tr> |
| <!-- index=5 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_hdl_deposit" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">uvm_hdl_deposit</a></td><td class=SDescription>Sets the given HDL <i>path</i> to the specified <i>value</i>. </td></tr> |
| <!-- index=6 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_hdl_force" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">uvm_hdl_force</a></td><td class=SDescription>Forces the <i>value</i> on the given <i>path</i>. </td></tr> |
| <!-- index=7 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_hdl_force_time" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">uvm_hdl_force_time</a></td><td class=SDescription>Forces the <i>value</i> on the given <i>path</i> for the specified amount of <i>force_time</i>. </td></tr> |
| <!-- index=8 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_hdl_release_and_read" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">uvm_hdl_release_and_read</a></td><td class=SDescription>Releases a value previously set with <a href="#uvm_hdl_force" class=LMethod id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">uvm_hdl_force</a>. </td></tr> |
| <!-- index=9 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_hdl_release" id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">uvm_hdl_release</a></td><td class=SDescription>Releases a value previously set with <a href="#uvm_hdl_force" class=LMethod id=link9 onMouseOver="ShowTip(event, 'tt4', 'link9')" onMouseOut="HideTip('tt4')">uvm_hdl_force</a>. </td></tr> |
| <!-- index=10 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_hdl_read" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">uvm_hdl_read()</a></td><td class=SDescription>Gets the value at the given <i>path</i>. </td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=1 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Variables" href="../../src/dpi/uvm_hdl.svh">Variables</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=2 --> |
| <div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="UVM_HDL_MAX_WIDTH" href="../../src/dpi/uvm_hdl.svh">UVM_HDL_MAX_WIDTH</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>parameter int UVM_HDL_MAX_WIDTH = `UVM_HDL_MAX_WIDTH |
| </td></tr></table></blockquote><div class=CBody><p>Sets the maximum size bit vector for backdoor access. This parameter will be looked up by the DPI-C code using: vpi_handle_by_name( “uvm_pkg::UVM_HDL_MAX_WIDTH”, 0);</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=3 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Methods" href="../../src/dpi/uvm_hdl.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=4 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_check_path" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_check_path</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 nowrap>import "DPI-C" context function int uvm_hdl_check_path(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Checks that the given HDL <i>path</i> exists. Returns 0 if NOT found, 1 otherwise.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=5 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_deposit" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_deposit</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 nowrap>import "DPI-C" context function int uvm_hdl_deposit(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Sets the given HDL <i>path</i> to the specified <i>value</i>. Returns 1 if the call succeeded, 0 otherwise.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=6 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_force" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_force</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 nowrap>import "DPI-C" context function int uvm_hdl_force(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Forces the <i>value</i> on the given <i>path</i>. Returns 1 if the call succeeded, 0 otherwise.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=7 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_force_time" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_force_time</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 nowrap>task uvm_hdl_force_time(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| <td class=PDefaultValuePrefix> </td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value,</td> |
| <td class=PDefaultValuePrefix> </td> |
| </tr><tr><td></td> <td class=PType nowrap>time </td> |
| <td class=PParameter nowrap>force_time</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Forces the <i>value</i> on the given <i>path</i> for the specified amount of <i>force_time</i>. If <i>force_time</i> is 0, <a href="#uvm_hdl_deposit" class=LMethod id=link11 onMouseOver="ShowTip(event, 'tt3', 'link11')" onMouseOut="HideTip('tt3')">uvm_hdl_deposit</a> is called. Returns 1 if the call succeeded, 0 otherwise.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=8 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_release_and_read" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_release_and_read</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=4>import "DPI-C" context function int uvm_hdl_release_and_read(</td> </tr><tr><td> </td> <td class=PTypePrefix nowrap></td> |
| <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap width=100%>path,</td> |
| </tr><tr><td> </td> <td class=PTypePrefix nowrap>inout </td> |
| <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap width=100%>value</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=4>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Releases a value previously set with <a href="#uvm_hdl_force" class=LMethod id=link12 onMouseOver="ShowTip(event, 'tt4', 'link12')" onMouseOut="HideTip('tt4')">uvm_hdl_force</a>. Returns 1 if the call succeeded, 0 otherwise. <i>value</i> is set to the HDL value after the release. For ‘reg’, the value will still be the forced value until it has bee procedurally reassigned. For ‘wire’, the value will change immediately to the resolved value of its continuous drivers, if any. If none, its value remains as forced until the next direct assignment.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=9 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_release" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_release</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 nowrap>import "DPI-C" context function int uvm_hdl_release(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Releases a value previously set with <a href="#uvm_hdl_force" class=LMethod id=link13 onMouseOver="ShowTip(event, 'tt4', 'link13')" onMouseOut="HideTip('tt4')">uvm_hdl_force</a>. Returns 1 if the call succeeded, 0 otherwise.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=10 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_hdl_read" href="../../src/dpi/uvm_hdl.svh">uvm_hdl_read()</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 nowrap>import "DPI-C" context function int uvm_hdl_read(</td> <td class=PTypePrefix nowrap></td> |
| <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| </tr><tr><td></td> <td class=PTypePrefix nowrap>output </td> |
| <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Gets the value at the given <i>path</i>. Returns 1 if the call succeeded, 0 otherwise.</p></div></div></div> |
| |
| </div><!--Content--> |
| |
| |
| |
| <!--START_ND_TOOLTIPS--> |
| <div class=CToolTip id="tt1"><div class=CVariable> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>parameter int UVM_HDL_MAX_WIDTH = `UVM_HDL_MAX_WIDTH |
| </td></tr></table></blockquote>Sets the maximum size bit vector for backdoor access. </div></div><div class=CToolTip id="tt2"><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 nowrap>import "DPI-C" context function int uvm_hdl_check_path(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Checks that the given HDL <i>path</i> exists. </div></div><div class=CToolTip id="tt3"><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 nowrap>import "DPI-C" context function int uvm_hdl_deposit(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Sets the given HDL <i>path</i> to the specified <i>value</i>. </div></div><div class=CToolTip id="tt4"><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 nowrap>import "DPI-C" context function int uvm_hdl_force(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Forces the <i>value</i> on the given <i>path</i>. </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 nowrap>task uvm_hdl_force_time(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| <td class=PDefaultValuePrefix> </td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value,</td> |
| <td class=PDefaultValuePrefix> </td> |
| </tr><tr><td></td> <td class=PType nowrap>time </td> |
| <td class=PParameter nowrap>force_time</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Forces the <i>value</i> on the given <i>path</i> for the specified amount of <i>force_time</i>. </div></div><div class=CToolTip id="tt6"><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=4>import "DPI-C" context function int uvm_hdl_release_and_read(</td> </tr><tr><td> </td> <td class=PTypePrefix nowrap></td> |
| <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap width=100%>path,</td> |
| </tr><tr><td> </td> <td class=PTypePrefix nowrap>inout </td> |
| <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap width=100%>value</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=4>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Releases a value previously set with uvm_hdl_force. </div></div><div class=CToolTip id="tt7"><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 nowrap>import "DPI-C" context function int uvm_hdl_release(</td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Releases a value previously set with uvm_hdl_force. </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 nowrap>import "DPI-C" context function int uvm_hdl_read(</td> <td class=PTypePrefix nowrap></td> |
| <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>path,</td> |
| </tr><tr><td></td> <td class=PTypePrefix nowrap>output </td> |
| <td class=PType nowrap>uvm_hdl_data_t </td> |
| <td class=PParameter nowrap>value</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Gets the value at the given <i>path</i>. </div></div><!--END_ND_TOOLTIPS--> |
| |
| <script language=JavaScript><!-- |
| if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> |