본문 바로가기

Verilog/HDLbits

[HDLBits] Fsm2

1. 문제 및 설명

  • 두 가지 상태를 가지는 아래 FSM을 설계하시오
    • 비동기식 리셋을 가진다.
    • reset 상태는 OFF이다.

2. 모듈 정의

module top_module(
    input clk,
    input areset,    // Asynchronous reset to OFF
    input j,
    input k,
    output out);

 

 

3. 답

module top_module(
    input clk,
    input areset,    // Asynchronous reset to OFF
    input j,
    input k,
    output out); //  

    parameter OFF=0, ON=1; 
    reg state, next_state;

    always @(*) begin
        // State transition logic
        case(state)
            OFF: next_state = (j==1)?ON:OFF;
            ON: next_state = (k==1)?OFF:ON;
        endcase
    end

    always @(posedge clk, posedge areset) begin
        // State flip-flops with asynchronous reset
        if(areset)
            state <= OFF;
        else
            state <= next_state;
    end

    // Output logic
    // assign out = (state == ...);
    assign out = (state == ON);
          

endmodule

'Verilog > HDLbits' 카테고리의 다른 글

[HDLBits] Fsm3comb  (0) 2026.03.06
[HDLBits] Fsm2s  (0) 2026.02.01
[HDLBits] Fsm1s  (0) 2026.02.01
[HDLBits] Fsm1  (0) 2026.02.01
[HDLBits] Rule110  (0) 2026.01.25