【问题标题】:Specman: Why test has not finished after the MAIN sequence is finished?Specman:为什么在 MAIN 序列完成后测试还没有完成?
【发布时间】:2016-03-03 10:40:32
【问题描述】:

我写的一个测试在 MAIN 序列完成后没有完成。 我没有提出 TEST_DONE 反对意见.. 我提出的反对意见都被放弃了。 实际上测试在所有序列的流程完成后很久就完成了,在测试台超时.. 您知道什么可能会阻止测试结束吗? 非常感谢您提供的任何帮助。

【问题讨论】:

  • 如果这是由未决异议引起的,您可以在 Specman 命令行上尝试“显示异议”。仿真时间到底还在进行吗?
  • 第二个想法,问题可能是您没有使用 TEST_DONE。在这种情况下,只能通过 stop_run() 来停止测试。

标签: specman e test-bench


【解决方案1】:

问题是我重写了vr_ad_sequence 的post_body() 方法,结果发现它丢弃了TEST_DONE(Specman UVM vr_ad 包)。问题代码:

为了防止测试在我的所有反对意见都被放弃之前结束,添加了下一个代码:

extend MAIN vr_ad_sequence {
    post_body()@sys.any is only {
        // Wait till all (my) objections are dropped
        sync true ( my_env.get_objection_counter(MY_OBJECTIONS) == 0 );
    };
};

解决方案是:将“is only”更改为“is first”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2019-08-28
    • 2017-10-17
    相关资源
    最近更新 更多