Examples
property check
(@ posedge clk) $rose(a) -> ##1 b[*3] ##1 c
endproperty
checker : assert property(check)
在上式中,需要关注的两点:
- 并发断言的采样时钟边沿的跳变,是否和时序逻辑采样值一样?
- $rose和posedge是否一样?
并发断言的采样
并发断言是根据每个时钟边沿的采样值,进行逻辑判断后,确认断言的成功和失败。
和正常的时序逻辑采样相同,在时钟沿跳变的变量,在当前时钟沿采的都是变化之前的值。
例如: 上例中在T2 的时候,a的采样值为0 而不是1.
$rose 和 posedge的区别
$rose和posedge都是用来捕捉边沿,但定义有所不同:
posedge
Define : 数值由0->1的时刻
例如 : 上例中T2就是a的一个posedge