SV 断言标记不正确的 verilog 事件区域

问题描述

是否有系统 verilog 结构可以在 verilog 事件队列中的 NBA 区域切换信号时标记错误? 类似的东西

if($toggled_in_nba(clk))
begin
     `uvm_error()
end

解决方法

语言中没有任何内容。无论如何,NBA 地区没有任何变化——活跃地区的一切都在变化。当活动区域中没有更多事件时,非活动区域中的事件变为活动状态,从而可能调度更多事件。这将递归地进行,直到在活动或非活动区域中不再有安排的事件。然后安排在 NBA 地区的赛事变得活跃,这个循环一直持续到任何地区都没有剩余的赛事。只有这样时间才能前进。

大多数工具都能够按照模拟器生成的相同顺序记录信号变化,因此您可以看到相对顺序。但您可能需要查看 XY problem 以确保您已经真正说明了您要实现的目标。