system_verilog教程

system_verilog教程

ID:37157417

大小:78.50 KB

页数:16页

时间:2019-05-19

system_verilog教程_第1页
system_verilog教程_第2页
system_verilog教程_第3页
system_verilog教程_第4页
system_verilog教程_第5页
资源描述:

《system_verilog教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于断言的验证技术SystemVerilogTutorials下面的手册会帮助你了解一些SystemVerilog中最重要的新特点。手册还提供了一些代码样本和例子使你可以对语言有更好"感觉"。这些辅导假设你们已经了解了一些Verilog语言。如果没有,你可以先去看看Verilog设计者指南(VerilogDesigner’sGuide)。*Datatypes*RTLdesign*Interfaces*Clocking*Assertion-basedverification*Classes*Testbenchautomationandconstraints*Th

2、eDirectProgrammingInterface(DPI)SystemVerilog的数据类型这个手册将描述Systemverilog新引进的数据类型。他们大多数都是可以综合的,并且可以使RTL级描述更易于理解和书写。整型和实型SystemVerilog引进了几种新的数据类型。C语言程序员会熟悉其中的大多数。引进新的数据类型构思是这样的,如果C语言和SystemVerilog有相同的数据类型可以使C语言算法模型更容易的转化为SystemVerilog模型。Verilog的变量类型有四态:既是0,1,X,Z。SystemVerilog引进了新的两态数据类型

3、,每一位只可以是0或是1。当你不需要使用的X和Z值时,譬如在写Testbench和做为for语句的循环变量。使用两态变量的RTL级模型,可以使模拟器更有效率。并且使用得当的话将不会对综合结果产生影响。二态整型类型描述例子Bituser-definedsizebit[3:0]a_nibble;Byte8bits,unsignedbytea,b;Shortint16bits,signedshortintc,d;Int32bits,signedinti,j;Longint64bits,signedlongintlword;注意到和C语言不一样,SystemVeril

4、og指定了一些固定宽度的类型。四态整型类型描述例子Reguser-definedsizereg[7:0]a_byte;Logicidenticaltoregineverywaylogic[7:0]a_byte;Integer32bits,signedintegeri,j,k;logic是一种比reg型更好的类型,他更加的完善。我们将会看到你可以在过去veriloghdl中用reg型或是wire型的地方用logic型来代替。非整数类型类型描述例子Time64-bitunsignedtimenow;ShortreallikefloatinCshortrealf;R

5、eallikedoubleinCdoubleg;Realtimeidenticaltorealrealtimenow;数组在Verilog-1995中,你可以定义标量或是矢量类型的网线和变量。你也可以定义一维数组变量类型的存储器数组。在Verilog-2001中允许多维的网线和变量数组存在,并且取消了一些存储器数组用法的限制。在SystemVerilog中数组有了新的发展,并对数组重新进行了重新定义,从而允许对数组进行更多的操作。在SystemVerilog,中,数组可以具有压缩数组或是非压缩数组的属性,也可以同时具有两种属性。考虑下面的例子:reg[3:0]

6、[7:0]register[0:9];压缩数组是[3:0]和[7:0],非压缩数组是[0:9]。(只要你喜欢可以有同样多的压缩数组和非压缩数组)压缩数组*保证将在存储器中产生持续的数据*可以复制到任何其他的压缩对象中*可切片("部分选取")*仅限于"bit"类型(bit,logic,int等),其中有些(如int)有固定的尺寸相比之下,非压缩数组可以放在模拟器选择的任何地方,可以可靠地复制到另一个相同数据类型的数组中。对于不同数据类型的数组,你必须使用映射(有几个非压缩数组映射到压缩数组的规则)。非压缩数组可以是任何的类型,如实数数组。SystemVerilo

7、g允许对完整的非压缩数组和部分选取的非压缩数组进行一些操作。对与此,部分选取的数组必须是相同的数据类型和大小。如非压缩数组必须要有相同的位数和长度。而压缩数组不一样,只要选取的部分有相同数量的位数。允许的操作有*读和写整个数组*读和写部分选取的数组*读和写数组中的位*在数组,部分选取的数组和数组的位有同样的优先级SystemVerilog也支持动态数组(在仿真中数组长度可以改变)和关联数组(数组中的数据非连续排列)。为了支持这些数组类型,SystemVerilog中提供了一些数组查找的函数和方法。如你可以使用$dimensions函数查询一个数组变量的的维数。

8、TypedefSystemVerilo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。