Home
Welcome
Information


FPGA projects
Basic
Music box
LED displays
Pong game
R/C servos
Text LCD module
Quadrature decoder
PWM and one-bit DAC
Debouncer
Crossing clock domains
External contributions

Interfaces
RS-232
JTAG
I2C
EPP
SPI
PCI
PCI Express
10BASE-T

Advanced
Digital oscilloscope
Graphic LCD panel
Direct Digital Synthesis
CNC steppers
Spoc CPU core

Hands-on
A simple oscilloscope


FPGA introduction
What are FPGAs?
How FPGAs work
Internal RAM
FPGA pins
Clocks and global lines
Download cables
Configuration
Learn more

FPGA software
Design software
Pin assignment
Design-entry/HDL
Simulation/HDL
Synthesis and P&R

FPGA electronic
SMD technology
Crystals and oscillators

HDL info
HDL tutorials
Verilog tips
VHDL tips

Quick-start guides
ISE
Quartus

Site
News
FPGA links
HDL tutorials
Forum


Debouncer - The problem

Let's say you want to connect a switch to an FPGA.
You might build something like that:

But the problem with mechanical switches is that... they bounce!
When you press the push-button, you might get lucky and get something like that:

That's rare. More common are these...

FPGA counter

Now let's say you implement a counter inside your FPGA.
You add a display to see what's going on.

Power-on, things look good.

You press the push-button 10 times, and...

Not nice.



>>> NEXT: Debouncer - The solution >>>



This page was last updated on May 20 2006.