1. 문제 및 설명
- 이 문제는 복잡한 카운터를 만들기 위한 5단계 중 첫번째 단계입니다.
2. 요구사항
A. 4비트 시프트 레지스터이자 다운 카운터 역할을 하는 회로를 설계하시오.
- shift_ena가 1일 때, 데이터는 최상위 비트 부터 순서대로 시프트 됩니다.
- count_ena가 1일 때, 시프트 레지스터에 저장된 현재 값은 1씩 감소합니다.
- 전체 시스템에서 shift_ena와 count_ena가 동시에 1이 되는 경우는 없습니다.
3. 모듈 정의
module top_module (
input clk,
input shift_ena,
input count_ena,
input data,
output [3:0] q);
4. 답
module top_module (
input clk,
input shift_ena,
input count_ena,
input data,
output [3:0] q);
always@(posedge clk)
begin
if(shift_ena == 1)
q <= {q[2:0], data};
else if(count_ena)
q <= q - 1'b1;
else
q <= q;
end
endmodule'Verilog > HDLbits' 카테고리의 다른 글
| [HDLBits] Exams/review2015 shiftcount (0) | 2026.05.31 |
|---|---|
| [HDLBits] Exams/review2015 shiftcount (0) | 2026.05.31 |
| [HDLBits] Exams/review2015 count1k (0) | 2026.05.31 |
| [HDLBits] Exams/2013 q2bfsm (0) | 2026.05.17 |
| [HDLBits] Exams/2013 q2afsm (0) | 2026.05.17 |