开发定向测试需要很长时间,因为您必须考虑所有可能的场景以验证不同的功能。你很可能会错过一些角落的案例。因此,我们希望能够生成在有效范围内的随机值,并将这些随机值应用于我们感兴趣的信号。
简单地运行随机测试没有多大意义,因为会有许多无效案例。我们创建具有有效配置的随机测试的方法是使用约束。这种验证方式通常称为约束随机验证(CRV,Constrained Random Verification)。
要对变量启用随机化,必须将变量声明为rand或randc。两者之间的区别在于randc本质上是循环的,因此在随机化之后,只有在应用了所有其他值之后,才会再次选取相同的值。如果随机化成功,randomize()将返回1