在断言中如何使信号稳定一段时间

时间:2019-06-26 19:06:14

标签: system-verilog uvm system-verilog-assertions

假设我有一个断言如下。现在在这里,我希望信号A在上升之后保持稳定一段时间。也就是说,在第一次出现D == 4之前,A应该一直为高,之后它可以随时降低。 我也不想在此断言中使用## [0:$]。

任何帮助/建议将不胜感激。谢谢。

property p_check(A,B,C,D,E);
     @(posedge clk) disable iff(!resetn)
      $rose(A) ##1 B ##0 (C == 3) ##0 (D != 2) |=> (D == 4)[->1] ##[0:2] (!E throughout A);
   endproperty : p_check


1 个答案:

答案 0 :(得分:1)

您应该将此作为单独的属性编写。

 @(posedge clk) disable iff(!resetn)
    rose(A) |=> $stable(A) until (D==4);