如果我通过引用调用任务并传递事件,则在事件触发后将不会在任务内部检测到该事件:
event e;
fork
test_ev(e);
begin
#1ms;
->e;
end
join
...
task ev(ref event e);
@(e)
do_something; // this will never happen
endtask
Run Code Online (Sandbox Code Playgroud)
玩这个测试平台:http://www.edaplayground.com/x/5YS7,似乎有些模拟器喜欢ref event,有些则没有.未发出编译警告,但该@(..)语句永远不会传递.
对我来说似乎是一个有效的SystemVerilog使用,是否有一个我不知道的警告?