3

场景是:信号active可以是 1 个周期、2 个周期、3 个周期或 4 个周期宽,具体取决于config[1:0]模块的输入

为此编写属性的最简单方法是:

property p_PropA;
    @(posedge clk) $rose active ##config ~active;
endproperty

但它在语法上是错误的。写这个断言的正确方法是什么?

4

1 回答 1

3

您需要使用局部变量,请参阅IEEE Std 1800-2012 § 16.10局部变量

这是一个简单的例子:

property p_PropA;
  int count;
  @(posedge clk)
  ($rose(active),count=config) |->
    (active,count--)[*] ##1 (~active && count==0);
endproperty
于 2015-06-03T23:08:37.520 回答