, 작업 안에 감지되지 않습니다 :이 테스트 벤치와 주변 재생이벤트를 Systemverilog에서 참조로 전달할 수 있습니까? 내가 작업을 호출하고 참조로 이벤트를 전달하면 이벤트가 트리거 된 후
event e;
fork
test_ev(e);
begin
#1ms;
->e;
end
join
...
task ev(ref event e);
@(e)
do_something; // this will never happen
endtask
: http://www.edaplayground.com/x/5YS7, 그것은 어떤 것으로 보인다 시뮬레이터는 ref 이벤트과 같으며 일부는 그렇지 않습니다. 컴파일 경고는 발행되지 않지만 @ (..) 문은 전달되지 않습니다.
내게 Systemverilog를 사용하는 것 같습니다. 누락 된주의 사항이 있습니까?
'event'의이 클래스 동작은 직관력이 없습니다. 그래서'input'이 작동하는 이유와 이해하는 것이 이해됩니다. 'ref '를 사용할 때 왜 작동하지 않는지 궁금합니다. 어쨌든이 작업 내에서 참조를 만들어야하지 않습니까? – chinocolerico
LRM이 여기 분명하지 않다고 생각합니다. 이것은 참조 이벤트에 대한 참조이므로 @e는 참조가 이벤트 트리거 자체가 아닌 다른 이벤트 객체로 변경되기를 기다리는 것으로 해석 될 수 있습니다. 아마도 불법적 인 구조로 만들어야 할 것입니다. –