Specman e:同时发生的事件错误

Specman e: simultaneous events error

在我的环境中,我有一个信号不能在 2 个时间点之间改变。为了验证它,我使用 expect 规则:

my_signal : uint; 
event first_e; -- First time point
event second_e; -- Second time point
expect @first_e => {[0..]*(not {change(my_signal)}); @second_e} @clock;

问题是 @second_echange(my_signal) 出现在同一个周期(并且没问题)但是 expect 规则失败。

您知道如何解决吗? 也许有一些方法可以指定事件顺序或告诉在同一个循环中发生是可以的?

感谢您的帮助

你的序列没有指定相同的循环是可以的。

试试这个:

event my_sig_change is change(my_signal)@clock;
expect @first_e => {[0..]* not @my_sig_change; @second_e or (@second_e and @my_sig_change) } @clock;