SystemVerilog 中的前置区域

Prepone Region in SystemVerilog

SystemVerilog 仿真中,prepone 区域是给定时隙中的几个区域之一。这个区域的实际用途是什么?任何人都可以用一个有效的例子来解释这个吗?

preponed 区域是当前时隙开始时所有信号状态的概念名称。根据定义,preponed 区域中的信号状态与前一个时隙的 postponed 区域的状态相同。

preponed 状态用作断言中使用的任何信号的采样值,时钟除外。使用这些采样语义消除了时钟和作为断言语句一部分的布尔表达式之间出现竞争条件的可能性。

SystemVerilog 事件队列中共有 17 个区域,包括 PLI 区域,preponed 区域是其中之一。

preponed 区域的实际使用来自 assetions.并发断言在观察区域中评估,但在预定区域。

在 SystemVerilog 的事件队列中没有来自活动区域或来自反应区域的可用反馈循环,这意味着提前区域仅执行一次,因为 采样值 总是与时钟事件或表达式相关联,它需要首先在预定区域中处理,并且在分配或用于其他区域之前也在分配的时隙中处理。

由于事件从前一个时间段到达。

,所以对于提前区域和延迟区域的采样过程是相同的