📄 00861.html
字号:
<li value="2" class="Element600">vpi_get_delays, vpi_put_delays delays shall not be applicable for vpiInterfacePort.</li>
<li value="3" class="Element600">vpiHighConn shall indicate the hierarchically higher (closer to the top module) port connection.</li>
<li value="4" class="Element600">vpiLowConn shall indicate the lower (further from the top module) port connection.</li>
<li value="5" class="Element600">vpiLowConn of a vpiInterfacePort shall always be vpiRefObj.</li>
<li value="6" class="Element600">Properties scalar and vector shall indicate if the port is 1 bit or more than 1 bit. They shall not indicate anything about what is connected to the port.</li>
<li value="7" class="Element600">Properties index and name shall... <a href="00492.html" target="topic">more</a> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00493.html" target="topic">31.9 Ref Obj</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_9.png" border="0" alt="" title=""> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00449.html" target="topic">31.10 Variables (supersedes IEEE 1364-2001 section 26.6.8)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
</p><p class="Element207" style="text-align: center">
<img src="31_10.png" border="0" alt="" title=""><br></p><p class="Element207">
NOTES<br>1) A var select is a word selected from a variable array.<br>2) The boolean property vpiArray shall be TRUE if the variable handle references an array of variables, and FALSE otherwise. If the variable is an array, iterate on vpiVarSelect to obtain handles to each variable in the array.<br>3) To obtain the members of a union and structure, see the relations in Section 31.21<br>4) The range relation is valid only when vpiArray is true. When applied to array vars this relation returns only unpacked ranges. When applied to logic and bit variables, it returns only the... <a href="00449.html" target="topic">more</a> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00450.html" target="topic">31.11 Var Select (supersedes IEEE 1364-2001 26.6.8)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_11.png" border="0" alt="" title=""> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00451.html" target="topic">31.12 Typespec</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_12.png" border="0" alt="" title=""><br>NOTES<br>1) If the vpiTypedef is TRUE and the typedef creates an alias of another typedef, then the vpiTypedefAlias shall return a non null handle which represents the handle to the aliased typedef. For example: </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00452.html" target="topic">31.13 Variable Drivers and Loads (supersedes IEEE 1364-2001 26.6.23)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_13.png" border="0" alt="" title=""><br>NOTES<br>1) vpiDrivers/Loads for a structure, union, or class variable will include the following:<br>— Driver/Load for the whole variable<br>— Driver/Load for any bit/part select of that variable<br>— Driver/Load of any member nested inside that variable<br>2) vpiDrivers/Loads for any variable array should include the following:<br>— Driver/Load for entire array/vector or any portion of an array/vector to which a handle can be obtained. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00453.html" target="topic">31.14 Instance Arrays (supersedes IEEE 1364-2001 26.6.2)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_14.png" border="0" alt="" title=""><br>NOTE<br>1) Param assignments can only be obtained from non-primitive instance arrays.<br>2) To obtain all the dimensions of a multi-dimensional array, the range iterator must be used. Using the vpiLeftRange/vpiRightRange properties will only return the last dimension of a multidimensional array. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00454.html" target="topic">31.15 Scope (supersedes IEEE 1364-2001 26.6.3)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_15.png" border="0" alt="" title=""><br>NOTE<br>1: Unnamed scopes shall have valid names, though tool dependent.<br>2: The vpiImport iterator shall return all objects imported into the current scope via import statements. Note that only objects actually referenced through the import shall be returned, rather than items potentially made visible as a result of the import. Refer to Section 18.2.2 for more details. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00455.html" target="topic">31.16 IO Declaration (supersedes IEEE 1364-2001 26.6.4)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_16.png" border="0" alt="" title=""><br>vpiDirection returns vpiRef for pass by ref ports. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00456.html" target="topic">31.17 Clocking Block</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_17.png" border="0" alt="" title=""> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00457.html" target="topic">31.18 Class Object Definition</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_18.png" border="0" alt="" title=""><br>NOTE
<ol class="Element630">
<li value="1" class="Element600">ClassDefn handle is a new concept. It does not correspond to any vpiUserDefined (class object) in the design. Rather it represents the actual type definition of a class.</li>
<li value="2" class="Element600">Should not call vpi_get_value/vpi_put_value on the non-static variables obtained from the class definition handle.</li>
<li value="3" class="Element600">Iterator to constraints returns only normal constraints and not inline constraints.</li>
<li value="4" class="Element600">To get constraints inherited from base classes, you will need to traverse the extend relation to obtain the base class.</li>
<li value="5" class="Element600">The vpiDerivedClasses iterator returns all the classes derived from the given class.</li>
<li value="6" class="Element600">The relation to vpiExtend exists whenever a one class is derived from another class... <a href="00457.html" target="topic">more</a> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00458.html" target="topic">31.19 Constraint, constraint ordering, distribution,</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_19.png" border="0" alt="" title=""> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00460.html" target="topic">31.20 Constraint expression</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_20.png" border="0" alt="" title=""> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00461.html" target="topic">31.21 Class Variables</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_21.png" border="0" alt="" title=""><br>NOTES<br>1) vpiWaiting/Process iterator on mailbox/semaphores will show the processes waiting on the object:<br>— Waiting process means either frame or task/function handle.<br>2) vpiMessage iterator shall return all the messages in a mailbox.<br>3) vpiClassDefn returns the ClassDefn which was used to create the handle. vpiActualDefn returns<br>the ClassDefn that handle object points to when the query is made. The difference can be seen in<br>the example below:<br>class Packet<br>...<br>endclass : Packet<br>class LinkedPacket extends Packet<br>...<br>endclass : LinkedPacket<br>LinkedPacket l = new;<br>Packet p = l;<br>In this example, the vpiClassDefn of variable "p" is... <a href="00461.html" target="topic">more</a> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00462.html" target="topic">31.22 Structure/Union</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_22.png" border="0" alt="" title=""><br>NOTES<br>vpi_get_value/vpi_put_value cannot be used to access values of entire unpacked structures and unpacked unions. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00463.html" target="topic">31.23 Named Events (supersedes IEEE 1364-2001 26.6.11)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_23_1.png" border="0" alt="" title=""><br>NOTE<br>The new iterator (vpiWaitingProcesses) returns all waiting processes, identified by their frame, for that named event.<br><img src="31_23_2.png" border="0" alt="" title=""><br>NOTE<br>vpi_iterate(vpiIndex, named_event_handle) shall return the set of indices for a named event within an array, starting with the index for the named event and working outward. If the named event is not part of an array, a NULL shall be returned. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00464.html" target="topic">31.24 Task, Function Declaration (supersedes IEEE 1364-2001 26.6.18)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_24.png" border="0" alt="" title=""><br>NOTE<br>5) A Verilog HDL function shall contain an object with the same name, size, and type as the function.<br>6) vpiInterfaceTask/vpiInterfaceFunction shall be true if task/function is declared inside an interface or a modport of an interface.<br>7) For function where return type is a user-defined type, vpi_handle (vpiReturn,Function_handle) shall return the implicit variable handle representing the return of the function from which the user can get the details of that user-defined type.<br>8) vpiReturn will always return a var object, even for simple returns. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00465.html" target="topic">31.25 Alias Statement</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_25.png" border="0" alt="" title=""> </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00467.html" target="topic">31.26 Frames (supersedes IEEE 1364-2001 26.6.20)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_26.png" border="0" alt="" title=""><br>NOTES<br>1) The following callbacks shall be supported on frames:<br>— cbStartOfFrame: triggers whenever any frame gets executed.<br>— cbEndOfFrame: triggers when a particular thread is deleted after all storage is deleted. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00468.html" target="topic">31.27 Threads</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_27.png" border="0" alt="" title=""><br>NOTES<br>The following callbacks shall be supported on threads<br>— cbStartOfThread: triggers whenever any thread is created<br>— cbEndOfThread: triggers when a particular thread gets deleted after storage is deleted.<br>— cbEnterThread: triggers whenever a particular thread resumes execution </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00469.html" target="topic">31.28 tf call (supersedes IEEE 1364-2001 26.6.19)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_28.png" border="0" alt="" title=""><br>NOTE:<br>1) the vpiWith relation is only available for randomize methods (see Section 12.6) and for array locator methods (see Section 4.15.1).<br>2) For methods (method func call, method task call), the vpiPrefix relation will return the object to which the method is being applied. For example, for the class method invocation<br>packet.send();<br>the prefix for the "send" method is the class var "packet" </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00470.html" target="topic">31.29 Module path, path term (supersedes IEEE 1364-2001 26.6.15)</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_29.png" border="0" alt="" title=""><br>NOTE:<br>1) specify blocks can occur in both modules and interfaces. For backwards compatibility the vpiModule relation has been preserved; however this relation will return NULL for specify blocks in interfaces. For new code it is recommended that the vpiInstance relation be used instead. </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00472.html" target="topic">31.30 Concurrent assertions</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
<img src="31_30.png" border="0" alt="" title=""><br>NOTE<br>Clocking event is always the actual clocking event on which the assertion is being evaluated, regardless of whether this is explicit or implicit (inferred) </div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00473.html" target="topic">31.31 Property Decl</a> </div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -