Specman:为什么在MAIN序列完成后测试还没有完成?

时间:2016-03-03 10:40:32

标签: specman e test-bench

我编写的测试在MAIN序列完成后没有完成。 我没有提出TEST_DONE反对意见。我提出的反对意见全部被撤销。 实际上测试在所有序列流完成后很长时间内完成,在TEST BENCH超时。 你知道什么可能阻止测试结束吗? 我非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:2)

问题是我已经覆盖了vr_ad_sequence的{​​{1}}方法,结果发现它丢弃了post_body()(Specman UVM vr_ad包)。问题代码:

为了防止测试在所有MY异议被删除之前结束,添加了下一个代码:

TEST_DONE

解决方案是:将“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”。