#systemverilog# 关于随机约束之 unique 关键字

本文介绍了SystemVerilog中`unique`关键字的使用,它用于确保在随机化过程中生成变量集的唯一值。内容涵盖普通数据类型、固定数组和动态数组类型的变量集,并通过示例代码解释了约束应用的规则和注意事项,强调了变量类型统一、数量限制以及动态数组的大小限制等关键点。
摘要由CSDN通过智能技术生成

前言

在随机约束中,我们可以使用关键字 unique 。

使用关键字unique定义的SystemVerilog约束称为唯一约束。在随机化中,使用唯一约束可以生成变量集的唯一值或数组的唯一元素。这里着重解释一下变量集:是同一类型随机变量的集合。

通过unique约束我们可以完成以下任务:

  1. 在unique 定义的变量集内,生成唯一的随机数值
  2. 在数组中生成唯一元素,数组包括:固定大小数组、动态数组、关联数组和队列

普通数据类型变量集

我们看上述代码:

代码指示1处,定义三个 位宽 1:0 的 变量 var_1、var_2、var_3 ;

代码指示2处,定义一个 位宽 1:0 的 变量 var_4

代码指示3处,定义一个 位宽 1:0 的 变量 var_5

在代码第9行,我们使用 unique 唯一约束关键字 完成唯一约束。下面三行, 前两行,可以正常完成随机,最后一行随机失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那么菜

你的鼓励和批评是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值