我很好奇当我们指定了一个事件并且我们还使用
covergroup
来表示 type_option.strobe = 1
时,采样是如何在 SystemVerilog covergroup
中发生的。例如:
covergroup c @(posedge clk)
type_option.strobe=1;
strobe
表示采样发生在推迟区域,但是 @(posedge clk)
作为事件在活动区域进行评估。采样函数如何解决这个问题?
我尝试阅读 LRM,但它的凝聚力不是很强。
来自 IEEE Std 1800-2017,表 19-3—覆盖组类型(静态)选项:
频闪=布尔值
当为真时,所有样本都发生在时间结束时 插槽,如
系统任务。$strobe
此外,第 4.4.2.9 节推迟的事件区域:
、$monitor
以及其他类似活动都安排在 推迟地区。$strobe
因此,设置
strobe=1
会强制采样发生在推迟区域。如果 strobe=0
,采样不会被强制进入推迟区域。