1. 문제 및 설명
- 1000 Hz 클록으로부터 1 Hz 신호를 생성하시오.
- OneHertz 신호는 매초 정확히 한 클록 사이클 동안만 활성화 되어야 한다.
- 주파수 분주기는 bcdcount 사용하여 구성하되, 추가적인 논리 게이트 수는 최소화하시오.
- 사용한 각 BCD 카웉너에 대한 Enable 신호를 출력하시
- 아래에 정의된 BCD 카운터 모듈이 제공된다.
- Enable 신호가 high일 때만 카운터가 동작한다.
- Reset은 동기식이며, high로 설정하면 카운터를 0으로 초기화한다.
- bcdcount
module bcdcount (
input clk,
input reset,
input enable,
output reg [3:0] Q
);
2. 모듈 정의
module top_module (
input clk,
input reset,
output OneHertz,
output [2:0] c_enable
);
3. 답
module top_module (
input clk,
input reset,
output OneHertz,
output [2:0] c_enable
); //
wire [3:0] Q [0:2];
bcdcount counter0 (clk, reset, c_enable[0], Q[0]);
bcdcount counter1 (clk, reset, c_enable[1], Q[1]);
bcdcount counter2 (clk, reset, c_enable[2], Q[2]);
assign c_enable[0] = 1'b1;
assign c_enable[1] = (Q[0] == 9);
assign c_enable[2] = (Q[1] == 9)&(Q[0] == 9);
assign OneHertz = (Q[2]==9)&(Q[1] == 9)&(Q[0] == 9);
endmodule
'Verilog > HDLbits' 카테고리의 다른 글
| [HDLBits] Count clock (0) | 2026.01.14 |
|---|---|
| [HDLBits] Countbcd (0) | 2026.01.14 |
| [HDLBits] Exams/ece241 2014 q7a (0) | 2026.01.06 |
| [HDLBits] Countslow (0) | 2026.01.05 |
| [HDLBits] Count1to10 (0) | 2026.01.05 |