更多内容请关注下面公众号,其中更新更多内容!
硅芯思见
本文纯属学习之用,欢迎指正文中不足,封面图片若有侵权,请及时沟通!
在一个类中设置约束时,有时会需要该类的所有对象都可以实现对于概率约束块的共享控制,从而达到一呼百应的效果,在SystemVerilog中提供了一种static约束机制,实现了约束块的共享控制。本文将通过示例说明static约束块如何实现一个对象对多个对象的约束块的统一控制。
【示例】非静态约束块
【仿真结果】
示例中,类A中定义了一个约束块c_limit,在top_tb中声明了两个句柄Aobj0和Aobj1,在没有对约束块进行任何控制的情况下,分别对2个句柄指向的对象进行随机化,从仿真结果可以看到两个对象的随机值分布情况一样。然后通过句柄Aobj0调用constraint_mode()控制约束块c_limit不使能,再次通过两个句柄调用randomize进行随机化,通过仿真结果可以观测到,仅Aobj0指向的对象随机不受约束块c_limit控制&#x