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

📄 00860.html

📁 这是一本关于verilog编程语言的教程,对学习verilog语言有帮助
💻 HTML
📖 第 1 页 / 共 2 页
字号:
SystemVerilog引入了类和方法调用语法,其中一个任务或函数通过使用圆点符号(<span style="color: #800080">.</span>)调用。 &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00557.html" target="topic">7.11 静态前缀</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
对于一个选择片来讲,选择片的“最长静态前缀”被非正式地定义为一个分析工具能够在确立完成后确定其值的最长的那一部分。当描述隐式敏感列表(参见<a href="00597.html" target="topic">9.2节</a>)以及为逻辑端口的驱动描述错误条件(参见<a href="00545.html" target="topic">5.6 线网、reg、与logic</a> )的时候,我们使用这个概念。本节余下的部分定义由什么组成了一个选择片的最长静态前缀。<br><br>域选择被定义成一个层次化的名字,其中最后一个层次分割符(“<strong><span style="color: #800080">.</span></strong>”)的右侧标识了类型为结构体或联合体的变量的一个域。域选择前缀被定义成域选择中最后一个层次分割符左侧的部分。<br><br>一个索引选择是一个单纯的索引操作。索引选择前缀或者是一个标识符或者是另外一个索引选择(在多维选择的情况下)。数组选择、位选择、部分选择、以及索引部分选择都是索引选择的例子。<br><br>静态前缀的定义是递归的并且具有如下的定义:</p>
<ol class="Element630">
<li value="1" class="Element600">一个标识符是一个静态前缀</li>
<li value="2" class="Element600">如果一个域选择前缀是一个静态前缀,那么这个域选择是一个静态前缀</li>
<li value="3" class="Element600">如果一个索引选择前缀是一个静态前缀并且选择表达式是一个常量表达式,那么这个索引选择是一个静态前缀。</li>
</ol><p class="Element207">
<br>最长静态前缀的定义如下:</p>
<ol class="Element630">
<li value="1" class="Element600">如果一个标识符不是一个静态前缀表达式的域选择前缀或索引选择前缀,那么它是一个最长静态前缀</li>
<li value="2" class="Element600">如果一个域选择不是一个静态前缀表达式的域选择前缀或索引选择前缀,那么它是一个最长静态前缀</li>
<li value="3" class="Element600">如果一个索引选择不是一个静态前缀表达式的域选择前缀或索引选择前缀,那么它是一个最长静态前缀</li>
</ol><p class="Element207">
例子: &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00558.html" target="topic">7.12 串联</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
与Verilog一样,花括号(<span style="color: #800080">{ }</span>)被用来表示串联。串联被当作一个压缩的位向量来看待。它可以使用在一条赋值语句或一个表达式的左侧。 &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00559.html" target="topic">7.13 非压缩数组表达式</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
表达式中也可以使用花括号来为非压缩数组赋值。与C语言不同的是,表达式必须在元素与元素之间达到匹配,并且花括号必须匹配数组维数。在数组中对应元素类型的赋值关联文中,每一个表达式的元素都会被计算。这也就意味着,与上面的相似赋值不同,下面的例子不会发布尺寸警告信息: &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00560.html" target="topic">7.14 结构体表达式</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
结构体表达式(压缩的和非压缩的)可以使用花括号和逗号由成员表达式构建,其中成员表达式以成员声明的顺序排列。复制操作符可以用来设置准确的成员数目。每一个成员表达式应该在对结构体中对应成员类型赋值的关联文中计算。结构体表达式也可以使用成员的名字来构建。 &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00561.html" target="topic">7.15 标签联合体表达式与成员访问</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
&nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00562.html" target="topic">7.16 集合表达式</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
非压缩结构体和数组变量、文本值、以及表达式都可以作为集合表达式使用。一个非压缩数组的多维分片也可以用作集合表达式。<br><br>集合表达式可以在通过赋值语句、通过一个端口、或作为任务或函数的自变量进行拷贝。集合表达式也可以使用相等或不等操作符进行比较。为了进行拷贝或比较,集合表达式的类型必须是赋值兼容的。参见<a href="00549.html" target="topic">5.8.2 赋值兼容</a> 。&nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00563.html" target="topic">7.17 操作符过载</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
有多种算术算法可能非常有用:饱和算法,任意尺寸的浮点数运算,进位保留算法等。使用普通的算术操作符而不是依赖于函数调用有利于代码的可读性。 &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00564.html" target="topic">7.18 流操作符(压缩/非压缩)</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
在<a href="00387.html" target="topic">3.16节</a>描述了位流强制类型转换,当转换操作可以仅仅使用一个强制类型转换方便地表达,并且位流的特定顺序并不重要的时候,这种方法最为有用。然而,有时位流需要匹配于一个特定的组织形式。流操作符将位流类型(参见<a href="00387.html" target="topic">3.16节</a>)以用户指定的顺序压缩到一个位序列当中。当流操作符使用在表达式左侧的时候,它执行相反的操作:将位流解压缩成一个或多个变量。如果正在被压缩的数据包含任何四态类型,那么压缩操作的结果是四态类型,否则,结果为两态类型。将四态类型的位流解压缩成两态类型变量是通过一个向两态变量的强制类型转换实现的,反之亦然。<br><br>位流串联的语法如下: &nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00566.html" target="topic">7.19 条件操作符</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
&nbsp;</div></td></tr><tr>
<td class="Element202" valign="top" width="50%">
<div class="Element203">
<a href="00568.html" target="topic">7.20 集合成员资格</a>&nbsp;</div></td><td class="Element206" valign="top" width="50%">
<div class="Element207">
SystemVerilog支持单一值集合以及集合成员资格操作符。<br><br>集合成员资格操作符的语法如下: &nbsp;</div></td></tr></table></div></div>
</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="00910.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 + -