在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3916|回复: 5

[求助] 求助:class内部的随机参数该如何随机化?

[复制链接]
发表于 2012-8-6 16:26:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位:
     遇到一个基本的systemverilog语法问题。我在my_class中使用了一个rand bit rw,然后,我想在这个class内部随机化这个变量,使用rw.randomize(),但是irun报错:
    rw.randomize();
           |
ncelab: *F,CUVUNF (./tb_run.sv,99|7):Hierarchical name component lookup failed at 'randomize'
    难道不能这样随机化么,一定要把这个rw放入一个另外一个class中么?
发表于 2012-8-6 23:07:34 | 显示全部楼层
randomize(rw)即可。对于变量,随机化不是这么做的,类的话,是有底层随机函数库支撑,所以可以用.randomize。
发表于 2012-8-7 09:35:04 | 显示全部楼层
Good answer. Got it.
 楼主| 发表于 2012-8-7 10:21:39 | 显示全部楼层
回复 2# gaurson

谢谢!
刚才试了一下,有个warning,请问没关系么,如下:
     randomize(rw);
                 |
ncvlog *W,FUNTSK (tb_run.sv 10|16):function called as a task vithout void'().

另外,我还想问一下,如果要对rw加额外的约束,是不是这样:
     randomize(rw) with {.......};
发表于 2012-8-7 23:13:16 | 显示全部楼层
是的,randomize是有返回值,如果不用的话,最好用void'()包起来,这样就不会有告警了。
 楼主| 发表于 2012-8-8 14:23:30 | 显示全部楼层
回复 5# gaurson

哦。终于知道了。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-19 17:22 , Processed in 0.017231 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表