⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00887.html

📁 这是一本关于verilog编程语言的教程,对学习verilog语言有帮助
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<span style="color: #0000FF">typedef struct</span> t_vpi_source_info <span style="color: #800080">{</span>
    PLI_BYTE8 <span style="color: #800080">*</span>fileName<span style="color: #800080">;</span>
    PLI_INT32 startLine<span style="color: #800080">;</span>
    PLI_INT32 startColumn<span style="color: #800080">;</span>
    PLI_INT32 endLine<span style="color: #800080">;</span>
    PLI_INT32 endColumn<span style="color: #800080">;</span>
<span style="color: #800080">}</span> s_vpi_source_info<span style="color: #800080">, *</span>p_vpi_source_info<span style="color: #800080">;</span>

<span style="color: #0000FF">typedef struct</span> t_vpi_assertion_info <span style="color: #800080">{</span>
    PLI_BYTE8 <span style="color: #800080">*</span>assertName<span style="color: #800080">;</span>   <span style="color: #008000">/* name of assertion */</span>
    vpiHandle instance<span style="color: #800080">;</span>      <span style="color: #008000">/* instance containing assertion */</span>
    PLI_BYTE8 defname<span style="color: #800080">;</span>       <span style="color: #008000">/* name of module/interface containing the assertion */</span>
    vpiHandle clock<span style="color: #800080">;</span>         <span style="color: #008000">/* clocking expression */</span>
    PLI_INT32 assertionType<span style="color: #800080">;</span> <span style="color: #008000">/* vpiSequenceType, vpiAssertType,</span>
<span style="color: #008000">                                vpiCoverType, vpiPropertyType,</span>
<span style="color: #008000">                                vpiImmediateAssertType */</span>
    s_vpi_source_info sourceInfo<span style="color: #800080">;</span>
<span style="color: #800080">}</span> s_vpi_assertion_info<span style="color: #800080">,</span> <span style="color: #800080">*</span>p_vpi_assertion_info<span style="color: #800080">;</span>

<span style="color: #0000FF">typedef struct</span> t_vpi_assertion_step_info <span style="color: #800080">{</span>
    PLI_INT32 matched_expression_count<span style="color: #800080">;</span>
    vpiHandle <span style="color: #800080">*</span>matched_exprs<span style="color: #800080">;</span>             <span style="color: #008000">/* array of expressions */</span>
    p_vpi_source_info <span style="color: #800080">*</span>exprs_source_info<span style="color: #800080">;</span> <span style="color: #008000">/* array of source info */</span>
    PLI_INT32 stateFrom<span style="color: #800080">,</span> stateTo<span style="color: #800080">;</span>         <span style="color: #008000">/* identify transition */</span>
<span style="color: #800080">}</span> s_vpi_assertion_step_info<span style="color: #800080">, *</span>p_vpi_assertion_step_info<span style="color: #800080">;</span>

<span style="color: #0000FF">typedef struct</span> t_vpi_attempt_info <span style="color: #800080">{</span>
    <span style="color: #0000FF">union</span> <span style="color: #800080">{</span>
        vpiHandle failExpr<span style="color: #800080">;</span>
        p_vpi_assertion_step_info step<span style="color: #800080">;</span>
    <span style="color: #800080">}</span> detail<span style="color: #800080">;</span>
    s_vpi_time attemptStartTime<span style="color: #800080">;</span> <span style="color: #008000">/* Time attempt triggered */</span>
<span style="color: #800080">}</span> s_vpi_attempt_info<span style="color: #800080">, *</span>p_vpi_attempt_info<span style="color: #800080">;</span>

<span style="color: #008000">/* typedef for vpi_register_assertion_cb callback function */</span>
<span style="color: #0000FF">typedef</span> PLI_INT32 <span style="color: #800080">(</span>vpi_assertion_callback_func<span style="color: #800080">)(</span>
    PLI_INT32 reason<span style="color: #800080">,</span>        <span style="color: #008000">/* callback reason */</span>
    p_vpi_time cb_time<span style="color: #800080">,</span>      <span style="color: #008000">/* callback time */</span>
    vpiHandle assertion<span style="color: #800080">,</span>     <span style="color: #008000">/* handle to assertion */</span>
    p_vpi_attempt_info info<span style="color: #800080">,</span> <span style="color: #008000">/* attempt related information */</span>
    PLI_BYTE8 <span style="color: #800080">*</span>user_data     <span style="color: #008000">/* user data entered upon registration */</span>
<span style="color: #800080">);</span>

<span style="color: #008000">/* assertion specific VPI functions */</span>
PLI_INT32 vpi_get_assertion_info <span style="color: #800080">(</span>assert_handle<span style="color: #800080">,</span> p_vpi_assertion_info<span style="color: #800080">);</span>

vpiHandle vpi_register_assertion_cb<span style="color: #800080">(</span>
    vpiHandle assertion<span style="color: #800080">,</span> <span style="color: #008000">/* handle to assertion */</span>
    PLI_INT32 reason<span style="color: #800080">,</span>    <span style="color: #008000">/* reason for which callbacks needed */</span>
    vpi_assertion_callback_func <span style="color: #800080">*</span>cb_rtn<span style="color: #800080">,</span>
    PLI_BYTE8 <span style="color: #800080">*</span>user_data <span style="color: #008000">/* user data to be supplied to cb */</span>
<span style="color: #800080">);</span>

<span style="color: #008000">/***************************************************************************/</span>
<span style="color: #008000">/***************************************************************************/</span>
<span style="color: #008000">/*************** Reader VPI ***********************/</span>
<span style="color: #008000">/* reader VPI has been assigned the numeric range 800-899 */</span>
<span style="color: #008000">/********** Reader types ***********/</span>
<span style="color: #0000FF">#define</span> vpiTrvsObj                800 <span style="color: #008000">/* Data traverse object */</span>
<span style="color: #0000FF">#define</span> vpiCollection             810 <span style="color: #008000">/* Collection of VPI handle */</span>
<span style="color: #0000FF">#define</span> vpiObjCollection          811 <span style="color: #008000">/* Collection of traversable design objs */</span>
<span style="color: #0000FF">#define</span> vpiTrvsCollection         812 <span style="color: #008000">/* Collection of vpiTrvsObjs */</span>

<span style="color: #008000">/********* Reader methods *********/</span>
<span style="color: #008000">/* Check */</span>
<span style="color: #0000FF">#define</span> vpiIsLoaded               820 <span style="color: #008000">/* Object data is loaded check */</span>
<span style="color: #0000FF">#define</span> vpiHasDataVC              821 <span style="color: #008000">/* Traverse object has at least one VC</span>
                                       <span style="color: #008000">* at some point in time in the</span>
<span style="color: #008000">                                       * database check */</span>
<span style="color: #0000FF">#define</span> vpiHasVC                  822 <span style="color: #008000">/* Has VC at specific time check */</span>
<span style="color: #0000FF">#define</span> vpiHasNoValue             823 <span style="color: #008000">/* Has no value at specific time check */</span>
<span style="color: #0000FF">#define</span> vpiBelong                 824 <span style="color: #008000">/* Belongs to extension check */</span>

<span style="color: #008000">/* Access */</span>
<span style="color: #0000FF">#define</span> vpiAccessLimitedInteractive 830 <span style="color: #008000">/* Interactive access */</span>
<span style="color: #0000FF">#define</span> vpiAccessInteractive        831 <span style="color: #008000">/* interactive with history access */</span>
<span style="color: #0000FF">#define</span> vpiAccessPostProcess        832 <span style="color: #008000">/* Database access */</span>

<span style="color: #008000">/* Member of a collection */</span>
<span style="color: #0000FF">#define</span> vpiMember                   840 <span style="color: #008000">/* Member of a collection */</span>

<span style="color: #008000">/* Iteration on instances for loaded */</span>
<span style="color: #0000FF">#define</span> vpiDataLoaded               850 <span style="color: #008000">/* Use in vpi_iterate() */</span>

/* Control Traverse/Check Time */
<span style="color: #0000FF">#define</span> vpiMinTime                  860 <span style="color: #008000">/* Min time */</span>
<span style="color: #0000FF">#define</span> vpiMaxTime                  864 <span style="color: #008000">/* Max time */</span>
<span style="color: #0000FF">#define</span> vpiPrevVC                   868 <span style="color: #008000">/* Previous Value Change (VC) */</span>
<span style="color: #0000FF">#define</span> vpiNextVC                   870 <span style="color: #008000">/* Next Value Change (VC) */</span>
<span style="color: #0000FF">#define</span> vpiTime                     874 <span style="color: #008000">/* Time jump */</span>

<span style="color: #008000">/********** routines **********/</span>

<span style="color: #008000">/* general form of the vpi extension loading function is:</span>
<span style="color: #008000">* PLI_INT32 vpi_load_extension PROTO_PARAMS((PLI_BYTE8 *extension_name, ...))</span>
<span style="color: #008000">*/</span>

<span style="color: #008000">/********** Reader routines **********/</span>
<span style="color: #008000">/* load extension form for the reader extension */</span>
PLI_INT32 vpi_load_extension PROTO_PARAMS((PLI_BYTE8 *extension_name,
                                           PLI_BYTE8 *name,
                                           vpiType mode, ...))

PLI_INT32 vpi_close PROTO_PARAMS((PLI_INT32 tool,
                                  vpiType prop,
                                  PLI_BYTE8* name));

PLI_INT32 vpi_load_init PROTO_PARAMS((vpiHandle objCollection,
                                      vpiHandle scope,
                                      PLI_INT32 level));

PLI_INT32 vpi_load PROTO_PARAMS((vpiHandle h));

PLI_INT32 vpi_unload PROTO_PARAMS((vpiHandle h));

vpiHandle vpi_create PROTO_PARAMS((vpiType prop,
                                   vpiHandle h,
                                   vpiHandle obj));

vpiHandle vpi_goto PROTO_PARAMS((vpiType prop,
                                 vpiHandle obj,
                                 p_vpi_time time_p,
                                 PLI_INT32 *ret_code));

vpiHandle vpi_filter PROTO_PARAMS((vpiHandle h,
                                   PLI_INT32 ft,
                                   PLI_INT32 flag));

<span style="color: #0000FF">#ifdef</span> __cplusplus
}
<span style="color: #0000FF">#endif</span>

<span style="color: #0000FF">#endif</span></pre></div></div>
</div>
</div>
</div>
<!-- End Page Content -->

<!-- Begin Page Footer -->
<hr width="98%" align="center" size="1" color="#CCCCCC" />
<table align="center" cellpadding="0" cellspacing="0" border="0">
	<tbody>
		<tr height="10">
			<td></td>
		</tr>
		<tr align="center">
			<td>
<script type="text/javascript"><!--
google_ad_client = "pub-5266859600380184";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_page_url = document.location;
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
			</td>
		</tr>
		<tr height="15">
			<td></td>
		</tr>
		<tr align="center">
			<td>
				<font size=2>除非特别声明,原文版权归作者所有,如有转摘请注明原作者以及译者(<a href="http://www.fpgatech.net/"  target="_blank">FPGA技术网</a>)信息。<br />
如果您对本主题有何建议或意见,请登陆<a href="http://www.fpgatech.net/forum/forumdisplay.php?fid=18" target="_blank">FPGA开发者家园</a>提交,您的参与是我们前进的动力。</font>
<script language="javascript" type="text/javascript" src="http://js.users.51.la/195685.js"></script>
<noscript><a href="http://www.51.la/?195685" target="_blank"><img alt="&#x6211;&#x8981;&#x5566;&#x514D;&#x8D39;&#x7EDF;&#x8BA1;" src="http://img.users.51.la/195685.asp" style="border:none" /></a></noscript>
			</td>
		</tr>
	</tbody>
</table>

<!-- End Page Footer -->
</div>
</div>

<!-- End Client Area -->
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -