Simulation을 돌리다 보면 simulation을 돌리는 module의 동작을 다 마쳤음에도 불구하고
언제 끝내야하는지 몰라 넉넉히 돌려야만 하는 경우가 생긴다.
이럴 때 module의 동작이 끝났음을 알리는 signal을 확인하여 simulation을 종료시키는
verilog system command가 $finish이다.
예를 들어 이를 살펴보도록 하자
initial
begin
@(posedge module_end_signal)
#1000
$display("$time: Module ended");
$finish;
#1000
$display("$time: Module ended");
$finish;
end
위와 같이 module의 동작이 모두 끝났다는 signal, module_end_signal가 1이 되게 되면
(보통 module 동작의 끝났음을 알리는 interrupt signal같은 signal을 활용할 수 있다)
$finish를 실행하여 simulation을 마친다.
위와 같이 module의 동작이 모두 끝났다는 signal, module_end_signal가 1이 되게 되면
(보통 module 동작의 끝났음을 알리는 interrupt signal같은 signal을 활용할 수 있다)
$finish를 실행하여 simulation을 마친다.
'RTL' 카테고리의 다른 글
Power Consumption 줄이는 첫단계 (0) | 2011.02.11 |
---|---|
Dump 받기 (0) | 2011.02.11 |
Clock Control (0) | 2011.02.10 |
AXI narrow write operation (0) | 2010.11.24 |
SystemVerilog Syntax vi Plug-in (0) | 2010.06.14 |