None of the switch debouncing methods that we have discussed are particularly
well-suited to use with an FPGA and the push-button switches we have in lab.
While not requiring discrete resistors, the software-like (counter based) method
we settled on uses a lot of resources -- a least one flip flop for each bit of
the counter. This is merely a field-expedient that we are using to get the
job done in our particular case where we have lots of extra capacity on our
FPGA.
A
better method
(which you are not allowed to use until you can convince me that you understand
it) is disussed
here. We will cover the
material that you need to understand this in several weeks, but you should know
that there is a better way.
For more info on typical switch bounce, you should read
this article.
Both EDN and embedded.com are excellent resources. Time spent browsing their web
sites or print magazines is rarely wasted.