2013-03-27 3 views

답변

1

명명 된 이벤트의 경우 triggered 속성을 사용할 수 있습니다.

event ev; 
... 
wait (ev.triggered); 

자세한 내용은 2012 SystemVerilog LRM의 15.5.3 장을 참조하십시오.

0

IEEE 1647의 13.1.1의 일부는

동기화 작업을 항상가 실행되기 전에 TCM의 샘플링 이벤트 적어도 하나의 사이클을 필요로하는 대기 행동하는 것을 제외하고, 대기 동작과 유사하다라고 할 수 잇다. 동기화 작업을 통해 같은 시간 단계에서 실행을 계속할 수 있습니다. sync TCM은 동기화 동작 도달

들어 1647년에서 2008년까지

의 초안

부품은, 그 실행은 매우 다른 TCM 정지된다 또는 현탁 TCM 자체 수 실행 예정.

은 TCM은 대기 동작 도달 wait

들어, 그 실행은 매우 정지된다 TCM은 몇몇 다른 실행을 스케줄 할 수있다. 일시 정지 된 TCM 자체는 유휴 상태를 유지해야하며 다음 번 샘플링 이벤트가 발생할 때까지 예약하지 않아야한다.

다른 것들을 비교하고 있다고 생각합니다. SystemVerilog은 시뮬레이션 엔진 및 커널이며 Specman은 e언어로 작성한 내용을 모니터하고 확인하기 위해 커널의 애드온 또는 플러그인과 같습니다. 에서 SystemVerilog 이벤트는 시뮬레이션 이벤트 용이고 Specman은 TCM 프로세스에 대한 자체 이벤트를 생성합니다. 따라서 Specman에는 고유 한 TCM 프로세스 스케줄링이 있습니다. sync을 사용하면 추가주기없이 동기화 할 수 있습니다. wait을 사용하고 샘플링주기에 적어도 하나의주기를 야기하십시오. 물론 syncwait에 시간 표현이 없으면 둘 다 TCM 기본 샘플링 이벤트를 사용하며 하나 이상의주기를 가질 수 있습니다.

SystemVerilog도 이벤트 기반 시뮬레이터입니다. 그것은 각 시간 단계에서 델타 사이클을 가지고 있습니다. http://standards.ieee.org/getieee/1800/download/1800-2012.pdf에서 IEEE 1800-2012 SystemVerilog LRM을 다운로드하고 예약 참조 알고리즘에 대해서는 4.5를 참조하십시오. 시뮬레이터가 민감도 목록을 실행하도록 프로세스를 자동으로 예약하기 때문에 하드웨어 모델링에서 현재 시뮬레이션 시간 단계에서 제로 사이클 지연에 대해 명시 적으로 wait synx가 없습니다. 당신이 SystemVerilog를Specman을을 비교해야하는 경우, 그것은 특별히 의 SystemVerilog 어설 구문해야한다. 어설 션 프로세스가 다음 어설 션 표현식 이전에 0 사이클 지연을 가지게하려면 SVA에 ##0 구문이 있습니다.

관련 문제