我有一个“而”循环为OVM测试,看起来像这样的部分:如何检查特定超时条件后退出在OVM/Verilog的一个“而”循环
while (signal_val == 0) begin
signal_val = sla_vpi_get_value_by_name ("blah");
end
我想限制此循环120微秒,然后退出。如果(signal_val == 0)在120μs结束时仍不满足,我想退出测试。我如何实现这一目标?
我想我必须调用'global_stop_request()'退出测试,但试图检查while循环中的固定超时值(120μs)的现有条件似乎很棘手。此外,'休息'似乎并没有工作。有任何想法吗?
使用“休息”这样一来,但“破”试图给出一个语法错误:如您所期望
while (signal_val == 0) begin
signal_val = sla_vpi_get_value_by_name ("blah");
#120us;
break;
end
'break'不能正常工作?你是如何应用它的? – Serge
但我在这里意识到了两件事:1.'break'给出了语法错误。 2.正在添加120微秒的延迟,但条件未被检查120微秒。 – chmod
你收到了什么样的错误信息? – Serge