【发布时间】:2020-12-15 12:36:30
【问题描述】:
我正在使用 OVM
我的代码在一个地方触发了一个 ovm 事件(我添加了一个打印来确认)。但是,在另一个地方,我正在等待那个触发器,它只被“捕获”一次(在这里我也添加了一个打印来确认)。
function void trigger_event_for_incoming_transaction(ovm_object txn);
if (is_type_1(txn))
type_1.trigger(txn);
endfunction
还有其他地方:
task look_for_type_1();
forever begin
type_1.wait_trigger_data(my_obj);
end
endtask
由于 intelucal 属性,我无法粘贴大部分代码... 但是我正确地注册了事件等等。
【问题讨论】:
-
您需要提供更多信息。绝对不清楚您的 type_1 是什么以及它如何与“事件”一起使用。在这两种情况下如何以及在何处声明变量,...如果您能提供一个可重现的小例子,那就太好了。但是,我不确定周围是否还有很多 ovm。为什么不使用“uvm”?
-
这是一个老项目...你到底需要知道什么?
标签: events system-verilog uvm