1.随机化概述
(1)随机测试与定向测试
定向测试能找到你认为可能存在的缺陷,而随机测试可以找到连你都没有想到的缺陷。随机测试的环境要求比定向测试复杂,它需要激励、参考模型和在线比较。上百次的仿真不再需要人为参与,以此来提高验证效率。随机测试相对于定向测试可以减少相当多的代码量,而产生的激励较定向测试也更多样。如果说定向测试是"站着测”,那么随机测试就是"躺着测"、“跪着测"、“跑着测",各种花式测,只有想不到,没有测不到.
(2) 随机的对象

(3)关键字
//
rand/randc:
表明变量的随机属性;randc表示周期随机性,即所有可能的值都赋过值后随机值才可能重复。
注意的是:必须是类的变量才能使用;关键字不能出现在module,也不能出现在类的方法局部变量中。
//
randomize()函数:
随机属性需要配合SV预定义的类随机函数std::randomize()"使用。即只有通过声明rand变量,并且在后期通过对象调用randomize()函数才可以随机化变量。std常是对象的句柄。该函数会返回1或0;1表示随机化成功。
(4)声明随机变量的类

2.约束
(1)简述

本文介绍了随机化验证的基础概念,包括随机测试与定向测试的区别、如何使用rand/randc关键字及randomize()函数进行随机变量声明与操作,以及约束的定义与应用。通过多个实例展示了inside关键字的使用方法和条件约束的设定。
3701

被折叠的 条评论
为什么被折叠?



