一、随机约束和分布
为何需要随机
随机测试利用参考模型和在线比较,提高了
为何需要约束
随机没有约束,会产生一些非法和无效的激励,具体随机的过程是,随机的对象是一些变量集,通常这些变量会被封装在一个数据类中(class trans extends uvm_transaction),同时在类中声明变量之间的约束关系,而之后利用求解器(软件层面)来产生满足约束关系的随机数值解。
随机了什么
这个问题需要建立在一定经验上来理解,暂且分类去下:
器件配置:
环境配置:随机化验证环境env
原始输入数据:data、trasaction
延时:握手信号间的时序关系
时序异常:????
如何随机化变量
rand和randc
如何约束
权重
条件约束
双向约束
二、约束块控制
约束开关
内嵌约束
soft软约束
三、随机函数
随机函数
如何随机个别变量
四、数组约束
数组中的属性约束
约束数组中的部分元素
产生唯一元素值的数组
数据约束的示例
随机句柄数组
五、随机控制
随机序列
随机控制