激励随机约束和分布

本文介绍了SystemVerilog中的随机激励生成,包括约束和分布的使用。内容涵盖器件和环境配置、数组约束、随机序列等,强调了随机变量的约束范围以及不同随机函数的应用,如`randc`和`rand`的区别。此外,还讨论了如何控制约束块,处理冲突,并展示了如何对数组进行随机操作。
摘要由CSDN通过智能技术生成

随机激励包括:

  1. 器件配置:寄存器和系统信号
  2. 环境配置:初始环境配置,例如合理的时钟,和外部反馈信号。
  3. 原始输入数据:数据包的长度,带宽,数据包间顺序
  4. 延迟:握手信号之间的时序关系,req请求和ack之间的延迟响应。
  5. 协议异常:给出随机异常反馈,确保dut处理数据的稳定性。

说明:
所有的随机激励应该放到随机类class中,随机变量使用rand或者randc来表明随机属性。在调用随机化变量时,使用randomize()函数做随机化处理,产生一个随机化值。
另外随机变量需要被约束constraint,产生随机值,必须在约束范围内。

例子:
assert 判断随机化是否成功,成功返回1,不成功返回0,相当于if语句。只有返回1时,才会往下走。
randrandc 的区别:rand 是全不随机,randc 是周期随机,下次随机的数跟上次随机的数不一样,可以遍历所有的约束值。
sv只能随机出2值逻辑,无法随机出x

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值