System verilog 以下协议的SVA

System verilog 以下协议的SVA,system-verilog,system-verilog-assertions,System Verilog,System Verilog Assertions,我编写了以下SVA,但它没有捕获即时ack。我该怎么解决这个问题 @(posedge clk) $rose(val) |=> ( $stable(data) && !ack && val ) ##[1:64] ( ack && val ) ##1 ( !ack && !val ) 查看您的断言,它不会捕获立即确认,因为您期望的序列不包括带有的立即确认!确认。我将把你的断言改写为: sequence seq;

我编写了以下SVA,但它没有捕获即时ack。我该怎么解决这个问题

@(posedge clk) 
  $rose(val) |=> 
    ( $stable(data) && !ack && val ) ##[1:64] ( ack && val ) ##1 ( !ack && !val ) 

查看您的断言,它不会捕获立即确认,因为您期望的序列不包括带有
的立即确认!确认
。我将把你的断言改写为:

sequence seq;
  $stable({address, data}) ##[0:63] (val && ack && $stable({address, data})) ##1 !ack ##1 !val;
endsequence
 
property p;
  @(posedge clk) 
     $rose(val) |=> seq;
endproperty

as_protocol : assert property(p);

你是怎么测试的?你有一个可复制的例子吗?