根据我对系统verilog事件调度程序的理解,我认为在每两个模拟步骤之间我们可以有几个增量周期,每个增量周期可以有许多事件,这些事件被分布到区域中,我们必须在进入下一个区域之前完成每个区域地区,但我想我错过了一些东西,那就是
我想知道调度在系统verilog中是如何工作的,我们是完成每个事件区域的增量周期还是我们首先完成每个增量周期(包括所有事件区域)
SystemVerilog 没有 delta 周期 的正式定义。但实际上,通常是指事件调度程序在当前时间步内跳回较早事件区域的任何时间。
IEEE 1800-2023 SystemVerilog LRM中的第 4.5 SystemVerilog 模拟参考算法具有所有事件区域执行的伪代码定义,可以将每个时间步简单地表述为:
如果您忽略程序块(我强烈建议不要使用),您可以忽略重新活动/非活动区域的所有额外复杂性。并假设观察区域每个时隙仅执行一次。