[VerilogHDL] 04_데이터 타입_event
1. event
Verilog HDL에서 event
는 이벤트를 나타내기 위해 사용되는 특수한 변수입니다. event
변수는 논리적인 이벤트가 발생했음을 나타내는 신호로 사용됩니다. 다음은 event
에 대한 상세한 설명입니다**(시뮬레이션 ONLY)**
1.1 이벤트
event
는 논리적인 이벤트가 발생했음을 나타내는 신호입니다. 이벤트는 주로 비동기적인 상황이나 외부 입력을 감지하는 데 사용됩니다. 예를 들어, 외부 신호의 변화, 인터럽트, 타이머 만료 등을 이벤트로 나타낼 수 있습니다.
1.2 선언과 할당
event
변수는 event
데이터 타입으로 선언됩니다. 선언된 event
변수는 이벤트가 발생했을 때 event
변수에 할당되어 해당 이벤트를 표현합니다.
1.3 조건 검사
event
변수는 조건문에서 사용될 수 있습니다. 특정 조건을 충족할 때 이벤트가 발생하는지 여부를 확인하거나, 이벤트가 발생했을 때 동작을 수행할 수 있습니다. event
변수는 일종의 플래그로 사용되며, 조건문에서 event
변수를 확인하여 이벤트를 감지합니다.
1.4 감지와 재설정
event
변수는 ->
연산자를 사용하여 감지되고 재설정될 수 있습니다. 이벤트를 감지하면 event
변수가 1
로 설정되고, 이벤트를 재설정하면 event
변수가 0
으로 재설정됩니다. 이를 통해 이벤트가 발생한 후에는 추가적인 동작을 수행할 수 있습니다.
2. 예제 코드
module EventExample;
event myEvent;
initial begin
#10;
-> myEvent; // 이벤트 감지
if (myEvent) begin
$display("Event detected");
-> myEvent; // 이벤트 재설정
end
#20;
if (myEvent) begin
$display("Event detected again");
end
$finish;
end
endmodule
위의 예제 코드에서는 EventExample
모듈을 선언하고, myEvent
라는 event
변수를 정의합니다.
initial
블록에서는 시뮬레이션을 초기화하고, 일정 시간이 경과한 후 myEvent
를 감지합니다. 이벤트가 감지되면 $display
를 사용하여 메시지를 출력하고, myEvent
를 재설정합니다.
다음으로 추가적인 시간이 경과한 후에도 myEvent
가 감지되면 메시지를 출력합니다.
$finish
문은 시뮬레이션이 종료되도록 설정합니다.
이를 통해 event
변수를 사용하여 논리적인 이벤트를 감지하고, 이벤트에 따른 동작을 수행할 수 있습니다.
0 댓글