1. 문제 및 설명
- 이 문제는 복잡한 카운터를 만들기 위한 5단계 중 세번째 단계입니다.
2. 요구사항
A. 시프트 레지스터를 제어하기 위한 FSM의, 일부로 적적한 비트 패턴이 감지될 때마다 정확히 4클록 주기 동안만 쉬프트 레지스터를 활성화하는 기능을 구현하세요.
- 시퀸스 감지는 이전단계에서 처리하므로, 이 FSM 부분은 오직 시프트 레지스터를 4클록 주기 동안 활성화 하는 역할만 담당합니다.
- FSM이 리셋되면 shift_ena 신호를 4클록 주기동안 1로 만든뒤, 그 다음부터는 리셋될 때까지 영원히 0을 유지해야 합니다.
3. 모듈 정의
module top_module (
input clk,
input reset, // Synchronous reset
output shift_ena);
4. 답
module top_module (
input clk,
input reset, // Synchronous reset
output shift_ena);
reg [2:0] cnt;
always@(posedge clk)
begin
if(reset)
begin
shift_ena = 1'b1;
cnt <= 3'b0;
end
else
begin
cnt <= cnt + 1'b1;
if(cnt==3)
shift_ena = 1'b0;
end
end
endmodule'Verilog > HDLbits' 카테고리의 다른 글
| [HDLBits] Exams/review2015 fancytimer (0) | 2026.05.31 |
|---|---|
| [HDLBits] Exams/review2015 fsm (0) | 2026.05.31 |
| [HDLBits] Exams/review2015 shiftcount (0) | 2026.05.31 |
| [HDLBits] Exams/review2015 shiftcount (0) | 2026.05.31 |
| [HDLBits] Exams/review2015 count1k (0) | 2026.05.31 |