System verilog SystemVerilog中的$stable是否在公交车上运行?

System verilog SystemVerilog中的$stable是否在公交车上运行?,system-verilog,assertions,system-verilog-assertions,System Verilog,Assertions,System Verilog Assertions,我想验证总线在断言中是否稳定。例如,如果在重新下降沿之后时钟中的数据发生变化,我希望下面的断言标记错误 wire clk, rst_n, re; wire [15:0] data; a_chk_stable_data: assert property (@(posedge clk) disable iff(!rst_n) ($fell(re) |=> $stable(data[15:0]))) else begin $display("ERROR: one or

我想验证总线在断言中是否稳定。例如,如果在重新下降沿之后时钟中的数据发生变化,我希望下面的断言标记错误

wire clk, rst_n, re;
wire [15:0] data;

a_chk_stable_data:
  assert property (@(posedge clk) disable iff(!rst_n)
    ($fell(re) |=> $stable(data[15:0])))
  else begin
    $display("ERROR: one or more bits of data not stable");
  end
我相信$rose只在公共汽车的LSB上运行。$stable是否也只在LSB上运行,或者它是否支持任何宽度的信号?

根据,$stable对整个表达式运行。而$rose和$Fall操作表达式的LSB

根据第16.9.3节:

-如果表达式的LSB更改为1,$rose返回true。否则,它将返回false。 -如果表达式的LSB更改为0,$fell返回true。否则,它将返回false。 -如果表达式的值没有更改,$stable返回true。否则,它将返回false。 -如果表达式的值更改,$changed返回true。否则,它将返回false

根据我们的研究,$stable对整个表达式进行操作。而$rose和$Fall操作表达式的LSB

根据第16.9.3节:

-如果表达式的LSB更改为1,$rose返回true。否则,它将返回false。 -如果表达式的LSB更改为0,$fell返回true。否则,它将返回false。 -如果表达式的值没有更改,$stable返回true。否则,它将返回false。 -如果表达式的值更改,$changed返回true。否则,它将返回false