- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于断言的验证技术
SystemVerilog Tutorials
下面的手册会帮助你了解一些SystemVerilog中最重要的新特点。手册还提供了一些代码样本和例子使你可以对语言有更好感觉。这些辅导假设你们已经了解了一些Verilog语言。如果没有,你可以先去看看Verilog设计者指南(Verilog Designer’s Guide)。
* Data types
* RTL design
* Interfaces
* Clocking
* Assertion-based verification
* Classes
* Testbench automation and constraints
* The Direct Programming Interface (DPI)
SystemVerilog 的数据类型
这个手册将描述Systemverilog新引进的数据类型。他们大多数都是可以综合的,并且可以使RTL级描述更易于理解和书写。
整型和实型
SystemVerilog引进了几种新的数据类型。C语言程序员会熟悉其中的大多数。引进新的数据类型构思是这样的,如果C语言和SystemVerilog有相同的数据类型可以使C语言算法模型更容易的转化为SystemVerilog模型。
Verilog的变量类型有四态:既是0,1,X,Z。SystemVerilog引进了新的两态数据类型,每一位只可以是0或是1。当你不需要使用的X和Z值时,譬如在写Testbench和做为for语句的循环变量。使用两态变量的RTL级模型,可以使模拟器更有效率。并且使用得当的话将不会对综合结果产生影响。
二态整型
类型 描述 例子
Bit user-defined size bit [3:0] a_nibble;
Byte 8 bits, unsigned byte a, b;
Shortint 16 bits, signed shortint c, d;
Int 32 bits, signed int i,j;
Longint 64 bits, signed longint lword;
注意到和C语言不一样,SystemVerilog指定了一些固定宽度的类型。
四态整型
类型 描述 例子
Reg user-defined size reg [7:0] a_byte;
Logic identical to reg in every way logic [7:0] a_byte;
Integer 32 bits, signed integer i, j, k;
logic是一种比reg型更好的类型,他更加的完善。我们将会看到你可以在过去verilog hdl中用reg型或是wire型的地方用logic型来代替。
非整数类型
类型 描述 例子
Time 64-bit unsigned time now;
Shortreal like float in C shortreal f;
Real like double in C double g;
Realtime identical to real realtime now;
数组
在Verilog-1995中,你可以定义标量或是矢量类型的网线和变量。你也可以定义一维数组变量类型的存储器数组。在Verilog-2001中允许多维的网线和变量数组存在,并且取消了一些存储器数组用法的限制。
在SystemVerilog中数组有了新的发展,并对数组重新进行了重新定义,从而允许对数组进行更多的操作。
在SystemVerilog,中,数组可以具有压缩数组或是非压缩数组的属性,也可以同时具有两种属性。考虑下面的例子:
reg [3:0][7:0] register [0:9];
压缩数组是[3:0]和[7:0],非压缩数组是[0:9] 。(只要你喜欢可以有同样多的压缩数组和非压缩数组)
压缩数组
* 保证将在存储器中产生持续的数据
* 可以复制到任何其他的压缩对象中
* 可切片(部分选取)
* 仅限于bit类型(bit, logic, int等),其中有些(如int)有固定的尺寸
相比之下,非压缩数组可以放在模拟器选择的任何地方,可以可靠地复制到另一个相同数据类型的数组中。对于不同数据类型的数组,你必
您可能关注的文档
- SQL入门级教程之存储过程.doc
- sql入门总纲.doc
- sql时间格式.doc
- SQL实用技巧.doc
- SQL使用空值.doc
- SQL试卷1.doc
- sql收藏.doc
- SQL数据操作基础.doc
- SQL数据操作基础(初级).doc
- SQL数据库操作基础类.doc
- 2025H1全球短剧营销白皮书-广大大&Wetrue&Reelforce.pdf
- PWC普华永道:2024年越南税务手册(繁体版).pdf
- 阿里巴巴:2025年环境、社会和治理(ESG)报告.pdf
- 基于人力资源视角之垂直行业发展动向观察报告(2025年3月刊).pdf
- 基于人力资源视角之垂直行业发展动向观察报告(2024年11月刊).pdf
- 2024電子及電訊業人力更新報告.pdf
- 2025年财富报告第(19版)-莱坊.pdf
- 2025H1全球手游营销与变现白皮书-广大大&Tenjin&NewsBreak.pdf
- 2025年让企业文化“出圈”:打造激发员工活力并驱动转型增长的企业文化指南(英文版).pdf
- 2025年全球酒精饮料品牌价值排行榜报告(英文版).pdf
文档评论(0)