티스토리 뷰

Language/Verilog HDL

Verilog HDL - Sec counter

ShinyOcean 2021. 1. 29. 14:28

Verilog HDL를 주제로 한 다섯번째 포스팅에서 다룰 내용은 1초마다 업카운팅 시켜주며 60카운팅시 캐리를 발생시키는 Sec counter(초 시계)입니다

 

 

 

지난 포스팅까지 보드에 있는 오실레이터에서 50MHz의 입력을 인풋으로

진동수 1Hz를 발생시키는 Clock generator와

MOD값의 이전값까지 카운팅을 해주고 MOD값이 되었을떄 carry를 발생시키는

counter를 설계했습니다.

 

이번 포스팅은 Binary코드를 7-segment로 표현 하게 해주는 Binary to 7-segment 모듈을 설계한후

앞서 설계한 Clock generator와 counter를 엮어서 sec counter를 설계하고

그 결과를  Binary to 7-segment 모듈을 이용하여 DE2보드에서 확인해 보겠습니다.

 

먼저 Binary to 7-segment 모듈입니다.

 

Binary_to_BCD모듈을 통해 BCD아웃풋 3가지를 얻습니다(1의자리, 10자리, 100의자리)

그리고 각자리의 BCD코드를 BCD_to_SevenSeg 모듈을 통하여 7-segment 에서표현가능한

신호로 만든후 세신호를 아웃풋으로 내보내줍니다.

 

Verilog HDL code)

 

module binary_to_seven_seg(input [7:0] binary_in, output reg [6:0] HUNDREDS, TENS, ONES);

wire [3:0] BCD_H, BCD_T, BCD_O;
Binary_to_BCD U1 (.binary_in(binary_in), .H(BCD_H), .T(BCD_T), .O(BCD_O));
BCD_to_SevenSeg U2(.BCD_in(BCD_H), .DISPLAY(HUNDREDS));
BCD_to_SevenSeg U3(.BCD_in(BCD_T), .DISPLAY(TENS));
BCD_to_SevenSeg U4(.BCD_in(BCD_O), .DISPLAY(ONES));

endmodule

 

 

다음은 sec_counter를 설계해보겠습니다.

 

들어오는 CLk값은 sec_counter이기 때문에 input CLK_1Hz라 하였습니다.

또 리셋값으로 RST를 인풋으로 선언해줍니다.

아웃풋으로 캐리와 카운트 아웃값을 보내줍니다.

 

아웃풋은 0부터 59까지의 2진수 값이기때문에 (2의 6승)-1까지인

6비트로 아웃풋을 잡고 카운트 아웃값을 선언하여주었습니다.

나머지는 MOD 60카운터로 만들어둔 counter에 값을 넣어주고 끝냈습니다.

 

Verilog HDL code)

 

module clock_sec (RST , count_out, CLK_1Hz, carry_to_min);

input RST;
output [5:0]count_out;
input CLK_1Hz;
output carry_to_min;

counter U2 (.clk(CLK_1Hz),.rst(RST), .count_out(count_out), .carry_out(carry_to_min));

endmodule

 

 

아래의 데모 사진은 사실 min_counter(분 시계)까지 설계를 마친 후이지만 데모 사진으로

첨부하겠습니다.  min_counter경우 sec_counter의 carry값을 clk으로 사용하여 동일하게 만들면

sec_counter와 설계과정이 똑같습니다.

 

 

'Language > Verilog HDL' 카테고리의 다른 글

Verilog HDL - Digital_clock(am/pm)  (1) 2021.02.03
Verilog HDL - Digital_clock(basic)  (0) 2021.02.01
Verilog HDL - Clock Generator  (1) 2021.01.29
Verilog HDL - Counter  (0) 2021.01.29
Verilog HDL - BCD to SevenSegment  (1) 2021.01.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함