
[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 변수를 사용하여 논리적인 이벤트를 감지하고, 이벤트에 따른 동작을 수행할 수 있습니다.
 
 
![[RPi] omv dashboard 안보일 때](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3C4-Ii1rGAh2KJ0psBHhxgQwjFxgA4RBerMSN3Q2o2GewXpXpyxxTgXZ4PDFVR-wIcmdmINuf_N7QNeNRCfHKCPT1mwFbn2yhex2fiDeNSl6T8kgWkTG71VkFqIXsIgBZFrIHxBRusqI0/w72-h72-p-k-no-nu/laptop-5906264_640.png) 
0 댓글