System Verilog约束块(constrain block)控制和随机变量的随机属性控制

本文介绍了System Verilog中的constrain_mode()和rand_mode()函数,用于控制约束块和随机变量的随机属性。constrain_mode()可以开启或关闭约束块,而rand_mode()则用于管理随机变量的随机行为。这两个函数都是内嵌函数,不可重载,并且对对象及其内部变量有不同的影响。
摘要由CSDN通过智能技术生成


在一个对象中,可能会有很多的约束块,在实际使用时,我们希望一些随机块起作用,一些随机块不起作用,这就需要控制开关来控制约束块。在system verilog中提供了constrian_mode()函数来打开或关闭约束,同时也提供了随机变量的控制函数rand_mode()来控制变量的随机性,当随机变量的随机属性被关闭时,它就不在是一个随机变量,randomize()函数不会对其赋。

1、constrain_mode()函数

System Verilog中constrain_mode()方法的定义:

task object[.constraint_identifier]::constraint_mode( bit on_off );
或
function int object.constraint_identifier::constraint_mode();

当constrain_mode()作为task调用时,控制约束块的开启和关闭:

objec.constrain.constrain_mode(0);//关闭object的constrain约束块;
objec.constrain.constrain_mode(1);//打开object的constrain约束块;

当constrain_mode()作为function调用时,返回约束块的开启或关闭的状态:

ret = objec.constrain.constrain_mode();
//返回对象object的constrain的开启或关闭的状态

a、constrain_mode()可

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值