在我的环境中,我有一个信号,不能在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_e
和change(my_signal)
出现在同一个周期(并且没问题),但expect
规则失败。
你知道如何解决它吗? 也许有一些方法可以指定事件顺序或者告诉同一个循环事件是否正常?
感谢您的帮助
答案 0 :(得分:1)
您的序列未指定相同的循环正常。
试试这个:
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;