返回介绍

12.5.1 randomize()

发布于 2020-09-09 22:55:50 字数 571 浏览 1000 评论 0 收藏 0

一个对象中的变量使用randomize()类方法进行随机化。每一个类都有一个内建的randomize()虚拟方法,它的声明原型如下:

virtual function int randomize();

randomize()方法是一个虚拟函数,它为对象中的所有活跃随机变量产生随机值,产生的随机值应该符合活跃的约束。

如果randomize()方法成功地设置了所有的随机变量和对象的有效值,那么它返回1;否则返回0。

例子:

class SimpleSum;
    rand bit [7:0] x, y, z;
    constraint c {z == x + y;}
endclass

这个类定义声明了三个随机变量xy、和z。调用randomize()方法应该随机化类SimpleSum的一个实例:

SimpleSum p = new;
int success = p.randomize();
if (success == 1) ...

检查返回状态是很有必要的,因为状态变量或继承类中约束的增加都会导致表面上简单的约束不再满足。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文