前言
在随机约束中,我们可以使用关键字 unique 。
使用关键字unique定义的SystemVerilog约束称为唯一约束。在随机化中,使用唯一约束可以生成变量集的唯一值或数组的唯一元素。这里着重解释一下变量集:是同一类型随机变量的集合。
通过unique约束我们可以完成以下任务:
- 在unique 定义的变量集内,生成唯一的随机数值
- 在数组中生成唯一元素,数组包括:固定大小数组、动态数组、关联数组和队列
普通数据类型变量集
我们看上述代码:
代码指示1处,定义三个 位宽 1:0 的 变量 var_1、var_2、var_3 ;
代码指示2处,定义一个 位宽 1:0 的 变量 var_4
代码指示3处,定义一个 位宽 1:0 的 变量 var_5
在代码第9行,我们使用 unique 唯一约束关键字 完成唯一约束。下面三行, 前两行,可以正常完成随机,最后一行随机失败。
可见,变量集的唯一随机约束,必须满足:
(1)所有变量集内变量的类型统一:数据类型统一,位宽统一
(2ÿ