SystemVerilog数字集成电路功能验证课件 (7).pdf

SystemVerilog数字集成电路功能验证课件 (7).pdf

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

SystemVerilog芯片验证

第6章随机化

2024年2月7日

SystemVerilog芯片验证2024年2月7日1/35

带有随机属性的类随机属性

随机属性

1标准随机属性(rand):它的每次随机化都是独立的,其随机值在取值范围

内均匀分布。

2循环随机属性(randc):它在随机化时会将取值范围内的数值逐个随机取

出,随机化的取值范围会越来越小。当全部数值被取出后再次重复前面的

操作。

4classtransaction;

5randbit[3:0]a,b;

6

7virtualfunctionvoidprint(stringname=);

8$display(%s:a=%0d,b=%0d,name,a,b);

9endfunction

10endclass

SystemVerilog芯片验证2024年2月7日2/35

带有随机属性的类随机属性

6moduleautomatictest;

7initialbegin

8transactiontr;

9tr=new();

10repeat(16)begin

11assert(tr.randomize());

12tr.print();

13end

14end

15endmodule

:a=9,b=12

:a=11,b=0

:a=10,b=6

...

SystemVerilog芯片验证2024年2月7日3/35

带有随机属性的类约束块

约束块

约束表达式描述了单个随机属性的取值范围,也可以描述随机属性之间的依赖

关系。

每个约束表达式只能使用一个关系运算符,

约束表达式间如果存在约束冲突会导致随机化失败。

4classconfig_info;

5randbit[3:0]b;//随机属性

6endclass

7

8classtransaction;

9randbit[3:0]a;//随机属性

10randconfig_infocfg_info;//随机句柄不可定义成randc类型

11

12functionnew(inputbit[3:0]a=0);

13this.a=a;

14cfg_info=new();

SystemVerilog芯片验证2024年2月7日4/35

带有随机属性的类约束块

:a=2,b=15

:a=5,b=8

:a=8,b=12

...

SystemVerilog芯片验证2024年2月7日5/35

带有随机属性的类随机化方法

随机化方法

randomize是类的内置方法,它按照约

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档