본문 바로가기

Verilog/HDLbits

[HDLBits] Exams/2014 q3bfsm

1.    문제 및 설명

     A.   아래 표에 주어진 상태 할당 테이블을 이용하여 유한 상태 머신을 구현하시오

 

 

2.    문제 풀이

     A.     State 

  • A: 000
  • B: 001
  • C: 010
  • D: 011
  • E: 100

4. 모듈 정의

module top_module (
    input clk,
    input reset,   // Synchronous reset
    input x,
    output z
);

 

 

5. 답

module top_module (
    input clk,
    input reset,   // Synchronous reset
    input x,
    output z
);
    parameter A = 3'b000,B = 3'b001, C= 3'b010, D = 3'b011, E = 3'b100;
    reg [2:0] state, next_state;
    
    always@(*)
        begin
            case(state)
                A: next_state = x?B:A;
                B: next_state = x?E:B;
                C: next_state = x?B:C;
                D: next_state = x?C:B;
                E: next_state = x?E:D;
            endcase
            
            z = (state==D)|(state==E);
        end
    
    always@(posedge clk)
        begin
            if(reset)
                begin
                    state <= A;
                end
            else
                begin
                    state <= next_state;
                end
        end
    
                    

endmodule

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

[HDLBits] Exams/m2014 q6b  (0) 2026.05.17
[HDLBits] Exams/2014 q3c  (0) 2026.05.17
[HDLBits] Exams/2014 q3fsm  (0) 2026.05.17
[HDLBits] Exams/ece241 2014 q5b  (0) 2026.05.10
[HDLBits] Exams/ece241 2014 q5a  (0) 2026.05.10