硅芯思见:SystemVerilog中的静态约束

本文介绍了SystemVerilog中的static约束机制,用于实现类中所有对象共享约束块的控制。通过示例展示了非静态约束和静态约束的区别,解释了如何通过一个对象控制同一类型所有对象的约束状态,强调了static约束在多对象同步控制中的作用。
摘要由CSDN通过智能技术生成

更多内容请关注下面公众号,其中更新更多内容!

硅芯思见

本文纯属学习之用,欢迎指正文中不足,封面图片若有侵权,请及时沟通!

在一个类中设置约束时,有时会需要该类的所有对象都可以实现对于概率约束块的共享控制,从而达到一呼百应的效果,在SystemVerilog中提供了一种static约束机制,实现了约束块的共享控制。本文将通过示例说明static约束块如何实现一个对象对多个对象的约束块的统一控制。

【示例】非静态约束块

【仿真结果】

示例中,类A中定义了一个约束块c_limit,在top_tb中声明了两个句柄Aobj0和Aobj1,在没有对约束块进行任何控制的情况下,分别对2个句柄指向的对象进行随机化,从仿真结果可以看到两个对象的随机值分布情况一样。然后通过句柄Aobj0调用constraint_mode()控制约束块c_limit不使能,再次通过两个句柄调用randomize进行随机化,通过仿真结果可以观测到,仅Aobj0指向的对象随机不受约束块c_limit控制&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硅芯思见

你的鼓励是我创作的最大源泉

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

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

打赏作者

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

抵扣说明:

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

余额充值