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 |