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

📄 00283.html

📁 这是一本关于verilog编程语言的教程,对学习verilog语言有帮助
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>23.3 typename函数</title>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
    <meta name="generator" content="Doc-O-Matic" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="default.css" type="text/css" />

<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('systemverilog31a.html', 'topic', '00283.html');" onmousedown="onBodyMouseDown();">

<!-- Begin Popups -->
<div class="Element801" id="popup00450">
<div class="Element800">
<div class="Element14">
链接</div>
<div class="Element11">
<div class="Element10">
<a href="00852.html" target="topic">第二十三章 系统任务与系统函数</a></div>
</div>
</div>
</div>

<!-- End Popups -->

<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="33%">
<div class="Element1">
<a href="#" onmousedown="showPopup(this, 'popup00450');"><img src="seealsolink.png" border="0" alt="" title=""></a> SystemVerilog 3.1a语言参考手册</div>
</td><td width="34%">
<div class="Element2">
</div>
</td><td width="33%">
<div class="Element90">
<a href="00282.html" target="topic"><img src="btn_prev_lightblue.gif" border="0" alt="Previous" title="Previous" onmouseover="switchImage(this, 'btn_prev_lightblue_hover.gif');" onmouseout="switchImage(this, 'btn_prev_lightblue.gif');"></a><a href="00852.html" target="topic"><img src="btn_up_lightblue.gif" border="0" alt="Up" title="Up" onmouseover="switchImage(this, 'btn_up_lightblue_hover.gif');" onmouseout="switchImage(this, 'btn_up_lightblue.gif');"></a><a href="00284.html" target="topic"><img src="btn_next_lightblue.gif" border="0" alt="Next" title="Next" onmouseover="switchImage(this, 'btn_next_lightblue_hover.gif');" onmouseout="switchImage(this, 'btn_next_lightblue.gif');"></a></div>
</td></tr></table><div class="Element5">
23.3 typename函数</div>
</div>
</div>

<!-- End Page Header -->

<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">

<!-- Begin Page Content -->
<div class="Element58">
<a name="描述"></a><div class="Element11">
<div class="Element10">
<div class="Element170">
<a href="#" onclick="CopyElementToClipboard('code00929');">Copy Code</a></div>
<div class="Element13"><div class="Element12" id="code00929"><pre class="Element12">typename_function ::=        <span style="color: #008000">// 没有包含在附录A中</span>
    <strong><span style="color: #FF0000">$typename(</span></strong>expression<strong><span style="color: #FF0000">)</span></strong>
  | <strong><span style="color: #FF0000">$typename(</span></strong>data_type<strong><span style="color: #FF0000">)</span></strong></pre></div></div>
<p class="Element10" style="text-align: center">
<strong>语法 23-2 — typename函数语法(没有包含在附录A中)</strong></p><p class="Element10">
&nbsp;</p>
<p class="Element10">
<span style="color: #0000FF">$typename</span>系统函数返回一个代表其自变量的解析类型的字符串。&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
The return string is constructed in the following steps:
<ol class="Element639">
<li value="1" class="Element609">A typedef that creates an equivalent type is resolved back to built-in or user defined types.</li>
<li value="2" class="Element609">The default signing is removed, even if present explicitly in the source</li>
<li value="3" class="Element609">System generated names are created for anonymous structs, unions and enums.</li>
<li value="4" class="Element609">A ‘$’ is used as the placeholder for the name of an anonymous unpacked array.</li>
<li value="5" class="Element609">Actual encoded values are appended with numeration named constants.</li>
<li value="6" class="Element609">User defined type names are prefixed with their defining package or scope namespace.</li>
<li value="7" class="Element609">Array ranges are represented as unsized decimal numbers.</li>
<li value="8" class="Element609">Whitespace in the source is removed and a single space is added to separate identifiers and keywords from each other.</li>
</ol>This process is similar to the way that type equality is computed, except that array ranges and built-in equivalent types are not normalized in the generated string. Thus $typename can be used in string comparisons for stricter type-checking of arrays than $typeof.&nbsp;</p>
<p class="Element10">
&nbsp;</p>
<p class="Element10">
When called with an expression as its argument, $typename returns a string that represents the self-determined type result of the expression. The expression's return type is determined during elaboration but never evaluated. When used as an elaboration time constant, the expression shall not contain any hierarchical identifiers or references to elements of dynamic objects. </p><div class="Element170">
<a href="#" onclick="CopyElementToClipboard('code00930');">Copy Code</a></div>
<div class="Element13"><div class="Element12" id="code00930"><pre class="Element12">// source code // $typename would return
typedef bit node; // &quot;bit&quot;
node signed [2:0] X; // &quot;bit signed[2:0]&quot;
int signed Y; // &quot;int&quot;

package A;
    enum {A,B,C=99} X; // &quot;enum{A=32’d0,B=32’d1,C=’32bX}A::e$1&quot;
    typedef bit [9:1’b1] word // &quot;A::bit[9:1]&quot;
endpackage : A

import A:.*;

module top;
    typedef struct {node A,B;} AB_t;
    AB_t AB[10]; // &quot;struct{bit A;bit B;}top.AB_t$[0:9]&quot;
    ...
endmodule</pre></div></div>
</div>
</div>
<a name="Group"></a><div class="Element14">
<a onclick="toggleVisibilityStored('Group');" class="a_Element14"><img src="sectionminus.png" border="0" alt="" title="" id="imgGroup">Group</a></div>
<div id="divGroup">
<div class="Element11">
<div class="Element10">
<p class="Element10">
<a href="00852.html" target="topic">第二十三章 系统任务与系统函数</a></p></div>
</div>
</div>
<a name="Links"></a><div class="Element14">
<a onclick="toggleVisibilityStored('链接');" class="a_Element14"><img src="sectionminus.png" border="0" alt="" title="" id="img链接">链接</a></div>
<div id="div链接">
<div class="Element11">
<div class="Element10">
<a href="00852.html" target="topic">第二十三章 系统任务与系统函数</a></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 + -