«   2026/02   »
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
Archives
관리 메뉴

printf("ho_tari\n");

3일차 본문

2025.07.02

 

button debounce

 

FPGA의 버튼을 누를 때 단일 펄스만 생성하도록 Verilog에 간단한 디바운싱 회로를 구현

FPGA의 버튼에 대한 디바운싱 회로

100Mhz → 8Hz

100M / 8 = 12,500,000 cycles

12,500,000 / 2 = 6,250,000 (10us * 62500개)

 

FPGA의 버튼을 눌렀다 놓으면 푸시 버튼 신호에서 예기치 않은 위아래 바운스가 많이 발생

디바운싱 회로는 예상대로 바운싱 없이 CLOCK 기간을 가진 단일 pulse만 생성

디바운싱 회로의 예상 파형

 

btnC를 1번 눌렀다 떼면 led가 on ↔ off toggle

 

Debouncer

버튼 등의 스위치를 누르면 노이즈가 있는 신호가 발생

Debouncer : 기계적 진동 때문에 1이나 0으로 안정된 값을 바로 갖지 못하므로 이러한 채터(chatter) 또는 바운스(bounce)를 제거

- 값이 바뀔 때 여러 번 진동하므로 일정 시간 동안 값이 바뀌지 않는 경우 안정된 값으로 출력

- 스위치에 따라서 다르지만 보통은 10ms 정도 값이 바뀌지 않으면 값이 안정

- 신호 in이 0에서 1로 바뀔 때 1의 값이 10ms 동안 바뀌지 않으면 out을 1로 출력

- 반대의 경우도 마찬가지로 1에서 0으로 바뀔 때 in이 10ms동안 0을 유지한다면 out을 0으로 출력

 

https://github.com/SE0NGH0/AI_Verilog_HDL/tree/main/03.btn_debounce

 

 

0702 verilog 과제 박성호.pptx
6.13MB

'(Telechips) AI 시스템 반도체 SW 개발자 교육 > Verilog HDL' 카테고리의 다른 글

8일차  (0) 2025.07.09
6일차  (0) 2025.07.07
4일차  (0) 2025.07.04
2일차  (0) 2025.07.02
1일차  (0) 2025.06.30