代码之家  ›  专栏  ›  技术社区  ›  Halona

Specman E:同时事件错误

  •  0
  • Halona  · 技术社区  · 8 年前

    在我的环境中,我有一个信号,不能在两个时间点之间改变。为了验证它,我使用 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) 在同一个循环中发生(正常),但 期待 规则失败。

    你知道如何解决这个问题吗? 也许有某种方法可以指定事件顺序,或者告诉我们在同一个循环中发生是可以的?

    谢谢你的帮助

    1 回复  |  直到 8 年前
        1
  •  1
  •   Nils    8 年前

    您的序列没有指定相同的循环是否正常。

    试试这个:

    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;
    
    推荐文章